@makeswift/runtime 0.7.17 → 0.7.19

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 (138) hide show
  1. package/dist/Box.cjs.js +1 -1
  2. package/dist/Box.es.js +1 -1
  3. package/dist/Button.cjs.js +2 -2
  4. package/dist/Button.es.js +2 -2
  5. package/dist/Carousel.cjs.js +3 -3
  6. package/dist/Carousel.es.js +3 -3
  7. package/dist/Countdown.cjs.js +3 -3
  8. package/dist/Countdown.es.js +3 -3
  9. package/dist/Divider.cjs.js +3 -3
  10. package/dist/Divider.es.js +3 -3
  11. package/dist/Embed.cjs.js +3 -3
  12. package/dist/Embed.es.js +3 -3
  13. package/dist/Form.cjs.js +1 -1
  14. package/dist/Form.es.js +1 -1
  15. package/dist/Image.cjs.js +3 -3
  16. package/dist/Image.es.js +3 -3
  17. package/dist/LiveProvider.cjs.js +3 -3
  18. package/dist/LiveProvider.es.js +3 -3
  19. package/dist/Navigation.cjs.js +3 -3
  20. package/dist/Navigation.es.js +3 -3
  21. package/dist/PreviewProvider.cjs.js +8 -8
  22. package/dist/PreviewProvider.cjs.js.map +1 -1
  23. package/dist/PreviewProvider.es.js +1 -1
  24. package/dist/ReadOnlyText.cjs.js +55 -55
  25. package/dist/ReadOnlyText.cjs.js.map +1 -1
  26. package/dist/ReadOnlyText.es.js +3 -3
  27. package/dist/Root.cjs.js +3 -3
  28. package/dist/Root.es.js +3 -3
  29. package/dist/SocialLinks.cjs.js +2 -2
  30. package/dist/SocialLinks.es.js +2 -2
  31. package/dist/Text.cjs.js +3 -3
  32. package/dist/Text.es.js +3 -3
  33. package/dist/Video.cjs.js +3 -3
  34. package/dist/Video.es.js +3 -3
  35. package/dist/builder.cjs.js +2 -2
  36. package/dist/builder.es.js +2 -2
  37. package/dist/components.cjs.js +1 -1
  38. package/dist/components.es.js +1 -1
  39. package/dist/constants.cjs.js +14 -14
  40. package/dist/constants.cjs.js.map +1 -1
  41. package/dist/constants.es.js +1 -1
  42. package/dist/control-serialization.cjs.js +41 -41
  43. package/dist/control-serialization.cjs.js.map +1 -1
  44. package/dist/control-serialization.es.js +1 -1
  45. package/dist/controls.cjs.js +46 -44
  46. package/dist/controls.cjs.js.map +1 -1
  47. package/dist/controls.es.js +2 -2
  48. package/dist/{rich-text.cjs.js → descriptors.cjs.js} +476 -459
  49. package/dist/descriptors.cjs.js.map +1 -0
  50. package/dist/{rich-text.es.js → descriptors.es.js} +467 -452
  51. package/dist/descriptors.es.js.map +1 -0
  52. package/dist/index.cjs.js +243 -210
  53. package/dist/index.cjs.js.map +1 -1
  54. package/dist/index.cjs2.js +1 -1
  55. package/dist/index.cjs5.js +16 -16
  56. package/dist/index.cjs5.js.map +1 -1
  57. package/dist/index.cjs6.js +3 -3
  58. package/dist/index.cjs7.js +35 -35
  59. package/dist/index.cjs7.js.map +1 -1
  60. package/dist/index.es.js +46 -13
  61. package/dist/index.es.js.map +1 -1
  62. package/dist/index.es2.js +1 -1
  63. package/dist/index.es5.js +1 -1
  64. package/dist/index.es6.js +3 -3
  65. package/dist/index.es7.js +1 -1
  66. package/dist/introspection.cjs.js +22 -22
  67. package/dist/introspection.cjs.js.map +1 -1
  68. package/dist/introspection.es.js +1 -1
  69. package/dist/main.cjs.js +1 -1
  70. package/dist/main.es.js +1 -1
  71. package/dist/next.cjs.js +3 -3
  72. package/dist/next.es.js +3 -3
  73. package/dist/prop-controllers.cjs.js +5 -5
  74. package/dist/prop-controllers.es.js +2 -2
  75. package/dist/react.cjs.js +3 -3
  76. package/dist/react.es.js +3 -3
  77. package/dist/slate.cjs.js +4 -4
  78. package/dist/slate.es.js +4 -4
  79. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  80. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  81. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +0 -1
  82. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  83. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +0 -1
  84. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  85. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +0 -1
  86. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  87. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +0 -1
  88. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  89. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +0 -1
  90. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  91. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +0 -1
  92. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  93. package/dist/types/src/components/builtin/SocialLinks/options.d.ts +0 -1
  94. package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -1
  95. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +0 -1
  96. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -1
  97. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts +0 -1
  98. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +1 -1
  99. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +0 -1
  100. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -1
  101. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +0 -1
  102. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
  103. package/dist/types/src/components/page/Page.d.ts +0 -1
  104. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  105. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +0 -1
  106. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  107. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +0 -1
  108. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  109. package/dist/types/src/controls/control.d.ts +3 -2
  110. package/dist/types/src/controls/control.d.ts.map +1 -1
  111. package/dist/types/src/controls/shape.d.ts +1 -1
  112. package/dist/types/src/controls/shape.d.ts.map +1 -1
  113. package/dist/types/src/controls/style.d.ts +17 -0
  114. package/dist/types/src/controls/style.d.ts.map +1 -1
  115. package/dist/types/src/next/api-handler.d.ts.map +1 -1
  116. package/dist/types/src/next/document.d.ts +0 -1
  117. package/dist/types/src/next/document.d.ts.map +1 -1
  118. package/dist/types/src/next/preview-mode.d.ts +0 -1
  119. package/dist/types/src/next/preview-mode.d.ts.map +1 -1
  120. package/dist/types/src/prop-controllers/descriptors.d.ts +1 -2
  121. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  122. package/dist/types/src/prop-controllers/instances.d.ts +3 -3
  123. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
  124. package/dist/types/src/runtimes/react/components/render-hook.d.ts +0 -1
  125. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
  126. package/dist/types/src/runtimes/react/controls/control.d.ts +3 -3
  127. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  128. package/dist/types/src/runtimes/react/controls/list.d.ts +0 -1
  129. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  130. package/dist/types/src/runtimes/react/controls/shape.d.ts +0 -1
  131. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  132. package/dist/types/src/runtimes/react/controls/style.d.ts +2 -2
  133. package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -1
  134. package/dist/types/src/runtimes/react/controls.d.ts +0 -1
  135. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  136. package/package.json +1 -1
  137. package/dist/rich-text.cjs.js.map +0 -1
  138. package/dist/rich-text.es.js.map +0 -1
@@ -33,7 +33,7 @@ var __objRest = (source, exclude) => {
33
33
  var React = require("react");
34
34
  var next = require("./index.cjs.js");
35
35
  require("use-sync-external-store/shim");
36
- require("./rich-text.cjs.js");
36
+ require("./descriptors.cjs.js");
37
37
  require("slate");
38
38
  require("slate-react");
39
39
  var css = require("@emotion/css");
@@ -20,7 +20,7 @@ var __spreadValues = (a, b) => {
20
20
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
21
  var slate = require("slate");
22
22
  var isHotkey = require("is-hotkey");
23
- var richText = require("./rich-text.cjs.js");
23
+ var descriptors = require("./descriptors.cjs.js");
24
24
  require("slate-react");
25
25
  var leaf = require("./leaf.cjs.js");
26
26
  var next = require("./index.cjs.js");
@@ -32,25 +32,25 @@ const LIST_ITEM_CHILD_POSITION = 0;
32
32
  const LIST_ITEM_LIST_POSITION = 1;
33
33
  const ElementUtils = {
34
34
  isBlock(node) {
35
- return slate.Element.isElement(node) && (slate.Element.isElementType(node, richText.BlockType.Paragraph) || slate.Element.isElementType(node, richText.BlockType.Heading1) || slate.Element.isElementType(node, richText.BlockType.Heading2) || slate.Element.isElementType(node, richText.BlockType.Heading3) || slate.Element.isElementType(node, richText.BlockType.Heading3) || slate.Element.isElementType(node, richText.BlockType.Heading4) || slate.Element.isElementType(node, richText.BlockType.Heading5) || slate.Element.isElementType(node, richText.BlockType.Heading6) || slate.Element.isElementType(node, richText.BlockType.BlockQuote) || slate.Element.isElementType(node, richText.BlockType.UnorderedList) || slate.Element.isElementType(node, richText.BlockType.OrderedList) || slate.Element.isElementType(node, richText.BlockType.ListItem) || slate.Element.isElementType(node, richText.BlockType.ListItemChild));
35
+ return slate.Element.isElement(node) && (slate.Element.isElementType(node, descriptors.BlockType.Paragraph) || slate.Element.isElementType(node, descriptors.BlockType.Heading1) || slate.Element.isElementType(node, descriptors.BlockType.Heading2) || slate.Element.isElementType(node, descriptors.BlockType.Heading3) || slate.Element.isElementType(node, descriptors.BlockType.Heading3) || slate.Element.isElementType(node, descriptors.BlockType.Heading4) || slate.Element.isElementType(node, descriptors.BlockType.Heading5) || slate.Element.isElementType(node, descriptors.BlockType.Heading6) || slate.Element.isElementType(node, descriptors.BlockType.BlockQuote) || slate.Element.isElementType(node, descriptors.BlockType.UnorderedList) || slate.Element.isElementType(node, descriptors.BlockType.OrderedList) || slate.Element.isElementType(node, descriptors.BlockType.ListItem) || slate.Element.isElementType(node, descriptors.BlockType.ListItemChild));
36
36
  },
37
37
  isInline(node) {
38
- return slate.Element.isElement(node) && (slate.Element.isElementType(node, richText.InlineType.Link) || slate.Element.isElementType(node, richText.InlineType.Link) || slate.Element.isElementType(node, richText.InlineType.SubScript) || slate.Element.isElementType(node, richText.InlineType.SuperScript));
38
+ return slate.Element.isElement(node) && (slate.Element.isElementType(node, descriptors.InlineType.Link) || slate.Element.isElementType(node, descriptors.InlineType.Link) || slate.Element.isElementType(node, descriptors.InlineType.SubScript) || slate.Element.isElementType(node, descriptors.InlineType.SuperScript));
39
39
  },
40
40
  isConvertibleToListTextNode(node) {
41
41
  return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node);
42
42
  },
43
43
  isParagraph(node) {
44
- return slate.Element.isElementType(node, richText.BlockType.Paragraph);
44
+ return slate.Element.isElementType(node, descriptors.BlockType.Paragraph);
45
45
  },
46
46
  isList(node) {
47
- return slate.Element.isElementType(node, richText.BlockType.OrderedList) || slate.Element.isElementType(node, richText.BlockType.UnorderedList);
47
+ return slate.Element.isElementType(node, descriptors.BlockType.OrderedList) || slate.Element.isElementType(node, descriptors.BlockType.UnorderedList);
48
48
  },
49
49
  isListItem(node) {
50
- return slate.Element.isElementType(node, richText.BlockType.ListItem);
50
+ return slate.Element.isElementType(node, descriptors.BlockType.ListItem);
51
51
  },
52
52
  isListItemChild(node) {
53
- return slate.Element.isElementType(node, richText.BlockType.ListItemChild);
53
+ return slate.Element.isElementType(node, descriptors.BlockType.ListItemChild);
54
54
  },
55
55
  createText() {
56
56
  return { text: "" };
@@ -58,22 +58,22 @@ const ElementUtils = {
58
58
  createParagraph() {
59
59
  return {
60
60
  children: [this.createText()],
61
- type: richText.BlockType.Paragraph
61
+ type: descriptors.BlockType.Paragraph
62
62
  };
63
63
  },
64
- createList(type = richText.BlockType.UnorderedList) {
64
+ createList(type = descriptors.BlockType.UnorderedList) {
65
65
  return { children: [this.createText()], type };
66
66
  },
67
67
  createListItem() {
68
68
  return {
69
69
  children: [this.createListItemChild()],
70
- type: richText.BlockType.ListItem
70
+ type: descriptors.BlockType.ListItem
71
71
  };
72
72
  },
73
73
  createListItemChild() {
74
74
  return {
75
75
  children: [this.createText()],
76
- type: richText.BlockType.ListItemChild
76
+ type: descriptors.BlockType.ListItemChild
77
77
  };
78
78
  }
79
79
  };
@@ -206,7 +206,7 @@ function unwrapPath(editor, listItemPath) {
206
206
  slate.Transforms.liftNodes(editor, { at: slate.Path.next(listItemPath) });
207
207
  }
208
208
  if (slate.Node.has(editor, listItemTextPath)) {
209
- slate.Transforms.setNodes(editor, { type: richText.BlockType.Paragraph }, {
209
+ slate.Transforms.setNodes(editor, { type: descriptors.BlockType.Paragraph }, {
210
210
  at: listItemTextPath
211
211
  });
212
212
  slate.Transforms.liftNodes(editor, { at: listItemTextPath });
@@ -227,7 +227,7 @@ function unwrapList(editor) {
227
227
  ref.unref();
228
228
  });
229
229
  }
230
- function wrapList(editor, options = { type: richText.BlockType.UnorderedList }) {
230
+ function wrapList(editor, options = { type: descriptors.BlockType.UnorderedList }) {
231
231
  if (!editor.selection)
232
232
  return;
233
233
  const nonListEntries = Array.from(slate.Editor.nodes(editor, {
@@ -241,7 +241,7 @@ function wrapList(editor, options = { type: richText.BlockType.UnorderedList })
241
241
  const path = ref.current;
242
242
  if (path) {
243
243
  slate.Editor.withoutNormalizing(editor, () => {
244
- slate.Transforms.setNodes(editor, { type: richText.BlockType.ListItemChild }, {
244
+ slate.Transforms.setNodes(editor, { type: descriptors.BlockType.ListItemChild }, {
245
245
  at: path
246
246
  });
247
247
  slate.Transforms.wrapNodes(editor, ElementUtils.createListItem(), {
@@ -255,7 +255,7 @@ function wrapList(editor, options = { type: richText.BlockType.UnorderedList })
255
255
  ref.unref();
256
256
  });
257
257
  }
258
- function toggleList(editor, options = { type: richText.BlockType.UnorderedList }) {
258
+ function toggleList(editor, options = { type: descriptors.BlockType.UnorderedList }) {
259
259
  if (!editor.selection)
260
260
  return;
261
261
  const start = LocationUtils.getStartPath(editor.selection);
@@ -346,7 +346,7 @@ function withList(editor) {
346
346
  if (slate.Node.has(editor, pathToListItemText)) {
347
347
  const nodeInListItemTextPosition = slate.Node.get(editor, pathToListItemText);
348
348
  if (ElementUtils.isParagraph(nodeInListItemTextPosition)) {
349
- slate.Transforms.setNodes(editor, { type: richText.BlockType.ListItemChild }, {
349
+ slate.Transforms.setNodes(editor, { type: descriptors.BlockType.ListItemChild }, {
350
350
  at: pathToListItemText
351
351
  });
352
352
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs5.js","sources":["../src/slate/ListPlugin/constants.ts","../src/slate/utils/element.ts","../src/slate/utils/editor.ts","../src/slate/ListPlugin/utils/filterForSubtreeRoots.ts","../src/slate/ListPlugin/utils/location.ts","../src/slate/ListPlugin/utils/getSelectedListItems.ts","../src/slate/ListPlugin/indent.ts","../src/slate/ListPlugin/dedent.ts","../src/slate/ListPlugin/unwrapList.ts","../src/slate/ListPlugin/wrapList.ts","../src/slate/ListPlugin/toggleList.ts","../src/slate/ListPlugin/index.ts","../src/slate/TypographyPlugin/clearActiveTypographyStyle.ts","../src/slate/TypographyPlugin/clearDeviceActiveTypography.ts","../src/slate/TypographyPlugin/detachActiveTypography.ts","../src/slate/TypographyPlugin/setActiveTypographyId.ts","../src/slate/TypographyPlugin/setActiveTypographyStyle.ts","../src/slate/TypographyPlugin/index.ts","../src/slate/BlockPlugin/setBlockKeyForDevice.ts","../src/slate/BlockPlugin/clearBlockKeyForDevice.ts","../src/slate/BlockPlugin/index.ts"],"sourcesContent":["export const LIST_ITEM_CHILD_POSITION = 0\nexport const LIST_ITEM_LIST_POSITION = 1\n","import { Node, Element } from 'slate'\nimport {\n BlockType,\n Block,\n ParagraphElement,\n OrderedListElement,\n UnorderedListElement,\n ListItemElement,\n ListItemChildElement,\n Inline,\n InlineType,\n} from '../../controls'\n\nexport const ElementUtils = {\n isBlock(node: Node): node is Block {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, BlockType.Paragraph) ||\n Element.isElementType(node, BlockType.Heading1) ||\n Element.isElementType(node, BlockType.Heading2) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading4) ||\n Element.isElementType(node, BlockType.Heading5) ||\n Element.isElementType(node, BlockType.Heading6) ||\n Element.isElementType(node, BlockType.BlockQuote) ||\n Element.isElementType(node, BlockType.UnorderedList) ||\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.ListItem) ||\n Element.isElementType(node, BlockType.ListItemChild))\n )\n },\n isInline(node: Node): node is Inline {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, InlineType.Link) ||\n Element.isElementType(node, InlineType.Link) ||\n Element.isElementType(node, InlineType.SubScript) ||\n Element.isElementType(node, InlineType.SuperScript))\n )\n },\n isConvertibleToListTextNode(node: Node) {\n return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node)\n },\n isParagraph(node: Node): node is ParagraphElement {\n return Element.isElementType(node, BlockType.Paragraph)\n },\n isList(node: Node): node is OrderedListElement | UnorderedListElement {\n return (\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.UnorderedList)\n )\n },\n isListItem(node: Node): node is ListItemElement {\n return Element.isElementType(node, BlockType.ListItem)\n },\n isListItemChild(node: Node): node is ListItemChildElement {\n return Element.isElementType(node, BlockType.ListItemChild)\n },\n createText() {\n return { text: '' }\n },\n createParagraph() {\n return {\n children: [this.createText()],\n type: BlockType.Paragraph,\n }\n },\n createList(type: BlockType = BlockType.UnorderedList): Block {\n return { children: [this.createText()], type }\n },\n createListItem(): Block {\n return {\n children: [this.createListItemChild()],\n type: BlockType.ListItem,\n }\n },\n createListItemChild(): Block {\n return {\n children: [this.createText()],\n type: BlockType.ListItemChild,\n }\n },\n}\n","import { Path, Editor, NodeEntry } from 'slate'\nimport { ListElement, ListItemElement } from '../../controls'\nimport { ElementUtils } from './element'\n\nexport const EditorUtils = {\n getFirstAncestorList(editor: Editor, path: Path): NodeEntry<ListElement> | null {\n const parentList = Editor.above(editor, {\n at: path,\n match: (node): node is ListElement => ElementUtils.isList(node),\n })\n return parentList ?? null\n },\n getFirstAncestorListItem(editor: Editor, path: Path): NodeEntry<ListItemElement> | null {\n const parentListItem = Editor.above(editor, {\n at: path,\n match: (node): node is ListItemElement => ElementUtils.isListItem(node),\n })\n\n return parentListItem ?? null\n },\n}\n","import type { Node, NodeEntry } from 'slate'\nimport { Path } from 'slate'\n\nexport function filterForSubtreeRoots(entries: NodeEntry<Node>[]): NodeEntry<Node>[] {\n return entries.filter(\n ([, nodePath]) =>\n !Path.ancestors(nodePath).some(ancestor => {\n return entries.some(([, path]) => Path.equals(path, ancestor))\n }),\n )\n}\n","import { Range, Point, Path, Location } from 'slate'\n\nexport const LocationUtils = {\n getStartPath(location: Location): Path {\n if (Range.isRange(location)) return Range.start(location).path\n if (Point.isPoint(location)) return location.path\n return location\n },\n}\n","import type { Element, NodeEntry } from 'slate'\nimport { Editor, Path } from 'slate'\nimport { EditorUtils } from '../../utils/editor'\nimport { ElementUtils } from '../../utils/element'\nimport { LocationUtils } from './location'\n\nexport function getSelectedListItems(editor: Editor): NodeEntry<Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const listItems = Editor.nodes(editor, {\n at: editor.selection,\n match: node => ElementUtils.isListItem(node),\n })\n const firstAncestorPath = EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? []\n\n return Array.from(listItems).filter((node): node is NodeEntry<Element> =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n\nexport function getSelectedLists(editor: Editor): NodeEntry<Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const lists = Editor.nodes(editor, {\n at: editor.selection,\n match: node => ElementUtils.isList(node),\n })\n const firstAncestorPath = EditorUtils.getFirstAncestorList(editor, start)?.[1] ?? []\n\n return Array.from(lists).filter((node): node is NodeEntry<Element> =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n","import { Editor, Node, Path, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function indentPath(editor: Editor, path: Path) {\n const parent = Node.parent(editor, path)\n if (!path || !Path.hasPrevious(path) || !ElementUtils.isList(parent)) return\n\n const previosPath = Path.previous(path)\n\n const previousChildListPath = [...previosPath, LIST_ITEM_LIST_POSITION]\n const previousHasChildList = Node.has(editor, previousChildListPath)\n\n Editor.withoutNormalizing(editor, () => {\n if (!previousHasChildList) {\n Transforms.insertNodes(editor, ElementUtils.createList(parent.type), {\n at: previousChildListPath,\n })\n }\n\n const previousChildList = Node.get(editor, previousChildListPath)\n\n if (ElementUtils.isList(previousChildList)) {\n const index = previousHasChildList ? previousChildList.children.length : 0\n Transforms.moveNodes(editor, {\n at: path,\n to: [...previousChildListPath, index],\n })\n }\n })\n}\n\nexport function indent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n indentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Path, Transforms } from 'slate'\nimport { indentPath } from './indent'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { EditorUtils } from '../utils/editor'\n\nfunction dedentPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n if (!parentList || !listItemContainingParentList) return\n\n const [parentListNode, parentListPath] = parentList\n const [_, listItemContainingParentListPath] = listItemContainingParentList\n\n const listItemPosition = listItemPath[listItemPath.length - 1]\n const previousSiblings = parentListNode.children.slice(0, listItemPosition)\n const nextSiblings = parentListNode.children.slice(listItemPosition + 1)\n\n Editor.withoutNormalizing(editor, () => {\n // put next siblings into list item\n nextSiblings.forEach(() => {\n const nextSiblingPath = [...parentListPath, listItemPosition + 1]\n indentPath(editor, nextSiblingPath)\n })\n // move list item to parent list\n Transforms.moveNodes(editor, {\n at: listItemPath,\n to: Path.next(listItemContainingParentListPath),\n })\n // delete old parent list if there are no other list items\n if (previousSiblings.length === 0) {\n Transforms.removeNodes(editor, { at: parentListPath })\n }\n })\n}\n\nexport function dedent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n dedentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Transforms, Path, Node } from 'slate'\nimport { BlockType } from '../../controls'\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function unwrapPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n //if this is a nested item we don't want to unwrap it\n if (!parentList || listItemContainingParentList) return\n\n Editor.withoutNormalizing(editor, () => {\n const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION]\n const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION]\n\n if (Node.has(editor, listItemNestedListPath)) {\n Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: Path.next(listItemPath) })\n }\n\n if (Node.has(editor, listItemTextPath)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.Paragraph },\n {\n at: listItemTextPath,\n },\n )\n Transforms.liftNodes(editor, { at: listItemTextPath })\n Transforms.liftNodes(editor, { at: listItemPath })\n }\n })\n}\n\nexport function unwrapList(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n unwrapPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Element, Transforms } from 'slate'\nimport { BlockType } from '../../controls'\nimport { ElementUtils } from '../utils/element'\n\ntype WrapListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n}\n\nexport function wrapList(\n editor: Editor,\n options: WrapListOptions = { type: BlockType.UnorderedList },\n) {\n if (!editor.selection) return\n\n const nonListEntries = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: node => {\n return Element.isElement(node) && ElementUtils.isConvertibleToListTextNode(node)\n },\n }),\n )\n\n const refs = nonListEntries.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n const path = ref.current\n if (path) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: path,\n },\n )\n Transforms.wrapNodes(editor, ElementUtils.createListItem(), {\n at: path,\n })\n Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {\n at: path,\n })\n })\n }\n ref.unref()\n })\n}\n","import { Editor, Node, Path, Transforms } from 'slate'\nimport { BlockType } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapList } from './unwrapList'\nimport { LocationUtils } from './utils/location'\nimport { wrapList } from './wrapList'\n\ntype ToggleListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n}\n\nexport function toggleList(\n editor: Editor,\n options: ToggleListOptions = { type: BlockType.UnorderedList },\n) {\n if (!editor.selection) return\n const start = LocationUtils.getStartPath(editor.selection)\n const ancestorPath = Path.ancestors(start).at(1)\n if (!ancestorPath || !Node.has(editor, ancestorPath)) return\n const ancestor = Node.get(editor, ancestorPath)\n\n if (!ElementUtils.isList(ancestor)) {\n return wrapList(editor, { type: options.type })\n }\n\n if (ancestor.type === options.type) {\n unwrapList(editor)\n } else {\n Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath })\n }\n}\n","import type { KeyboardEvent } from 'react'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { EditorUtils } from '../utils/editor'\nimport { ElementUtils } from '../utils/element'\nimport { dedent } from './dedent'\nimport { indent } from './indent'\nimport { toggleList } from './toggleList'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { BlockType } from '../../controls'\n\nexport const List = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => ElementUtils.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n List.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n List.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n List.dedent(editor)\n } else if (list) {\n List.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n List.dedent(editor)\n } else {\n List.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => ElementUtils.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withList(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (ElementUtils.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (ElementUtils.isParagraph(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !ElementUtils.isList(potentialNodeToBeMerged[0]) ||\n !ElementUtils.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.forEach(([_, childPath], index) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length + index],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function clearActiveTypographyStyle(editor: Editor) {\n if (!editor.selection) return\n\n // Due to the nested nature of `typography` I can't just call a single `Transforms.setNodes` on our selection\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function clearDeviceActiveTypography(editor: Editor, currentDeviceId: string) {\n if (!editor.selection) return\n\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: node?.typography?.style.filter(({ deviceId }) => deviceId !== currentDeviceId) ?? [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function detachActiveTypography(editor: Editor, value: RichTextTypography['style']) {\n if (!editor.selection) return\n\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n }),\n )\n\n textNodes.forEach(([node, path]) => {\n if (Text.isText(node)) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n style: value,\n },\n },\n { at: path },\n )\n }\n })\n}\n","import { Editor, Transforms, Text } from 'slate'\n\nexport function setActiveTypographyId(editor: Editor, id: string) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n id,\n style: [],\n },\n },\n {\n match: node => Text.isText(node),\n },\n )\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { isDeviceOverride } from '../../components/builtin/Text/components/Leaf'\nimport { findDeviceOverride } from '../../components/utils/devices'\nimport { RichTextTypography } from '../../controls'\n\nexport function setActiveTypographyStyle(\n editor: Editor,\n deviceId: string,\n prop: string,\n value?: unknown,\n) {\n if (!editor.selection) return\n\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const deviceOverrides = node?.typography?.style.filter(isDeviceOverride) ?? []\n const deviceStyle = findDeviceOverride(deviceOverrides, deviceId, v => v) || { value: {} }\n const nextDeviceStyle = {\n deviceId,\n value: { ...deviceStyle.value, [prop]: value },\n }\n const nextTypography: RichTextTypography = {\n ...node.typography,\n style: [...deviceOverrides.filter(v => v.deviceId !== deviceId), nextDeviceStyle],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography: nextTypography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Text, Transforms } from 'slate'\nimport { clearActiveTypographyStyle } from './clearActiveTypographyStyle'\nimport { clearDeviceActiveTypography } from './clearDeviceActiveTypography'\nimport { detachActiveTypography } from './detachActiveTypography'\nimport { setActiveTypographyId } from './setActiveTypographyId'\nimport { setActiveTypographyStyle } from './setActiveTypographyStyle'\n\nexport const Typography = {\n setActiveTypographyId,\n setActiveTypographyStyle,\n clearActiveTypographyStyle,\n clearDeviceActiveTypography,\n detachActiveTypography,\n}\n\nexport function withTypography(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization typography with empty style and id to be text\n if (\n Text.isText(normalizationNode) &&\n normalizationNode?.typography?.id == null &&\n normalizationNode?.typography?.style.length === 0\n ) {\n Transforms.unsetNodes(editor, 'typography', { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n","import { Editor, Transforms } from 'slate'\nimport { findDeviceOverride } from '../../components/utils/devices'\nimport { Device } from '../../controls/types'\nimport { ElementUtils } from '../utils/element'\nimport { EditableBlockKey, EditableBlockValue } from './types'\n\nexport function setBlockKeyForDevice(\n editor: Editor,\n deviceId: Device,\n key: EditableBlockKey,\n value: EditableBlockValue,\n) {\n if (!editor.selection) return\n\n const rootElements = Editor.nodes(editor, {\n match: (_, path) => path.length === 1,\n at: Editor.unhangRange(editor, editor.selection),\n })\n\n for (const [node, path] of rootElements) {\n if (ElementUtils.isBlock(node)) {\n const deviceValues = node[key] ?? []\n const currentDeviceValue = findDeviceOverride(deviceValues, deviceId, v => v)\n const nextDeviceValue = {\n ...currentDeviceValue,\n deviceId,\n value,\n }\n Transforms.setNodes(\n editor,\n {\n [key]: [...deviceValues.filter(v => v.deviceId !== deviceId), nextDeviceValue],\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms } from 'slate'\nimport { Device } from '../../controls/types'\nimport { ElementUtils } from '../utils/element'\nimport { EditableBlockKey } from './types'\n\nexport function clearBlockKeyForDevice(editor: Editor, deviceId: Device, key: EditableBlockKey) {\n if (!editor.selection) return\n\n const rootElements = Editor.nodes(editor, {\n match: (_, path) => path.length === 1,\n at: Editor.unhangRange(editor, editor.selection),\n })\n\n for (const [node, path] of rootElements) {\n if (ElementUtils.isBlock(node)) {\n const deviceOverrides = node[key] ?? []\n Transforms.setNodes(\n editor,\n {\n [key]: deviceOverrides.filter(v => v.deviceId !== deviceId),\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms } from 'slate'\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { ElementUtils } from '../utils/element'\n\nexport const Block = {\n setBlockKeyForDevice: setBlockKeyForDevice,\n clearBlockKeyForDevice: clearBlockKeyForDevice,\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (ElementUtils.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n"],"names":["Element","BlockType","InlineType","Editor","Path","Range","Point","Node","Transforms","isHotkey","Text","isDeviceOverride","findDeviceOverride"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs5.js","sources":["../src/slate/ListPlugin/constants.ts","../src/slate/utils/element.ts","../src/slate/utils/editor.ts","../src/slate/ListPlugin/utils/filterForSubtreeRoots.ts","../src/slate/ListPlugin/utils/location.ts","../src/slate/ListPlugin/utils/getSelectedListItems.ts","../src/slate/ListPlugin/indent.ts","../src/slate/ListPlugin/dedent.ts","../src/slate/ListPlugin/unwrapList.ts","../src/slate/ListPlugin/wrapList.ts","../src/slate/ListPlugin/toggleList.ts","../src/slate/ListPlugin/index.ts","../src/slate/TypographyPlugin/clearActiveTypographyStyle.ts","../src/slate/TypographyPlugin/clearDeviceActiveTypography.ts","../src/slate/TypographyPlugin/detachActiveTypography.ts","../src/slate/TypographyPlugin/setActiveTypographyId.ts","../src/slate/TypographyPlugin/setActiveTypographyStyle.ts","../src/slate/TypographyPlugin/index.ts","../src/slate/BlockPlugin/setBlockKeyForDevice.ts","../src/slate/BlockPlugin/clearBlockKeyForDevice.ts","../src/slate/BlockPlugin/index.ts"],"sourcesContent":["export const LIST_ITEM_CHILD_POSITION = 0\nexport const LIST_ITEM_LIST_POSITION = 1\n","import { Node, Element } from 'slate'\nimport {\n BlockType,\n Block,\n ParagraphElement,\n OrderedListElement,\n UnorderedListElement,\n ListItemElement,\n ListItemChildElement,\n Inline,\n InlineType,\n} from '../../controls'\n\nexport const ElementUtils = {\n isBlock(node: Node): node is Block {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, BlockType.Paragraph) ||\n Element.isElementType(node, BlockType.Heading1) ||\n Element.isElementType(node, BlockType.Heading2) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading4) ||\n Element.isElementType(node, BlockType.Heading5) ||\n Element.isElementType(node, BlockType.Heading6) ||\n Element.isElementType(node, BlockType.BlockQuote) ||\n Element.isElementType(node, BlockType.UnorderedList) ||\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.ListItem) ||\n Element.isElementType(node, BlockType.ListItemChild))\n )\n },\n isInline(node: Node): node is Inline {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, InlineType.Link) ||\n Element.isElementType(node, InlineType.Link) ||\n Element.isElementType(node, InlineType.SubScript) ||\n Element.isElementType(node, InlineType.SuperScript))\n )\n },\n isConvertibleToListTextNode(node: Node) {\n return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node)\n },\n isParagraph(node: Node): node is ParagraphElement {\n return Element.isElementType(node, BlockType.Paragraph)\n },\n isList(node: Node): node is OrderedListElement | UnorderedListElement {\n return (\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.UnorderedList)\n )\n },\n isListItem(node: Node): node is ListItemElement {\n return Element.isElementType(node, BlockType.ListItem)\n },\n isListItemChild(node: Node): node is ListItemChildElement {\n return Element.isElementType(node, BlockType.ListItemChild)\n },\n createText() {\n return { text: '' }\n },\n createParagraph() {\n return {\n children: [this.createText()],\n type: BlockType.Paragraph,\n }\n },\n createList(type: BlockType = BlockType.UnorderedList): Block {\n return { children: [this.createText()], type }\n },\n createListItem(): Block {\n return {\n children: [this.createListItemChild()],\n type: BlockType.ListItem,\n }\n },\n createListItemChild(): Block {\n return {\n children: [this.createText()],\n type: BlockType.ListItemChild,\n }\n },\n}\n","import { Path, Editor, NodeEntry } from 'slate'\nimport { ListElement, ListItemElement } from '../../controls'\nimport { ElementUtils } from './element'\n\nexport const EditorUtils = {\n getFirstAncestorList(editor: Editor, path: Path): NodeEntry<ListElement> | null {\n const parentList = Editor.above(editor, {\n at: path,\n match: (node): node is ListElement => ElementUtils.isList(node),\n })\n return parentList ?? null\n },\n getFirstAncestorListItem(editor: Editor, path: Path): NodeEntry<ListItemElement> | null {\n const parentListItem = Editor.above(editor, {\n at: path,\n match: (node): node is ListItemElement => ElementUtils.isListItem(node),\n })\n\n return parentListItem ?? null\n },\n}\n","import type { Node, NodeEntry } from 'slate'\nimport { Path } from 'slate'\n\nexport function filterForSubtreeRoots(entries: NodeEntry<Node>[]): NodeEntry<Node>[] {\n return entries.filter(\n ([, nodePath]) =>\n !Path.ancestors(nodePath).some(ancestor => {\n return entries.some(([, path]) => Path.equals(path, ancestor))\n }),\n )\n}\n","import { Range, Point, Path, Location } from 'slate'\n\nexport const LocationUtils = {\n getStartPath(location: Location): Path {\n if (Range.isRange(location)) return Range.start(location).path\n if (Point.isPoint(location)) return location.path\n return location\n },\n}\n","import type { Element, NodeEntry } from 'slate'\nimport { Editor, Path } from 'slate'\nimport { EditorUtils } from '../../utils/editor'\nimport { ElementUtils } from '../../utils/element'\nimport { LocationUtils } from './location'\n\nexport function getSelectedListItems(editor: Editor): NodeEntry<Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const listItems = Editor.nodes(editor, {\n at: editor.selection,\n match: node => ElementUtils.isListItem(node),\n })\n const firstAncestorPath = EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? []\n\n return Array.from(listItems).filter((node): node is NodeEntry<Element> =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n\nexport function getSelectedLists(editor: Editor): NodeEntry<Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const lists = Editor.nodes(editor, {\n at: editor.selection,\n match: node => ElementUtils.isList(node),\n })\n const firstAncestorPath = EditorUtils.getFirstAncestorList(editor, start)?.[1] ?? []\n\n return Array.from(lists).filter((node): node is NodeEntry<Element> =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n","import { Editor, Node, Path, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function indentPath(editor: Editor, path: Path) {\n const parent = Node.parent(editor, path)\n if (!path || !Path.hasPrevious(path) || !ElementUtils.isList(parent)) return\n\n const previosPath = Path.previous(path)\n\n const previousChildListPath = [...previosPath, LIST_ITEM_LIST_POSITION]\n const previousHasChildList = Node.has(editor, previousChildListPath)\n\n Editor.withoutNormalizing(editor, () => {\n if (!previousHasChildList) {\n Transforms.insertNodes(editor, ElementUtils.createList(parent.type), {\n at: previousChildListPath,\n })\n }\n\n const previousChildList = Node.get(editor, previousChildListPath)\n\n if (ElementUtils.isList(previousChildList)) {\n const index = previousHasChildList ? previousChildList.children.length : 0\n Transforms.moveNodes(editor, {\n at: path,\n to: [...previousChildListPath, index],\n })\n }\n })\n}\n\nexport function indent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n indentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Path, Transforms } from 'slate'\nimport { indentPath } from './indent'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { EditorUtils } from '../utils/editor'\n\nfunction dedentPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n if (!parentList || !listItemContainingParentList) return\n\n const [parentListNode, parentListPath] = parentList\n const [_, listItemContainingParentListPath] = listItemContainingParentList\n\n const listItemPosition = listItemPath[listItemPath.length - 1]\n const previousSiblings = parentListNode.children.slice(0, listItemPosition)\n const nextSiblings = parentListNode.children.slice(listItemPosition + 1)\n\n Editor.withoutNormalizing(editor, () => {\n // put next siblings into list item\n nextSiblings.forEach(() => {\n const nextSiblingPath = [...parentListPath, listItemPosition + 1]\n indentPath(editor, nextSiblingPath)\n })\n // move list item to parent list\n Transforms.moveNodes(editor, {\n at: listItemPath,\n to: Path.next(listItemContainingParentListPath),\n })\n // delete old parent list if there are no other list items\n if (previousSiblings.length === 0) {\n Transforms.removeNodes(editor, { at: parentListPath })\n }\n })\n}\n\nexport function dedent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n dedentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Transforms, Path, Node } from 'slate'\nimport { BlockType } from '../../controls'\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function unwrapPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n //if this is a nested item we don't want to unwrap it\n if (!parentList || listItemContainingParentList) return\n\n Editor.withoutNormalizing(editor, () => {\n const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION]\n const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION]\n\n if (Node.has(editor, listItemNestedListPath)) {\n Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: Path.next(listItemPath) })\n }\n\n if (Node.has(editor, listItemTextPath)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.Paragraph },\n {\n at: listItemTextPath,\n },\n )\n Transforms.liftNodes(editor, { at: listItemTextPath })\n Transforms.liftNodes(editor, { at: listItemPath })\n }\n })\n}\n\nexport function unwrapList(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n unwrapPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n","import { Editor, Element, Transforms } from 'slate'\nimport { BlockType } from '../../controls'\nimport { ElementUtils } from '../utils/element'\n\ntype WrapListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n}\n\nexport function wrapList(\n editor: Editor,\n options: WrapListOptions = { type: BlockType.UnorderedList },\n) {\n if (!editor.selection) return\n\n const nonListEntries = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: node => {\n return Element.isElement(node) && ElementUtils.isConvertibleToListTextNode(node)\n },\n }),\n )\n\n const refs = nonListEntries.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n const path = ref.current\n if (path) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: path,\n },\n )\n Transforms.wrapNodes(editor, ElementUtils.createListItem(), {\n at: path,\n })\n Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {\n at: path,\n })\n })\n }\n ref.unref()\n })\n}\n","import { Editor, Node, Path, Transforms } from 'slate'\nimport { BlockType } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapList } from './unwrapList'\nimport { LocationUtils } from './utils/location'\nimport { wrapList } from './wrapList'\n\ntype ToggleListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n}\n\nexport function toggleList(\n editor: Editor,\n options: ToggleListOptions = { type: BlockType.UnorderedList },\n) {\n if (!editor.selection) return\n const start = LocationUtils.getStartPath(editor.selection)\n const ancestorPath = Path.ancestors(start).at(1)\n if (!ancestorPath || !Node.has(editor, ancestorPath)) return\n const ancestor = Node.get(editor, ancestorPath)\n\n if (!ElementUtils.isList(ancestor)) {\n return wrapList(editor, { type: options.type })\n }\n\n if (ancestor.type === options.type) {\n unwrapList(editor)\n } else {\n Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath })\n }\n}\n","import type { KeyboardEvent } from 'react'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { EditorUtils } from '../utils/editor'\nimport { ElementUtils } from '../utils/element'\nimport { dedent } from './dedent'\nimport { indent } from './indent'\nimport { toggleList } from './toggleList'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { BlockType } from '../../controls'\n\nexport const List = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => ElementUtils.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n List.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n List.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n List.dedent(editor)\n } else if (list) {\n List.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n List.dedent(editor)\n } else {\n List.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => ElementUtils.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withList(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (ElementUtils.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (ElementUtils.isParagraph(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !ElementUtils.isList(potentialNodeToBeMerged[0]) ||\n !ElementUtils.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.forEach(([_, childPath], index) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length + index],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function clearActiveTypographyStyle(editor: Editor) {\n if (!editor.selection) return\n\n // Due to the nested nature of `typography` I can't just call a single `Transforms.setNodes` on our selection\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function clearDeviceActiveTypography(editor: Editor, currentDeviceId: string) {\n if (!editor.selection) return\n\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: node?.typography?.style.filter(({ deviceId }) => deviceId !== currentDeviceId) ?? [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { RichTextTypography } from '../../controls'\n\nexport function detachActiveTypography(editor: Editor, value: RichTextTypography['style']) {\n if (!editor.selection) return\n\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n }),\n )\n\n textNodes.forEach(([node, path]) => {\n if (Text.isText(node)) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n style: value,\n },\n },\n { at: path },\n )\n }\n })\n}\n","import { Editor, Transforms, Text } from 'slate'\n\nexport function setActiveTypographyId(editor: Editor, id: string) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n id,\n style: [],\n },\n },\n {\n match: node => Text.isText(node),\n },\n )\n}\n","import { Editor, Transforms, Text } from 'slate'\nimport { isDeviceOverride } from '../../components/builtin/Text/components/Leaf'\nimport { findDeviceOverride } from '../../components/utils/devices'\nimport { RichTextTypography } from '../../controls'\n\nexport function setActiveTypographyStyle(\n editor: Editor,\n deviceId: string,\n prop: string,\n value?: unknown,\n) {\n if (!editor.selection) return\n\n const textNodes = Editor.nodes(editor, {\n at: editor.selection,\n match: node => Text.isText(node),\n })\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const deviceOverrides = node?.typography?.style.filter(isDeviceOverride) ?? []\n const deviceStyle = findDeviceOverride(deviceOverrides, deviceId, v => v) || { value: {} }\n const nextDeviceStyle = {\n deviceId,\n value: { ...deviceStyle.value, [prop]: value },\n }\n const nextTypography: RichTextTypography = {\n ...node.typography,\n style: [...deviceOverrides.filter(v => v.deviceId !== deviceId), nextDeviceStyle],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography: nextTypography,\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Text, Transforms } from 'slate'\nimport { clearActiveTypographyStyle } from './clearActiveTypographyStyle'\nimport { clearDeviceActiveTypography } from './clearDeviceActiveTypography'\nimport { detachActiveTypography } from './detachActiveTypography'\nimport { setActiveTypographyId } from './setActiveTypographyId'\nimport { setActiveTypographyStyle } from './setActiveTypographyStyle'\n\nexport const Typography = {\n setActiveTypographyId,\n setActiveTypographyStyle,\n clearActiveTypographyStyle,\n clearDeviceActiveTypography,\n detachActiveTypography,\n}\n\nexport function withTypography(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization typography with empty style and id to be text\n if (\n Text.isText(normalizationNode) &&\n normalizationNode?.typography?.id == null &&\n normalizationNode?.typography?.style.length === 0\n ) {\n Transforms.unsetNodes(editor, 'typography', { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n","import { Editor, Transforms } from 'slate'\nimport { findDeviceOverride } from '../../components/utils/devices'\nimport { Device } from '../../controls/types'\nimport { ElementUtils } from '../utils/element'\nimport { EditableBlockKey, EditableBlockValue } from './types'\n\nexport function setBlockKeyForDevice(\n editor: Editor,\n deviceId: Device,\n key: EditableBlockKey,\n value: EditableBlockValue,\n) {\n if (!editor.selection) return\n\n const rootElements = Editor.nodes(editor, {\n match: (_, path) => path.length === 1,\n at: Editor.unhangRange(editor, editor.selection),\n })\n\n for (const [node, path] of rootElements) {\n if (ElementUtils.isBlock(node)) {\n const deviceValues = node[key] ?? []\n const currentDeviceValue = findDeviceOverride(deviceValues, deviceId, v => v)\n const nextDeviceValue = {\n ...currentDeviceValue,\n deviceId,\n value,\n }\n Transforms.setNodes(\n editor,\n {\n [key]: [...deviceValues.filter(v => v.deviceId !== deviceId), nextDeviceValue],\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms } from 'slate'\nimport { Device } from '../../controls/types'\nimport { ElementUtils } from '../utils/element'\nimport { EditableBlockKey } from './types'\n\nexport function clearBlockKeyForDevice(editor: Editor, deviceId: Device, key: EditableBlockKey) {\n if (!editor.selection) return\n\n const rootElements = Editor.nodes(editor, {\n match: (_, path) => path.length === 1,\n at: Editor.unhangRange(editor, editor.selection),\n })\n\n for (const [node, path] of rootElements) {\n if (ElementUtils.isBlock(node)) {\n const deviceOverrides = node[key] ?? []\n Transforms.setNodes(\n editor,\n {\n [key]: deviceOverrides.filter(v => v.deviceId !== deviceId),\n },\n { at: path },\n )\n }\n }\n}\n","import { Editor, Transforms } from 'slate'\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { ElementUtils } from '../utils/element'\n\nexport const Block = {\n setBlockKeyForDevice: setBlockKeyForDevice,\n clearBlockKeyForDevice: clearBlockKeyForDevice,\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (ElementUtils.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n"],"names":["Element","BlockType","InlineType","Editor","Path","Range","Point","Node","Transforms","isHotkey","Text","isDeviceOverride","findDeviceOverride"],"mappings":"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"}
@@ -9,7 +9,7 @@ require("./constants.cjs.js");
9
9
  require("redux");
10
10
  require("redux-thunk");
11
11
  require("./actions.cjs.js");
12
- require("./rich-text.cjs.js");
12
+ require("./descriptors.cjs.js");
13
13
  require("slate");
14
14
  require("slate-react");
15
15
  require("./introspection.cjs.js");
@@ -21,10 +21,10 @@ require("./text-input.cjs.js");
21
21
  require("./combobox.cjs.js");
22
22
  require("use-sync-external-store/shim");
23
23
  require("./types.cjs.js");
24
- require("color");
25
- require("scroll-into-view-if-needed");
26
24
  require("./box-models.cjs.js");
27
25
  require("css-box-model");
26
+ require("color");
27
+ require("scroll-into-view-if-needed");
28
28
  require("react-dom");
29
29
  require("html-react-parser");
30
30
  require("next/head");
@@ -36,7 +36,7 @@ var slate = require("slate");
36
36
  var slateReact = require("slate-react");
37
37
  var css = require("@emotion/css");
38
38
  var boxModels = require("./box-models.cjs.js");
39
- var richText = require("./rich-text.cjs.js");
39
+ var descriptors = require("./descriptors.cjs.js");
40
40
  var leaf = require("./leaf.cjs.js");
41
41
  var next = require("./index.cjs.js");
42
42
  var jsxRuntime = require("react/jsx-runtime");
@@ -86,42 +86,42 @@ function BlockElement({
86
86
  textAlign
87
87
  })))];
88
88
  switch (element.type) {
89
- case richText.BlockType.Paragraph:
89
+ case descriptors.BlockType.Paragraph:
90
90
  return /* @__PURE__ */ jsxRuntime.jsx("p", __spreadProps(__spreadValues({}, attributes), {
91
91
  className: css.cx(...blockStyles),
92
92
  children
93
93
  }));
94
- case richText.BlockType.Heading1:
94
+ case descriptors.BlockType.Heading1:
95
95
  return /* @__PURE__ */ jsxRuntime.jsx("h1", __spreadProps(__spreadValues({}, attributes), {
96
96
  className: css.cx(...blockStyles),
97
97
  children
98
98
  }));
99
- case richText.BlockType.Heading2:
99
+ case descriptors.BlockType.Heading2:
100
100
  return /* @__PURE__ */ jsxRuntime.jsx("h2", __spreadProps(__spreadValues({}, attributes), {
101
101
  className: css.cx(...blockStyles),
102
102
  children
103
103
  }));
104
- case richText.BlockType.Heading3:
104
+ case descriptors.BlockType.Heading3:
105
105
  return /* @__PURE__ */ jsxRuntime.jsx("h3", __spreadProps(__spreadValues({}, attributes), {
106
106
  className: css.cx(...blockStyles),
107
107
  children
108
108
  }));
109
- case richText.BlockType.Heading4:
109
+ case descriptors.BlockType.Heading4:
110
110
  return /* @__PURE__ */ jsxRuntime.jsx("h4", __spreadProps(__spreadValues({}, attributes), {
111
111
  className: css.cx(...blockStyles),
112
112
  children
113
113
  }));
114
- case richText.BlockType.Heading5:
114
+ case descriptors.BlockType.Heading5:
115
115
  return /* @__PURE__ */ jsxRuntime.jsx("h5", __spreadProps(__spreadValues({}, attributes), {
116
116
  className: css.cx(...blockStyles),
117
117
  children
118
118
  }));
119
- case richText.BlockType.Heading6:
119
+ case descriptors.BlockType.Heading6:
120
120
  return /* @__PURE__ */ jsxRuntime.jsx("h6", __spreadProps(__spreadValues({}, attributes), {
121
121
  className: css.cx(...blockStyles),
122
122
  children
123
123
  }));
124
- case richText.BlockType.BlockQuote:
124
+ case descriptors.BlockType.BlockQuote:
125
125
  return /* @__PURE__ */ jsxRuntime.jsx("blockquote", __spreadProps(__spreadValues({}, attributes), {
126
126
  className: css.cx(...blockStyles, next.useStyle({
127
127
  padding: "0.5em 10px",
@@ -131,7 +131,7 @@ function BlockElement({
131
131
  })),
132
132
  children
133
133
  }));
134
- case richText.BlockType.OrderedList:
134
+ case descriptors.BlockType.OrderedList:
135
135
  return /* @__PURE__ */ jsxRuntime.jsx("ol", __spreadProps(__spreadValues({}, attributes), {
136
136
  className: css.cx(...blockStyles),
137
137
  style: {
@@ -139,7 +139,7 @@ function BlockElement({
139
139
  },
140
140
  children
141
141
  }));
142
- case richText.BlockType.UnorderedList:
142
+ case descriptors.BlockType.UnorderedList:
143
143
  return /* @__PURE__ */ jsxRuntime.jsx("ul", __spreadProps(__spreadValues({}, attributes), {
144
144
  className: css.cx(...blockStyles),
145
145
  style: {
@@ -147,12 +147,12 @@ function BlockElement({
147
147
  },
148
148
  children
149
149
  }));
150
- case richText.BlockType.ListItem:
150
+ case descriptors.BlockType.ListItem:
151
151
  return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadProps(__spreadValues({}, attributes), {
152
152
  className: css.cx(...blockStyles),
153
153
  children
154
154
  }));
155
- case richText.BlockType.ListItemChild:
155
+ case descriptors.BlockType.ListItemChild:
156
156
  return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadProps(__spreadValues({}, attributes), {
157
157
  className: css.cx(...blockStyles),
158
158
  children
@@ -177,19 +177,19 @@ function InlineElement({
177
177
  children
178
178
  }) {
179
179
  switch (element.type) {
180
- case richText.InlineType.Code:
180
+ case descriptors.InlineType.Code:
181
181
  return /* @__PURE__ */ jsxRuntime.jsx("code", __spreadProps(__spreadValues({}, attributes), {
182
182
  children
183
183
  }));
184
- case richText.InlineType.SuperScript:
184
+ case descriptors.InlineType.SuperScript:
185
185
  return /* @__PURE__ */ jsxRuntime.jsx("sup", __spreadProps(__spreadValues({}, attributes), {
186
186
  children
187
187
  }));
188
- case richText.InlineType.SubScript:
188
+ case descriptors.InlineType.SubScript:
189
189
  return /* @__PURE__ */ jsxRuntime.jsx("sub", __spreadProps(__spreadValues({}, attributes), {
190
190
  children
191
191
  }));
192
- case richText.InlineType.Link:
192
+ case descriptors.InlineType.Link:
193
193
  return /* @__PURE__ */ jsxRuntime.jsx(StyledLink, __spreadProps(__spreadValues({}, attributes), {
194
194
  link: element.link,
195
195
  children
@@ -203,22 +203,22 @@ function Element(_c) {
203
203
  "element"
204
204
  ]);
205
205
  switch (element.type) {
206
- case richText.InlineType.Code:
207
- case richText.InlineType.SuperScript:
208
- case richText.InlineType.SubScript:
209
- case richText.InlineType.Link:
206
+ case descriptors.InlineType.Code:
207
+ case descriptors.InlineType.SuperScript:
208
+ case descriptors.InlineType.SubScript:
209
+ case descriptors.InlineType.Link:
210
210
  return /* @__PURE__ */ jsxRuntime.jsx(InlineElement, __spreadValues({
211
211
  element
212
212
  }, props));
213
- case richText.BlockType.Paragraph:
214
- case richText.BlockType.Heading1:
215
- case richText.BlockType.Heading2:
216
- case richText.BlockType.Heading3:
217
- case richText.BlockType.BlockQuote:
218
- case richText.BlockType.OrderedList:
219
- case richText.BlockType.UnorderedList:
220
- case richText.BlockType.ListItem:
221
- case richText.BlockType.ListItemChild:
213
+ case descriptors.BlockType.Paragraph:
214
+ case descriptors.BlockType.Heading1:
215
+ case descriptors.BlockType.Heading2:
216
+ case descriptors.BlockType.Heading3:
217
+ case descriptors.BlockType.BlockQuote:
218
+ case descriptors.BlockType.OrderedList:
219
+ case descriptors.BlockType.UnorderedList:
220
+ case descriptors.BlockType.ListItem:
221
+ case descriptors.BlockType.ListItemChild:
222
222
  return /* @__PURE__ */ jsxRuntime.jsx(BlockElement, __spreadValues({
223
223
  element
224
224
  }, props));
@@ -233,8 +233,8 @@ function useSyncWithBuilder(editor, text) {
233
233
  const [shouldCommit, setShouldCommit] = React.useState(true);
234
234
  React.useEffect(() => {
235
235
  if (shouldCommit && text) {
236
- const nextValue = richText.richTextDTOtoDAO(text);
237
- const nextSelection = richText.richTextDTOtoSelection(text);
236
+ const nextValue = descriptors.richTextDTOtoDAO(text);
237
+ const nextSelection = descriptors.richTextDTOtoSelection(text);
238
238
  if (!next.deepEqual(editor.children, nextValue) || !next.deepEqual(editor.selection, nextSelection)) {
239
239
  editor.children = nextValue;
240
240
  editor.selection = nextSelection;
@@ -255,7 +255,7 @@ function useSyncWithBuilder(editor, text) {
255
255
  return React.useCallback(() => setShouldCommit(false), []);
256
256
  }
257
257
  const defaultText = [{
258
- type: richText.BlockType.Paragraph,
258
+ type: descriptors.BlockType.Paragraph,
259
259
  children: [{
260
260
  text: ""
261
261
  }]
@@ -289,7 +289,7 @@ const EditableText = React.forwardRef(function EditableText2({
289
289
  },
290
290
  setPropControllers
291
291
  }), [editor, setPropControllers]);
292
- const initialValue = React.useMemo(() => text ? richText.richTextDTOtoDAO(text) : defaultText, [text]);
292
+ const initialValue = React.useMemo(() => text ? descriptors.richTextDTOtoDAO(text) : defaultText, [text]);
293
293
  React.useEffect(() => {
294
294
  controller == null ? void 0 : controller.setSlateEditor(editor);
295
295
  }, [controller, editor]);
@@ -316,7 +316,7 @@ const EditableText = React.forwardRef(function EditableText2({
316
316
  onKeyDown: handleKeyDown,
317
317
  onFocus: handleFocus,
318
318
  className: css.cx(width, margin),
319
- readOnly: editMode === richText.BuilderEditMode.INTERACT,
319
+ readOnly: editMode === descriptors.BuilderEditMode.INTERACT,
320
320
  placeholder: "Write some text..."
321
321
  })
322
322
  });