@voiceflow/slate-serializer 1.4.0 → 1.4.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.
@@ -35,32 +35,33 @@ const serializeTextNode = (node, index) => {
35
35
  const styles = (0, selectors_1.getTextCSSProperties)(node);
36
36
  return (react_1.default.createElement("span", { key: index, style: styles }, node.text || react_1.default.createElement(react_1.default.Fragment, null, "\uFEFF")));
37
37
  };
38
- const serializeLinkElement = (node, index) => {
39
- var _a;
40
- const children = node.children.map(serializeNode);
38
+ const serializeLinkElement = (node, index, options) => {
39
+ var _a, _b, _c, _d;
40
+ const children = node.children.map(serializeNodeFactory(options));
41
41
  const styles = (0, selectors_1.getElementCSSProperties)(node);
42
- return (react_1.default.createElement("a", { key: index, rel: "noopener noreferrer", href: (_a = node.url) !== null && _a !== void 0 ? _a : '', target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
42
+ const href = (_d = (_c = (_a = options === null || options === void 0 ? void 0 : options.transformHref) === null || _a === void 0 ? void 0 : _a.call(options, (_b = node.url) !== null && _b !== void 0 ? _b : '')) !== null && _c !== void 0 ? _c : node.url) !== null && _d !== void 0 ? _d : '';
43
+ return (react_1.default.createElement("a", { key: index, rel: "noopener noreferrer", href: href, target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
43
44
  var _a;
44
45
  event.stopPropagation();
45
46
  event.preventDefault();
46
- if (node.url) {
47
- (_a = window.open(node.url, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
47
+ if (href) {
48
+ (_a = window.open(href, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
48
49
  }
49
50
  } }, children));
50
51
  };
51
52
  const serializeVariableElement = (node, index) => react_1.default.createElement("span", { key: index }, `{${node.name}}`);
52
- const serializeElementNode = (node, index) => {
53
+ const serializeElementNode = (node, index, options) => {
53
54
  if ((0, guards_1.isLinkElement)(node))
54
- return serializeLinkElement(node, index);
55
+ return serializeLinkElement(node, index, options);
55
56
  if ((0, guards_1.isVariableElement)(node))
56
57
  return serializeVariableElement(node, index);
57
- const children = node.children.map(serializeNode);
58
+ const children = node.children.map(serializeNodeFactory(options));
58
59
  const styles = (0, selectors_1.getElementCSSProperties)(node);
59
60
  return (react_1.default.createElement("div", { key: index, style: styles }, children));
60
61
  };
61
- const serializeNode = (node, index) =>
62
+ const serializeNodeFactory = (options) => (node, index) =>
62
63
  // eslint-disable-next-line no-nested-ternary
63
- Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index) : null;
64
- const serializeToJSX = (content) => content.map(serializeNode);
64
+ Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index, options) : null;
65
+ const serializeToJSX = (content, options) => content.map(serializeNodeFactory(options));
65
66
  exports.serializeToJSX = serializeToJSX;
66
67
  //# sourceMappingURL=jsx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.cjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,6CAA+B;AAE/B,sCAA6D;AAC7D,4CAA6E;AAE7E,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,KAAa,EAAmB,EAAE;IAChF,MAAM,MAAM,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC;IAE1C,OAAO,CACL,wCAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAC5B,IAAI,CAAC,IAAI,IAAI,uEAAa,CACtB,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAA0B,EAAE,KAAa,EAAmB,EAAE;;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAA,mCAAuB,EAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,qCACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAC,qBAAqB,EACzB,IAAI,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,EACpB,MAAM,EAAC,QAAQ,EACf,KAAK,kCAAO,MAAM,KAAE,aAAa,EAAE,KAAK,KACxC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;;YACjB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,MAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,+BAA+B,CAAC,0CAAE,KAAK,EAAE,CAAC;aAC3E;QACH,CAAC,IAEA,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,IAA8B,EAAE,KAAa,EAAE,EAAE,CAAC,wCAAM,GAAG,EAAE,KAAK,IAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAQ,CAAC;AAEhI,MAAM,oBAAoB,GAAG,CAAC,IAAyB,EAAE,KAAa,EAAmB,EAAE;IACzF,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC;QAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC;QAAE,OAAO,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAA,mCAAuB,EAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,uCAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAC3B,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAyB,EAAE,KAAa,EAAmB,EAAE;AAClF,6CAA6C;AAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE/H,MAAM,cAAc,GAAG,CAAC,OAAgC,EAAmB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAAnG,QAAA,cAAc,kBAAqF"}
1
+ {"version":3,"file":"jsx.cjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { BaseText } from '@voiceflow/base-types';
2
2
  import React from 'react';
3
- export declare const serializeToJSX: (content: BaseText.SlateTextValue) => React.ReactNode;
3
+ interface SerializeOptions {
4
+ transformHref?: (href: string) => string;
5
+ }
6
+ export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?: SerializeOptions) => React.ReactNode;
7
+ export {};
@@ -33,7 +33,7 @@ const nodeToString = (node, options) => {
33
33
  return `[${(0, exports.serializeToText)(node.children)}](${node.url})`;
34
34
  if ((0, guards_1.isVariableElement)(node) && options.encodeVariables)
35
35
  return `{${node.name}}`;
36
- return nodesToString(node.children, options).join(' ');
36
+ return nodesToString(node.children, options).join('');
37
37
  };
38
38
  const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
39
39
  const serializeToText = (content, { encodeVariables = true, markdownLinks = false } = {}) => nodesToString(content, { encodeVariables, markdownLinks }).join('\n').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"text.cjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAE/B,sCAA6D;AAE7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;IACzF,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;IAC5G,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAEhF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAO5I,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,KAA4B,EAAE,EACrE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAH7E,QAAA,eAAe,mBAG8D"}
1
+ {"version":3,"file":"text.cjs","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAE/B,sCAA6D;AAE7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;IACzF,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;IAC5G,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAEhF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAO5I,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,KAA4B,EAAE,EACrE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAH7E,QAAA,eAAe,mBAG8D"}
@@ -1,2 +1,2 @@
1
1
  import CSS from 'csstype';
2
- export declare type CSSProperties = CSS.Properties<string | number>;
2
+ export type CSSProperties = CSS.Properties<string | number>;
@@ -1,3 +1,7 @@
1
1
  import { BaseText } from '@voiceflow/base-types';
2
2
  import React from 'react';
3
- export declare const serializeToJSX: (content: BaseText.SlateTextValue) => React.ReactNode;
3
+ interface SerializeOptions {
4
+ transformHref?: (href: string) => string;
5
+ }
6
+ export declare const serializeToJSX: (content: BaseText.SlateTextValue, options?: SerializeOptions) => React.ReactNode;
7
+ export {};
@@ -6,31 +6,32 @@ const serializeTextNode = (node, index) => {
6
6
  const styles = getTextCSSProperties(node);
7
7
  return (React.createElement("span", { key: index, style: styles }, node.text || React.createElement(React.Fragment, null, "\uFEFF")));
8
8
  };
9
- const serializeLinkElement = (node, index) => {
10
- var _a;
11
- const children = node.children.map(serializeNode);
9
+ const serializeLinkElement = (node, index, options) => {
10
+ var _a, _b, _c, _d;
11
+ const children = node.children.map(serializeNodeFactory(options));
12
12
  const styles = getElementCSSProperties(node);
13
- return (React.createElement("a", { key: index, rel: "noopener noreferrer", href: (_a = node.url) !== null && _a !== void 0 ? _a : '', target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
13
+ const href = (_d = (_c = (_a = options === null || options === void 0 ? void 0 : options.transformHref) === null || _a === void 0 ? void 0 : _a.call(options, (_b = node.url) !== null && _b !== void 0 ? _b : '')) !== null && _c !== void 0 ? _c : node.url) !== null && _d !== void 0 ? _d : '';
14
+ return (React.createElement("a", { key: index, rel: "noopener noreferrer", href: href, target: "_blank", style: Object.assign(Object.assign({}, styles), { pointerEvents: 'all' }), onClick: (event) => {
14
15
  var _a;
15
16
  event.stopPropagation();
16
17
  event.preventDefault();
17
- if (node.url) {
18
- (_a = window.open(node.url, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
18
+ if (href) {
19
+ (_a = window.open(href, '_blank', 'noopener=true,noreferrer=true')) === null || _a === void 0 ? void 0 : _a.focus();
19
20
  }
20
21
  } }, children));
21
22
  };
22
23
  const serializeVariableElement = (node, index) => React.createElement("span", { key: index }, `{${node.name}}`);
23
- const serializeElementNode = (node, index) => {
24
+ const serializeElementNode = (node, index, options) => {
24
25
  if (isLinkElement(node))
25
- return serializeLinkElement(node, index);
26
+ return serializeLinkElement(node, index, options);
26
27
  if (isVariableElement(node))
27
28
  return serializeVariableElement(node, index);
28
- const children = node.children.map(serializeNode);
29
+ const children = node.children.map(serializeNodeFactory(options));
29
30
  const styles = getElementCSSProperties(node);
30
31
  return (React.createElement("div", { key: index, style: styles }, children));
31
32
  };
32
- const serializeNode = (node, index) =>
33
+ const serializeNodeFactory = (options) => (node, index) =>
33
34
  // eslint-disable-next-line no-nested-ternary
34
- Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index) : null;
35
- export const serializeToJSX = (content) => content.map(serializeNode);
35
+ Slate.Text.isText(node) ? serializeTextNode(node, index) : Slate.Element.isElement(node) ? serializeElementNode(node, index, options) : null;
36
+ export const serializeToJSX = (content, options) => content.map(serializeNodeFactory(options));
36
37
  //# sourceMappingURL=jsx.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.mjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,KAAa,EAAmB,EAAE;IAChF,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1C,OAAO,CACL,8BAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAC5B,IAAI,CAAC,IAAI,IAAI,mDAAa,CACtB,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAA0B,EAAE,KAAa,EAAmB,EAAE;;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,2BACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAC,qBAAqB,EACzB,IAAI,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,EACpB,MAAM,EAAC,QAAQ,EACf,KAAK,kCAAO,MAAM,KAAE,aAAa,EAAE,KAAK,KACxC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;;YACjB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,MAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,+BAA+B,CAAC,0CAAE,KAAK,EAAE,CAAC;aAC3E;QACH,CAAC,IAEA,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,IAA8B,EAAE,KAAa,EAAE,EAAE,CAAC,8BAAM,GAAG,EAAE,KAAK,IAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAQ,CAAC;AAEhI,MAAM,oBAAoB,GAAG,CAAC,IAAyB,EAAE,KAAa,EAAmB,EAAE;IACzF,IAAI,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,6BAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAC3B,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAyB,EAAE,KAAa,EAAmB,EAAE;AAClF,6CAA6C;AAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEtI,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgC,EAAmB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"jsx.mjs","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const nodeToString = (node, options) => {
7
7
  return `[${serializeToText(node.children)}](${node.url})`;
8
8
  if (isVariableElement(node) && options.encodeVariables)
9
9
  return `{${node.name}}`;
10
- return nodesToString(node.children, options).join(' ');
10
+ return nodesToString(node.children, options).join('');
11
11
  };
12
12
  const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
13
13
  export const serializeToText = (content, { encodeVariables = true, markdownLinks = false } = {}) => nodesToString(content, { encodeVariables, markdownLinks }).join('\n').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"text.mjs","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;AAE7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;IACzF,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;IAC5G,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAEhF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAOnJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,KAA4B,EAAE,EACrE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"text.mjs","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;AAE7D,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,OAA8B,EAAU,EAAE;IACzF,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;IAC5G,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAEhF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,OAA8B,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAOnJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,EAAE,eAAe,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,KAA4B,EAAE,EACrE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import CSS from 'csstype';
2
- export declare type CSSProperties = CSS.Properties<string | number>;
2
+ export type CSSProperties = CSS.Properties<string | number>;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@voiceflow/slate-serializer",
3
3
  "type": "module",
4
4
  "description": "Utilities for serializing slate data",
5
- "version": "1.4.0",
5
+ "version": "1.4.2",
6
6
  "author": "Ben Teichman",
7
7
  "bugs": {
8
8
  "url": "https://github.com/voiceflow/slate-serializer/issues"
@@ -13,41 +13,41 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "csstype": "^3.0.9"
16
+ "csstype": "3.1.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@commitlint/cli": "17.1.2",
19
+ "@commitlint/cli": "17.6.1",
20
20
  "@istanbuljs/nyc-config-typescript": "1.0.2",
21
- "@types/chai": "4.3.3",
22
- "@types/mocha": "9.1.1",
23
- "@types/react": "^17.0.2",
24
- "@voiceflow/base-types": "^2.67.0",
25
- "@voiceflow/commitlint-config": "2.0.0",
26
- "@voiceflow/eslint-config": "7.0.0",
21
+ "@types/chai": "4.3.5",
22
+ "@types/mocha": "10.0.1",
23
+ "@types/react": "18.2.4",
24
+ "@voiceflow/base-types": "2.81.13",
25
+ "@voiceflow/commitlint-config": "2.1.0",
26
+ "@voiceflow/eslint-config": "7.1.0",
27
27
  "@voiceflow/git-branch-check": "1.4.0",
28
- "@voiceflow/prettier-config": "1.2.1",
28
+ "@voiceflow/prettier-config": "1.3.0",
29
29
  "@voiceflow/tsconfig": "1.4.8",
30
- "chai": "4.3.6",
31
- "commitizen": "4.2.5",
30
+ "chai": "4.3.7",
31
+ "commitizen": "4.3.0",
32
32
  "cz-conventional-changelog": "^3.3.0",
33
33
  "depcheck": "1.4.3",
34
- "eslint": "8.24.0",
34
+ "eslint": "8.39.0",
35
35
  "eslint-output": "^3.0.1",
36
36
  "fixpack": "^4.0.0",
37
- "husky": "8.0.1",
37
+ "husky": "8.0.3",
38
38
  "istanbul": "^0.4.5",
39
- "lint-staged": "13.0.3",
40
- "mocha": "10.0.0",
39
+ "lint-staged": "13.1.2",
40
+ "mocha": "10.2.0",
41
41
  "nyc": "^15.1.0",
42
- "prettier": "2.7.1",
43
- "react": "^17.0.2",
44
- "slate": "^0.72.3",
42
+ "prettier": "2.8.8",
43
+ "react": "18.2.0",
44
+ "slate": "0.94.0",
45
45
  "source-map-support": "0.5.21",
46
46
  "ts-mocha": "10.0.0",
47
47
  "ts-node": "10.9.1",
48
- "tsc-alias": "1.7.0",
49
- "tsc-esm-fix": "2.20.7",
50
- "typescript": "^4.8.2"
48
+ "tsc-alias": "1.8.6",
49
+ "tsc-esm-fix": "2.20.13",
50
+ "typescript": "5.0.4"
51
51
  },
52
52
  "exports": {
53
53
  ".": {