@makeswift/runtime 0.7.12 → 0.7.14

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 (230) hide show
  1. package/dist/Box.cjs.js +1 -0
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +1 -0
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +1 -0
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +1 -0
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +1 -0
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +1 -0
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +1 -0
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +1 -0
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +1 -0
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +1 -0
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +1 -0
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +1 -0
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +1 -0
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +1 -0
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +1 -0
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +1 -0
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +1 -0
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +2 -1
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +1 -0
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +1 -0
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +1 -0
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +2 -1
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +16 -26
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +16 -25
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/Root.cjs.js +1 -0
  50. package/dist/Root.cjs.js.map +1 -1
  51. package/dist/Root.es.js +1 -0
  52. package/dist/Root.es.js.map +1 -1
  53. package/dist/SocialLinks.cjs.js +1 -0
  54. package/dist/SocialLinks.cjs.js.map +1 -1
  55. package/dist/SocialLinks.es.js +1 -0
  56. package/dist/SocialLinks.es.js.map +1 -1
  57. package/dist/Text.cjs.js +1 -0
  58. package/dist/Text.cjs.js.map +1 -1
  59. package/dist/Text.es.js +1 -0
  60. package/dist/Text.es.js.map +1 -1
  61. package/dist/Video.cjs.js +1 -0
  62. package/dist/Video.cjs.js.map +1 -1
  63. package/dist/Video.es.js +1 -0
  64. package/dist/Video.es.js.map +1 -1
  65. package/dist/components.cjs.js +1 -0
  66. package/dist/components.cjs.js.map +1 -1
  67. package/dist/components.es.js +1 -0
  68. package/dist/components.es.js.map +1 -1
  69. package/dist/constants.cjs.js +3 -313
  70. package/dist/constants.cjs.js.map +1 -1
  71. package/dist/constants.es.js +3 -300
  72. package/dist/constants.es.js.map +1 -1
  73. package/dist/controls.cjs.js +1 -4
  74. package/dist/controls.cjs.js.map +1 -1
  75. package/dist/controls.es.js +1 -2
  76. package/dist/controls.es.js.map +1 -1
  77. package/dist/index.cjs.js +15 -13
  78. package/dist/index.cjs.js.map +1 -1
  79. package/dist/index.cjs2.js +6 -6
  80. package/dist/index.cjs2.js.map +1 -1
  81. package/dist/index.cjs5.js +1 -0
  82. package/dist/index.cjs5.js.map +1 -1
  83. package/dist/index.cjs6.js +146 -134
  84. package/dist/index.cjs6.js.map +1 -1
  85. package/dist/index.es.js +5 -4
  86. package/dist/index.es.js.map +1 -1
  87. package/dist/index.es2.js +1 -1
  88. package/dist/index.es5.js +1 -0
  89. package/dist/index.es5.js.map +1 -1
  90. package/dist/index.es6.js +147 -135
  91. package/dist/index.es6.js.map +1 -1
  92. package/dist/introspection.cjs.js +331 -0
  93. package/dist/introspection.cjs.js.map +1 -0
  94. package/dist/introspection.es.js +317 -0
  95. package/dist/introspection.es.js.map +1 -0
  96. package/dist/{typography.cjs.js → leaf.cjs.js} +51 -14
  97. package/dist/leaf.cjs.js.map +1 -0
  98. package/dist/{typography.es.js → leaf.es.js} +49 -12
  99. package/dist/leaf.es.js.map +1 -0
  100. package/dist/main.cjs.js +1 -0
  101. package/dist/main.cjs.js.map +1 -1
  102. package/dist/main.es.js +1 -0
  103. package/dist/main.es.js.map +1 -1
  104. package/dist/next.cjs.js +1 -0
  105. package/dist/next.cjs.js.map +1 -1
  106. package/dist/next.es.js +2 -1
  107. package/dist/next.es.js.map +1 -1
  108. package/dist/prop-controllers.cjs.js +2 -0
  109. package/dist/prop-controllers.cjs.js.map +1 -1
  110. package/dist/prop-controllers.es.js +1 -0
  111. package/dist/prop-controllers.es.js.map +1 -1
  112. package/dist/react.cjs.js +1 -0
  113. package/dist/react.cjs.js.map +1 -1
  114. package/dist/react.es.js +1 -0
  115. package/dist/react.es.js.map +1 -1
  116. package/dist/rich-text.cjs.js +29 -43
  117. package/dist/rich-text.cjs.js.map +1 -1
  118. package/dist/rich-text.es.js +30 -44
  119. package/dist/rich-text.es.js.map +1 -1
  120. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  121. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +1 -1
  122. package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts.map +1 -1
  123. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +2 -5
  124. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
  125. package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts +0 -1
  126. package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts.map +1 -1
  127. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +21 -0
  128. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
  129. package/dist/types/src/controls/rich-text/index.d.ts +0 -1
  130. package/dist/types/src/controls/rich-text/index.d.ts.map +1 -1
  131. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
  132. package/dist/types/src/controls/rich-text/types.d.ts +47 -27
  133. package/dist/types/src/controls/rich-text/types.d.ts.map +1 -1
  134. package/dist/types/src/prop-controllers/index.d.ts +1 -0
  135. package/dist/types/src/prop-controllers/index.d.ts.map +1 -1
  136. package/dist/types/src/slate/BlockPlugin/clearBlockKeyForDevice.d.ts +5 -0
  137. package/dist/types/src/slate/BlockPlugin/clearBlockKeyForDevice.d.ts.map +1 -0
  138. package/dist/types/src/slate/BlockPlugin/index.d.ts +9 -0
  139. package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -0
  140. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts +5 -0
  141. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -0
  142. package/dist/types/src/slate/BlockPlugin/types.d.ts +4 -0
  143. package/dist/types/src/slate/BlockPlugin/types.d.ts.map +1 -0
  144. package/dist/types/src/slate/ListPlugin/constants.d.ts.map +1 -0
  145. package/dist/types/src/slate/ListPlugin/dedent.d.ts.map +1 -0
  146. package/dist/types/src/slate/ListPlugin/indent.d.ts.map +1 -0
  147. package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts → slate/ListPlugin/index.d.ts} +6 -2
  148. package/dist/types/src/slate/ListPlugin/index.d.ts.map +1 -0
  149. package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/toggleList.d.ts +1 -1
  150. package/dist/types/src/slate/ListPlugin/toggleList.d.ts.map +1 -0
  151. package/dist/types/src/slate/ListPlugin/unwrapList.d.ts.map +1 -0
  152. package/dist/types/src/slate/ListPlugin/utils/filterForSubtreeRoots.d.ts.map +1 -0
  153. package/dist/types/src/slate/ListPlugin/utils/getSelectedListItems.d.ts.map +1 -0
  154. package/dist/types/src/slate/ListPlugin/utils/location.d.ts.map +1 -0
  155. package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/wrapList.d.ts +1 -1
  156. package/dist/types/src/slate/ListPlugin/wrapList.d.ts.map +1 -0
  157. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts +3 -0
  158. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts.map +1 -0
  159. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts +3 -0
  160. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts.map +1 -0
  161. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts +4 -0
  162. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -0
  163. package/dist/types/src/slate/TypographyPlugin/index.d.ts +15 -0
  164. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -0
  165. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts +3 -0
  166. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts.map +1 -0
  167. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts +3 -0
  168. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -0
  169. package/dist/types/src/slate/index.d.ts +4 -0
  170. package/dist/types/src/slate/index.d.ts.map +1 -0
  171. package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate}/utils/editor.d.ts +1 -1
  172. package/dist/types/src/slate/utils/editor.d.ts.map +1 -0
  173. package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate}/utils/element.d.ts +3 -5
  174. package/dist/types/src/slate/utils/element.d.ts.map +1 -0
  175. package/package.json +8 -1
  176. package/dist/compare.cjs.js +0 -126
  177. package/dist/compare.cjs.js.map +0 -1
  178. package/dist/compare.es.js +0 -124
  179. package/dist/compare.es.js.map +0 -1
  180. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts.map +0 -1
  181. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/constants.d.ts.map +0 -1
  182. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts +0 -2
  183. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts.map +0 -1
  184. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/dedent.d.ts.map +0 -1
  185. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/indent.d.ts.map +0 -1
  186. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts +0 -6
  187. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts.map +0 -1
  188. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/toggleList.d.ts.map +0 -1
  189. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/unwrapList.d.ts.map +0 -1
  190. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/editor.d.ts.map +0 -1
  191. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/element.d.ts.map +0 -1
  192. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/filterForSubtreeRoots.d.ts.map +0 -1
  193. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/getSelectedListItems.d.ts.map +0 -1
  194. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/location.d.ts.map +0 -1
  195. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/wrapList.d.ts.map +0 -1
  196. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts +0 -3
  197. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts.map +0 -1
  198. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts +0 -3
  199. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts.map +0 -1
  200. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts +0 -3
  201. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts.map +0 -1
  202. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts +0 -48
  203. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts.map +0 -1
  204. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts +0 -3
  205. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts.map +0 -1
  206. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts +0 -21
  207. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts.map +0 -1
  208. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts +0 -3
  209. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts.map +0 -1
  210. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts +0 -2
  211. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts.map +0 -1
  212. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts +0 -3
  213. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts.map +0 -1
  214. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts +0 -3
  215. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts.map +0 -1
  216. package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts +0 -27
  217. package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts.map +0 -1
  218. package/dist/types/src/controls/rich-text/compare.d.ts +0 -5
  219. package/dist/types/src/controls/rich-text/compare.d.ts.map +0 -1
  220. package/dist/types/src/controls/rich-text/compare.test.d.ts +0 -2
  221. package/dist/types/src/controls/rich-text/compare.test.d.ts.map +0 -1
  222. package/dist/typography.cjs.js.map +0 -1
  223. package/dist/typography.es.js.map +0 -1
  224. /package/dist/types/src/{components/builtin/Text/EditableText → slate}/ListPlugin/constants.d.ts +0 -0
  225. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/dedent.d.ts +0 -0
  226. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/indent.d.ts +0 -0
  227. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/unwrapList.d.ts +0 -0
  228. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/utils/filterForSubtreeRoots.d.ts +0 -0
  229. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/utils/getSelectedListItems.d.ts +0 -0
  230. /package/dist/types/src/{components/builtin/Text/EditableText/ListPlugin/lib → slate/ListPlugin}/utils/location.d.ts +0 -0
@@ -37,22 +37,22 @@ var slateReact = require("slate-react");
37
37
  var css = require("@emotion/css");
38
38
  var boxModels = require("./box-models.cjs.js");
39
39
  var richText = require("./rich-text.cjs.js");
40
- var typography = require("./typography.cjs.js");
40
+ var leaf = require("./leaf.cjs.js");
41
+ var next = require("./index.cjs.js");
41
42
  var jsxRuntime = require("react/jsx-runtime");
43
+ var index = require("./index.cjs3.js");
44
+ var isHotkey = require("is-hotkey");
42
45
  require("use-sync-external-store/shim");
43
- var next = require("./index.cjs.js");
44
46
  require("@emotion/serialize");
45
47
  require("@emotion/utils");
46
- var index = require("./index.cjs3.js");
47
- var compare = require("./compare.cjs.js");
48
- var isHotkey = require("is-hotkey");
49
48
  require("css-box-model");
50
49
  require("./actions.cjs.js");
50
+ require("./introspection.cjs.js");
51
+ require("use-sync-external-store/shim/with-selector");
52
+ require("next/dynamic");
51
53
  require("./constants.cjs.js");
52
54
  require("redux");
53
55
  require("redux-thunk");
54
- require("use-sync-external-store/shim/with-selector");
55
- require("next/dynamic");
56
56
  require("./text-input.cjs.js");
57
57
  require("./combobox.cjs.js");
58
58
  require("./types.cjs.js");
@@ -74,23 +74,6 @@ function _interopDefaultLegacy(e) {
74
74
  return e && typeof e === "object" && "default" in e ? e : { "default": e };
75
75
  }
76
76
  var isHotkey__default = /* @__PURE__ */ _interopDefaultLegacy(isHotkey);
77
- function Leaf(_a) {
78
- var _b = _a, {
79
- leaf
80
- } = _b, props = __objRest(_b, [
81
- "leaf"
82
- ]);
83
- switch (leaf.type) {
84
- case richText.TextType.Typography:
85
- return /* @__PURE__ */ jsxRuntime.jsx(typography.TypographyLeaf, __spreadValues({
86
- leaf
87
- }, props));
88
- default:
89
- return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadProps(__spreadValues({}, props.attributes), {
90
- children: props.children
91
- }));
92
- }
93
- }
94
77
  function BlockElement({
95
78
  element,
96
79
  attributes,
@@ -175,10 +158,10 @@ function BlockElement({
175
158
  }));
176
159
  }
177
160
  }
178
- function StyledLink(_c) {
179
- var _d = _c, {
161
+ function StyledLink(_a) {
162
+ var _b = _a, {
180
163
  className
181
- } = _d, restOfProps = __objRest(_d, [
164
+ } = _b, restOfProps = __objRest(_b, [
182
165
  "className"
183
166
  ]);
184
167
  return /* @__PURE__ */ jsxRuntime.jsx(index.Link, __spreadProps(__spreadValues({}, restOfProps), {
@@ -212,10 +195,10 @@ function InlineElement({
212
195
  }));
213
196
  }
214
197
  }
215
- function Element(_e) {
216
- var _f = _e, {
198
+ function Element(_c) {
199
+ var _d = _c, {
217
200
  element
218
- } = _f, props = __objRest(_f, [
201
+ } = _d, props = __objRest(_d, [
219
202
  "element"
220
203
  ]);
221
204
  switch (element.type) {
@@ -251,7 +234,7 @@ function useSyncWithBuilder(editor, text) {
251
234
  if (shouldCommit && text) {
252
235
  const nextValue = richText.richTextDTOtoDAO(text);
253
236
  const nextSelection = richText.richTextDTOtoSelection(text);
254
- if (!compare.compareRichTextDAO(editor.children, nextValue) || !compare.compareRichTextSelection(editor.selection, nextSelection)) {
237
+ if (!next.deepEqual(editor.children, nextValue) || !next.deepEqual(editor.selection, nextSelection)) {
255
238
  editor.children = nextValue;
256
239
  editor.selection = nextSelection;
257
240
  editor.onChange();
@@ -270,15 +253,17 @@ function useSyncWithBuilder(editor, text) {
270
253
  }, [shouldCommit]);
271
254
  return React.useCallback(() => setShouldCommit(false), []);
272
255
  }
256
+ const LIST_ITEM_CHILD_POSITION = 0;
257
+ const LIST_ITEM_LIST_POSITION = 1;
273
258
  const ElementUtils = {
274
- isConvertibleToListTextNode(node) {
275
- return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node) && !this.isText(node) && !this.isTypography(node);
259
+ isBlock(node) {
260
+ 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));
276
261
  },
277
- isText(node) {
278
- return slate.Element.isElementType(node, richText.TextType.Text) || slate.Text.isText(node);
262
+ isInline(node) {
263
+ 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));
279
264
  },
280
- isTypography(node) {
281
- return slate.Element.isElementType(node, richText.TextType.Typography);
265
+ isConvertibleToListTextNode(node) {
266
+ return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node);
282
267
  },
283
268
  isParagraph(node) {
284
269
  return slate.Element.isElementType(node, richText.BlockType.Paragraph);
@@ -293,7 +278,7 @@ const ElementUtils = {
293
278
  return slate.Element.isElementType(node, richText.BlockType.ListItemChild);
294
279
  },
295
280
  createText() {
296
- return { text: "", type: richText.TextType.Text };
281
+ return { text: "" };
297
282
  },
298
283
  createParagraph() {
299
284
  return {
@@ -317,36 +302,6 @@ const ElementUtils = {
317
302
  };
318
303
  }
319
304
  };
320
- function wrapList(editor, options = { type: richText.BlockType.UnorderedList }) {
321
- if (!editor.selection)
322
- return;
323
- const nonListEntries = Array.from(slate.Editor.nodes(editor, {
324
- at: editor.selection,
325
- match: (node) => {
326
- return slate.Element.isElement(node) && ElementUtils.isConvertibleToListTextNode(node);
327
- }
328
- }));
329
- const refs = nonListEntries.map(([_, path]) => slate.Editor.pathRef(editor, path));
330
- refs.forEach((ref) => {
331
- const path = ref.current;
332
- if (path) {
333
- slate.Editor.withoutNormalizing(editor, () => {
334
- slate.Transforms.setNodes(editor, { type: richText.BlockType.ListItemChild }, {
335
- at: path
336
- });
337
- slate.Transforms.wrapNodes(editor, ElementUtils.createListItem(), {
338
- at: path
339
- });
340
- slate.Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {
341
- at: path
342
- });
343
- });
344
- }
345
- ref.unref();
346
- });
347
- }
348
- const LIST_ITEM_CHILD_POSITION = 0;
349
- const LIST_ITEM_LIST_POSITION = 1;
350
305
  const EditorUtils = {
351
306
  getFirstAncestorList(editor, path) {
352
307
  const parentList = slate.Editor.above(editor, {
@@ -389,58 +344,6 @@ function getSelectedListItems(editor) {
389
344
  const firstAncestorPath = (_b = (_a = EditorUtils.getFirstAncestorListItem(editor, start)) == null ? void 0 : _a[1]) != null ? _b : [];
390
345
  return Array.from(listItems).filter((node) => slate.Path.isDescendant(start, node[1]) ? slate.Path.equals(node[1], firstAncestorPath) : !slate.Path.isAfter(start, node[1]));
391
346
  }
392
- function unwrapPath(editor, listItemPath) {
393
- const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath);
394
- const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath);
395
- if (!parentList || listItemContainingParentList)
396
- return;
397
- slate.Editor.withoutNormalizing(editor, () => {
398
- const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION];
399
- const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION];
400
- if (slate.Node.has(editor, listItemNestedListPath)) {
401
- slate.Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath });
402
- slate.Transforms.liftNodes(editor, { at: listItemNestedListPath });
403
- slate.Transforms.liftNodes(editor, { at: slate.Path.next(listItemPath) });
404
- }
405
- if (slate.Node.has(editor, listItemTextPath)) {
406
- slate.Transforms.setNodes(editor, { type: richText.BlockType.Paragraph }, {
407
- at: listItemTextPath
408
- });
409
- slate.Transforms.liftNodes(editor, { at: listItemTextPath });
410
- slate.Transforms.liftNodes(editor, { at: listItemPath });
411
- }
412
- });
413
- }
414
- function unwrapList(editor) {
415
- if (!editor.selection)
416
- return;
417
- const listItems = getSelectedListItems(editor);
418
- const subRoots = filterForSubtreeRoots(listItems);
419
- const refs = subRoots.map(([_, path]) => slate.Editor.pathRef(editor, path));
420
- refs.forEach((ref) => {
421
- if (ref.current) {
422
- unwrapPath(editor, ref.current);
423
- }
424
- ref.unref();
425
- });
426
- }
427
- function toggleList(editor, options = { type: richText.BlockType.UnorderedList }) {
428
- if (!editor.selection)
429
- return;
430
- const start = LocationUtils.getStartPath(editor.selection);
431
- const ancestorPath = slate.Path.ancestors(start).at(1);
432
- if (!ancestorPath || !slate.Node.has(editor, ancestorPath))
433
- return;
434
- const ancestor = slate.Node.get(editor, ancestorPath);
435
- if (!ElementUtils.isList(ancestor)) {
436
- return wrapList(editor, { type: options.type });
437
- }
438
- if (ancestor.type === options.type) {
439
- unwrapList(editor);
440
- } else {
441
- slate.Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath });
442
- }
443
- }
444
347
  function indentPath(editor, path) {
445
348
  const parent = slate.Node.parent(editor, path);
446
349
  if (!path || !slate.Path.hasPrevious(path) || !ElementUtils.isList(parent))
@@ -514,6 +417,86 @@ function dedent(editor) {
514
417
  ref.unref();
515
418
  });
516
419
  }
420
+ function unwrapPath(editor, listItemPath) {
421
+ const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath);
422
+ const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath);
423
+ if (!parentList || listItemContainingParentList)
424
+ return;
425
+ slate.Editor.withoutNormalizing(editor, () => {
426
+ const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION];
427
+ const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION];
428
+ if (slate.Node.has(editor, listItemNestedListPath)) {
429
+ slate.Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath });
430
+ slate.Transforms.liftNodes(editor, { at: listItemNestedListPath });
431
+ slate.Transforms.liftNodes(editor, { at: slate.Path.next(listItemPath) });
432
+ }
433
+ if (slate.Node.has(editor, listItemTextPath)) {
434
+ slate.Transforms.setNodes(editor, { type: richText.BlockType.Paragraph }, {
435
+ at: listItemTextPath
436
+ });
437
+ slate.Transforms.liftNodes(editor, { at: listItemTextPath });
438
+ slate.Transforms.liftNodes(editor, { at: listItemPath });
439
+ }
440
+ });
441
+ }
442
+ function unwrapList(editor) {
443
+ if (!editor.selection)
444
+ return;
445
+ const listItems = getSelectedListItems(editor);
446
+ const subRoots = filterForSubtreeRoots(listItems);
447
+ const refs = subRoots.map(([_, path]) => slate.Editor.pathRef(editor, path));
448
+ refs.forEach((ref) => {
449
+ if (ref.current) {
450
+ unwrapPath(editor, ref.current);
451
+ }
452
+ ref.unref();
453
+ });
454
+ }
455
+ function wrapList(editor, options = { type: richText.BlockType.UnorderedList }) {
456
+ if (!editor.selection)
457
+ return;
458
+ const nonListEntries = Array.from(slate.Editor.nodes(editor, {
459
+ at: editor.selection,
460
+ match: (node) => {
461
+ return slate.Element.isElement(node) && ElementUtils.isConvertibleToListTextNode(node);
462
+ }
463
+ }));
464
+ const refs = nonListEntries.map(([_, path]) => slate.Editor.pathRef(editor, path));
465
+ refs.forEach((ref) => {
466
+ const path = ref.current;
467
+ if (path) {
468
+ slate.Editor.withoutNormalizing(editor, () => {
469
+ slate.Transforms.setNodes(editor, { type: richText.BlockType.ListItemChild }, {
470
+ at: path
471
+ });
472
+ slate.Transforms.wrapNodes(editor, ElementUtils.createListItem(), {
473
+ at: path
474
+ });
475
+ slate.Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {
476
+ at: path
477
+ });
478
+ });
479
+ }
480
+ ref.unref();
481
+ });
482
+ }
483
+ function toggleList(editor, options = { type: richText.BlockType.UnorderedList }) {
484
+ if (!editor.selection)
485
+ return;
486
+ const start = LocationUtils.getStartPath(editor.selection);
487
+ const ancestorPath = slate.Path.ancestors(start).at(1);
488
+ if (!ancestorPath || !slate.Node.has(editor, ancestorPath))
489
+ return;
490
+ const ancestor = slate.Node.get(editor, ancestorPath);
491
+ if (!ElementUtils.isList(ancestor)) {
492
+ return wrapList(editor, { type: options.type });
493
+ }
494
+ if (ancestor.type === options.type) {
495
+ unwrapList(editor);
496
+ } else {
497
+ slate.Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath });
498
+ }
499
+ }
517
500
  const List = {
518
501
  unwrapList,
519
502
  wrapList,
@@ -580,6 +563,7 @@ function onKeyDown(e, editor) {
580
563
  }
581
564
  }
582
565
  function withList(editor) {
566
+ const { normalizeNode } = editor;
583
567
  editor.normalizeNode = (entry) => {
584
568
  const [normalizationNode, normalizationPath] = entry;
585
569
  if (ElementUtils.isListItem(normalizationNode)) {
@@ -599,18 +583,10 @@ function withList(editor) {
599
583
  return;
600
584
  }
601
585
  }
602
- if (ElementUtils.isList(normalizationNode)) {
603
- Array.from(slate.Node.children(editor, normalizationPath)).forEach(([node, path]) => {
604
- if (ElementUtils.isText(node)) {
605
- slate.Transforms.removeNodes(editor, { at: path });
606
- return;
607
- }
608
- });
609
- }
610
- if (!ElementUtils.isText(normalizationNode) && !ElementUtils.isTypography(normalizationNode)) {
586
+ if (!slate.Text.isText(normalizationNode)) {
611
587
  const mergeableChildren = Array.from(slate.Node.children(editor, normalizationPath)).map((child, index2, children) => {
612
588
  const potentialNodeToBeMerged = children.at(index2 + 1);
613
- if (!potentialNodeToBeMerged || !ElementUtils.isList(potentialNodeToBeMerged[0]) || potentialNodeToBeMerged[0].type !== child[0].type) {
589
+ if (!potentialNodeToBeMerged || !ElementUtils.isList(potentialNodeToBeMerged[0]) || !ElementUtils.isList(child[0]) || potentialNodeToBeMerged[0].type !== child[0].type) {
614
590
  return null;
615
591
  }
616
592
  return [
@@ -641,13 +617,39 @@ function withList(editor) {
641
617
  return;
642
618
  }
643
619
  }
620
+ normalizeNode(entry);
621
+ };
622
+ return editor;
623
+ }
624
+ function withTypography(editor) {
625
+ const { normalizeNode } = editor;
626
+ editor.normalizeNode = (entry) => {
627
+ var _a, _b;
628
+ const [normalizationNode, normalizationPath] = entry;
629
+ if (slate.Text.isText(normalizationNode) && ((_a = normalizationNode == null ? void 0 : normalizationNode.typography) == null ? void 0 : _a.id) == null && ((_b = normalizationNode == null ? void 0 : normalizationNode.typography) == null ? void 0 : _b.style.length) === 0) {
630
+ slate.Transforms.unsetNodes(editor, "typography", { at: normalizationPath });
631
+ return;
632
+ }
633
+ normalizeNode(entry);
634
+ };
635
+ return editor;
636
+ }
637
+ function withBlock(editor) {
638
+ const { normalizeNode } = editor;
639
+ editor.normalizeNode = (entry) => {
640
+ var _a;
641
+ const [normalizationNode, normalizationPath] = entry;
642
+ if (ElementUtils.isBlock(normalizationNode) && ((_a = normalizationNode == null ? void 0 : normalizationNode.textAlign) == null ? void 0 : _a.length) == 0) {
643
+ slate.Transforms.unsetNodes(editor, "textAlign", { at: normalizationPath });
644
+ return;
645
+ }
646
+ normalizeNode(entry);
644
647
  };
645
648
  return editor;
646
649
  }
647
650
  const defaultText = [{
648
651
  type: richText.BlockType.Paragraph,
649
652
  children: [{
650
- type: richText.TextType.Text,
651
653
  text: ""
652
654
  }]
653
655
  }];
@@ -657,11 +659,20 @@ const EditableText = React.forwardRef(function EditableText2({
657
659
  width,
658
660
  margin
659
661
  }, ref) {
660
- const [editor] = React.useState(() => withList(slateReact.withReact(slate.createEditor())));
662
+ const [editor] = React.useState(() => withBlock(withTypography(withList(slateReact.withReact(slate.createEditor())))));
661
663
  const delaySync = useSyncWithBuilder(editor, text);
662
664
  const editMode = next.useBuilderEditMode();
663
665
  const [propControllers, setPropControllers] = React.useState(null);
664
666
  const controller = propControllers == null ? void 0 : propControllers.text;
667
+ React.useEffect(() => {
668
+ if (controller == null)
669
+ return;
670
+ const element = slateReact.ReactEditor.toDOMNode(editor, editor);
671
+ return next.pollBoxModel({
672
+ element,
673
+ onBoxModelChange: (boxModel) => controller.changeBoxModel(boxModel)
674
+ });
675
+ }, [editor, controller]);
665
676
  React.useImperativeHandle(ref, () => ({
666
677
  getDomNode() {
667
678
  return slateReact.ReactEditor.toDOMNode(editor, editor);
@@ -693,12 +704,13 @@ const EditableText = React.forwardRef(function EditableText2({
693
704
  onChange: delaySync,
694
705
  children: /* @__PURE__ */ jsxRuntime.jsx(slateReact.Editable, {
695
706
  id,
696
- renderLeaf: Leaf,
707
+ renderLeaf: leaf.Leaf,
697
708
  renderElement: Element,
698
709
  onKeyDown: handleKeyDown,
699
710
  onFocus: handleFocus,
700
711
  className: css.cx(width, margin),
701
- readOnly: editMode === richText.BuilderEditMode.INTERACT
712
+ readOnly: editMode === richText.BuilderEditMode.INTERACT,
713
+ placeholder: "Write some text..."
702
714
  })
703
715
  });
704
716
  });