@makeswift/runtime 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/Box.cjs.js +2 -3
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +2 -3
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +2 -3
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +2 -3
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +2 -3
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +2 -3
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +1 -2
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +1 -2
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +2 -3
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +2 -3
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +0 -2
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +0 -2
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +1 -2
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +1 -2
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +1 -2
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +1 -2
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +2 -3
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +3 -4
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +1 -2
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +1 -2
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +1 -2
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +2 -3
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +2 -0
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +3 -1
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +2 -0
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +3 -1
  52. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  53. package/dist/Root.cjs.js +1 -2
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +1 -2
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +2 -3
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +2 -3
  60. package/dist/SocialLinks.es.js.map +1 -1
  61. package/dist/Text.cjs.js +2 -3
  62. package/dist/Text.cjs.js.map +1 -1
  63. package/dist/Text.es.js +2 -3
  64. package/dist/Text.es.js.map +1 -1
  65. package/dist/Video.cjs.js +0 -2
  66. package/dist/Video.cjs.js.map +1 -1
  67. package/dist/Video.es.js +0 -2
  68. package/dist/Video.es.js.map +1 -1
  69. package/dist/builder.cjs.js +0 -3
  70. package/dist/builder.cjs.js.map +1 -1
  71. package/dist/builder.es.js +0 -3
  72. package/dist/builder.es.js.map +1 -1
  73. package/dist/components.cjs.js +1 -2
  74. package/dist/components.cjs.js.map +1 -1
  75. package/dist/components.es.js +1 -2
  76. package/dist/components.es.js.map +1 -1
  77. package/dist/control-serialization.cjs.js +0 -3
  78. package/dist/control-serialization.cjs.js.map +1 -1
  79. package/dist/control-serialization.es.js +1 -4
  80. package/dist/control-serialization.es.js.map +1 -1
  81. package/dist/controls.cjs.js +6 -5
  82. package/dist/controls.cjs.js.map +1 -1
  83. package/dist/controls.es.js +2 -4
  84. package/dist/controls.es.js.map +1 -1
  85. package/dist/index.cjs.js +47 -14
  86. package/dist/index.cjs.js.map +1 -1
  87. package/dist/index.cjs10.js +171 -248
  88. package/dist/index.cjs10.js.map +1 -1
  89. package/dist/index.cjs11.js +375 -0
  90. package/dist/index.cjs11.js.map +1 -0
  91. package/dist/index.cjs2.js +1 -3
  92. package/dist/index.cjs2.js.map +1 -1
  93. package/dist/index.cjs6.js +700 -22
  94. package/dist/index.cjs6.js.map +1 -1
  95. package/dist/index.cjs7.js +37 -13
  96. package/dist/index.cjs7.js.map +1 -1
  97. package/dist/index.cjs8.js +17 -42
  98. package/dist/index.cjs8.js.map +1 -1
  99. package/dist/index.cjs9.js +12 -229
  100. package/dist/index.cjs9.js.map +1 -1
  101. package/dist/index.es.js +47 -14
  102. package/dist/index.es.js.map +1 -1
  103. package/dist/index.es10.js +172 -249
  104. package/dist/index.es10.js.map +1 -1
  105. package/dist/index.es11.js +368 -0
  106. package/dist/index.es11.js.map +1 -0
  107. package/dist/index.es2.js +2 -4
  108. package/dist/index.es2.js.map +1 -1
  109. package/dist/index.es6.js +695 -22
  110. package/dist/index.es6.js.map +1 -1
  111. package/dist/index.es7.js +33 -14
  112. package/dist/index.es7.js.map +1 -1
  113. package/dist/index.es8.js +17 -40
  114. package/dist/index.es8.js.map +1 -1
  115. package/dist/index.es9.js +11 -224
  116. package/dist/index.es9.js.map +1 -1
  117. package/dist/main.cjs.js +0 -3
  118. package/dist/main.cjs.js.map +1 -1
  119. package/dist/main.es.js +0 -3
  120. package/dist/main.es.js.map +1 -1
  121. package/dist/next.cjs.js +1 -2
  122. package/dist/next.cjs.js.map +1 -1
  123. package/dist/next.es.js +1 -2
  124. package/dist/next.es.js.map +1 -1
  125. package/dist/prop-controllers.cjs.js +0 -3
  126. package/dist/prop-controllers.cjs.js.map +1 -1
  127. package/dist/prop-controllers.es.js +0 -3
  128. package/dist/prop-controllers.es.js.map +1 -1
  129. package/dist/react-page.cjs.js +927 -1573
  130. package/dist/react-page.cjs.js.map +1 -1
  131. package/dist/react-page.es.js +923 -1559
  132. package/dist/react-page.es.js.map +1 -1
  133. package/dist/react.cjs.js +1 -2
  134. package/dist/react.cjs.js.map +1 -1
  135. package/dist/react.es.js +1 -2
  136. package/dist/react.es.js.map +1 -1
  137. package/dist/select.cjs.js +21 -0
  138. package/dist/select.cjs.js.map +1 -0
  139. package/dist/select.es.js +16 -0
  140. package/dist/select.es.js.map +1 -0
  141. package/dist/slate.cjs.js +172 -55
  142. package/dist/slate.cjs.js.map +1 -1
  143. package/dist/slate.es.js +172 -55
  144. package/dist/slate.es.js.map +1 -1
  145. package/dist/types/src/api/react.d.ts.map +1 -1
  146. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  147. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  148. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  149. package/dist/types/src/controls/control.d.ts +3 -2
  150. package/dist/types/src/controls/control.d.ts.map +1 -1
  151. package/dist/types/src/controls/icon-radio-group.d.ts +29 -0
  152. package/dist/types/src/controls/icon-radio-group.d.ts.map +1 -0
  153. package/dist/types/src/controls/index.d.ts +1 -0
  154. package/dist/types/src/controls/index.d.ts.map +1 -1
  155. package/dist/types/src/controls/rich-text/translation.d.ts +1 -1
  156. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
  157. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +7 -3
  158. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  159. package/dist/types/src/controls/shape.d.ts +1 -2
  160. package/dist/types/src/controls/shape.d.ts.map +1 -1
  161. package/dist/types/src/controls/style-v2.d.ts +16 -7
  162. package/dist/types/src/controls/style-v2.d.ts.map +1 -1
  163. package/dist/types/src/next/client.d.ts.map +1 -1
  164. package/dist/types/src/next/document.d.ts.map +1 -1
  165. package/dist/types/src/prop-controllers/descriptors.d.ts +4 -2
  166. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  167. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  168. package/dist/types/src/runtimes/react/controls/control.d.ts +3 -1
  169. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  170. package/dist/types/src/runtimes/react/controls/icon-radio-group.d.ts +4 -0
  171. package/dist/types/src/runtimes/react/controls/icon-radio-group.d.ts.map +1 -0
  172. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  173. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +10 -0
  174. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -0
  175. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +10 -0
  176. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -0
  177. package/dist/types/src/runtimes/react/controls/style-v2.d.ts +10 -1
  178. package/dist/types/src/runtimes/react/controls/style-v2.d.ts.map +1 -1
  179. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  180. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  181. package/dist/types/src/slate/BlockPlugin/index.d.ts +1 -0
  182. package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
  183. package/dist/types/src/slate/ColorPlugin/index.d.ts +10 -0
  184. package/dist/types/src/slate/ColorPlugin/index.d.ts.map +1 -0
  185. package/dist/types/src/slate/InlineModePlugin/index.d.ts +1 -0
  186. package/dist/types/src/slate/InlineModePlugin/index.d.ts.map +1 -1
  187. package/dist/types/src/slate/TextAlignPlugin/index.d.ts +1 -1
  188. package/dist/types/src/slate/TextAlignPlugin/index.d.ts.map +1 -1
  189. package/dist/types/src/slate/index.d.ts +1 -0
  190. package/dist/types/src/slate/index.d.ts.map +1 -1
  191. package/dist/types/src/slate/types.d.ts +21 -0
  192. package/dist/types/src/slate/types.d.ts.map +1 -1
  193. package/dist/types/src/slate/utils/responsive.d.ts +16 -0
  194. package/dist/types/src/slate/utils/responsive.d.ts.map +1 -0
  195. package/package.json +1 -1
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
34
+ var React = require("react");
35
+ var slate = require("slate");
36
+ var slateReact = require("slate-react");
37
+ var css = require("@emotion/css");
38
+ var boxModels = require("./box-models.cjs.js");
39
+ var reactPage = require("./react-page.cjs.js");
40
+ require("@emotion/serialize");
41
+ require("@emotion/utils");
42
+ var leaf = require("./leaf.cjs.js");
43
+ var next = require("./index.cjs.js");
44
+ require("./state/breakpoints.cjs.js");
45
+ var index$1 = require("./index.cjs6.js");
46
+ var isHotkey = require("is-hotkey");
47
+ var jsxRuntime = require("react/jsx-runtime");
48
+ var index = require("./index.cjs3.js");
49
+ var deepEqual = require("./deepEqual.cjs.js");
50
+ var index$2 = require("./index.cjs5.js");
51
+ var index$3 = require("./index.cjs8.js");
52
+ var useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs.js");
53
+ require("css-box-model");
54
+ require("./actions.cjs.js");
55
+ require("redux");
56
+ require("redux-thunk");
57
+ require("use-sync-external-store/shim/with-selector");
58
+ require("next/dynamic");
59
+ require("./text-input.cjs.js");
60
+ require("./combobox.cjs.js");
61
+ require("./select.cjs.js");
62
+ require("use-sync-external-store/shim");
63
+ require("./types.cjs.js");
64
+ require("color");
65
+ require("scroll-into-view-if-needed");
66
+ require("react-dom");
67
+ require("html-react-parser");
68
+ require("next/head");
69
+ require("zod");
70
+ require("@emotion/server/create-instance");
71
+ require("next/document");
72
+ require("cors");
73
+ require("path-to-regexp");
74
+ require("cookie");
75
+ require("http-proxy");
76
+ require("set-cookie-parser");
77
+ require("./constants.cjs.js");
78
+ require("uuid");
79
+ require("corporate-ipsum");
80
+ require("next/link");
81
+ function _interopDefaultLegacy(e) {
82
+ return e && typeof e === "object" && "default" in e ? e : { "default": e };
83
+ }
84
+ var isHotkey__default = /* @__PURE__ */ _interopDefaultLegacy(isHotkey);
85
+ function BlockElement({
86
+ element,
87
+ attributes,
88
+ children
89
+ }) {
90
+ const blockStyles = [reactPage.useStyle({
91
+ margin: 0
92
+ }), reactPage.useStyle(next.useResponsiveStyle([element.textAlign], ([textAlign = "left"]) => ({
93
+ textAlign
94
+ })))];
95
+ const quoteStyles = reactPage.useStyle({
96
+ padding: "0.5em 10px",
97
+ fontSize: "1.25em",
98
+ fontWeight: "300",
99
+ borderLeft: "5px solid rgba(0, 0, 0, 0.1)"
100
+ });
101
+ switch (element.type) {
102
+ case reactPage.BlockType.Text:
103
+ return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadProps(__spreadValues({}, attributes), {
104
+ className: css.cx(...blockStyles),
105
+ children
106
+ }));
107
+ case reactPage.BlockType.Paragraph:
108
+ return /* @__PURE__ */ jsxRuntime.jsx("p", __spreadProps(__spreadValues({}, attributes), {
109
+ className: css.cx(...blockStyles),
110
+ children
111
+ }));
112
+ case reactPage.BlockType.Heading1:
113
+ return /* @__PURE__ */ jsxRuntime.jsx("h1", __spreadProps(__spreadValues({}, attributes), {
114
+ className: css.cx(...blockStyles),
115
+ children
116
+ }));
117
+ case reactPage.BlockType.Heading2:
118
+ return /* @__PURE__ */ jsxRuntime.jsx("h2", __spreadProps(__spreadValues({}, attributes), {
119
+ className: css.cx(...blockStyles),
120
+ children
121
+ }));
122
+ case reactPage.BlockType.Heading3:
123
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", __spreadProps(__spreadValues({}, attributes), {
124
+ className: css.cx(...blockStyles),
125
+ children
126
+ }));
127
+ case reactPage.BlockType.Heading4:
128
+ return /* @__PURE__ */ jsxRuntime.jsx("h4", __spreadProps(__spreadValues({}, attributes), {
129
+ className: css.cx(...blockStyles),
130
+ children
131
+ }));
132
+ case reactPage.BlockType.Heading5:
133
+ return /* @__PURE__ */ jsxRuntime.jsx("h5", __spreadProps(__spreadValues({}, attributes), {
134
+ className: css.cx(...blockStyles),
135
+ children
136
+ }));
137
+ case reactPage.BlockType.Heading6:
138
+ return /* @__PURE__ */ jsxRuntime.jsx("h6", __spreadProps(__spreadValues({}, attributes), {
139
+ className: css.cx(...blockStyles),
140
+ children
141
+ }));
142
+ case reactPage.BlockType.BlockQuote:
143
+ return /* @__PURE__ */ jsxRuntime.jsx("blockquote", __spreadProps(__spreadValues({}, attributes), {
144
+ className: css.cx(...blockStyles, quoteStyles),
145
+ children
146
+ }));
147
+ case reactPage.BlockType.OrderedList:
148
+ return /* @__PURE__ */ jsxRuntime.jsx("ol", __spreadProps(__spreadValues({}, attributes), {
149
+ className: css.cx(...blockStyles),
150
+ style: {
151
+ listStylePosition: "inside"
152
+ },
153
+ children
154
+ }));
155
+ case reactPage.BlockType.UnorderedList:
156
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", __spreadProps(__spreadValues({}, attributes), {
157
+ className: css.cx(...blockStyles),
158
+ style: {
159
+ listStylePosition: "inside"
160
+ },
161
+ children
162
+ }));
163
+ case reactPage.BlockType.ListItem:
164
+ return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadProps(__spreadValues({}, attributes), {
165
+ className: css.cx(...blockStyles),
166
+ children
167
+ }));
168
+ case reactPage.BlockType.ListItemChild:
169
+ return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadProps(__spreadValues({}, attributes), {
170
+ className: css.cx(...blockStyles),
171
+ children
172
+ }));
173
+ default:
174
+ return null;
175
+ }
176
+ }
177
+ function StyledLink(_a) {
178
+ var _b = _a, {
179
+ className
180
+ } = _b, restOfProps = __objRest(_b, [
181
+ "className"
182
+ ]);
183
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Link, __spreadProps(__spreadValues({}, restOfProps), {
184
+ className: css.cx(reactPage.useStyle({
185
+ textDecoration: "none"
186
+ }), className)
187
+ }));
188
+ }
189
+ function InlineElement({
190
+ element,
191
+ attributes,
192
+ children
193
+ }) {
194
+ switch (element.type) {
195
+ case reactPage.InlineType.Code:
196
+ return /* @__PURE__ */ jsxRuntime.jsx("code", __spreadProps(__spreadValues({}, attributes), {
197
+ children
198
+ }));
199
+ case reactPage.InlineType.SuperScript:
200
+ return /* @__PURE__ */ jsxRuntime.jsx("sup", __spreadProps(__spreadValues({}, attributes), {
201
+ children
202
+ }));
203
+ case reactPage.InlineType.SubScript:
204
+ return /* @__PURE__ */ jsxRuntime.jsx("sub", __spreadProps(__spreadValues({}, attributes), {
205
+ children
206
+ }));
207
+ case reactPage.InlineType.Link:
208
+ return /* @__PURE__ */ jsxRuntime.jsx(StyledLink, __spreadProps(__spreadValues({}, attributes), {
209
+ link: element.link,
210
+ children
211
+ }));
212
+ }
213
+ }
214
+ function Element(_c) {
215
+ var _d = _c, {
216
+ element
217
+ } = _d, props = __objRest(_d, [
218
+ "element"
219
+ ]);
220
+ switch (element.type) {
221
+ case reactPage.InlineType.Code:
222
+ case reactPage.InlineType.SuperScript:
223
+ case reactPage.InlineType.SubScript:
224
+ case reactPage.InlineType.Link:
225
+ return /* @__PURE__ */ jsxRuntime.jsx(InlineElement, __spreadValues({
226
+ element
227
+ }, props));
228
+ case reactPage.BlockType.Paragraph:
229
+ case reactPage.BlockType.Heading1:
230
+ case reactPage.BlockType.Heading2:
231
+ case reactPage.BlockType.Heading3:
232
+ case reactPage.BlockType.BlockQuote:
233
+ case reactPage.BlockType.OrderedList:
234
+ case reactPage.BlockType.UnorderedList:
235
+ case reactPage.BlockType.ListItem:
236
+ case reactPage.BlockType.ListItemChild:
237
+ return /* @__PURE__ */ jsxRuntime.jsx(BlockElement, __spreadValues({
238
+ element
239
+ }, props));
240
+ default:
241
+ return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadProps(__spreadValues({}, props.attributes), {
242
+ children: props.children
243
+ }));
244
+ }
245
+ }
246
+ const COMMIT_DEBOUNCE_DELAY = 500;
247
+ function useSyncWithBuilder(editor, text) {
248
+ const [shouldCommit, setShouldCommit] = React.useState(true);
249
+ const isInBuilder = next.useIsInBuilder();
250
+ React.useEffect(() => {
251
+ if (shouldCommit && text && isInBuilder) {
252
+ const nextValue = reactPage.richTextDTOtoDAO(text);
253
+ const nextSelection = reactPage.richTextDTOtoSelection(text);
254
+ if (!deepEqual.deepEqual(editor.children, nextValue) || !deepEqual.deepEqual(editor.selection, nextSelection)) {
255
+ editor.children = nextValue;
256
+ editor.selection = nextSelection;
257
+ editor.onChange();
258
+ }
259
+ }
260
+ }, [editor, shouldCommit, text]);
261
+ React.useEffect(() => {
262
+ if (shouldCommit)
263
+ return;
264
+ const timeoutId = window.setTimeout(() => {
265
+ setShouldCommit(true);
266
+ }, COMMIT_DEBOUNCE_DELAY);
267
+ return () => {
268
+ window.clearTimeout(timeoutId);
269
+ };
270
+ }, [shouldCommit]);
271
+ return React.useCallback(() => setShouldCommit(false), []);
272
+ }
273
+ function useSyncDOMSelection(editor, isEnabled) {
274
+ useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
275
+ if (!isEnabled || editor.selection == null || slateReact.ReactEditor.isFocused(editor))
276
+ return;
277
+ try {
278
+ const root = slateReact.ReactEditor.findDocumentOrShadowRoot(editor);
279
+ const domSelection = root.getSelection();
280
+ const newDomRange = slateReact.ReactEditor.toDOMRange(editor, editor.selection);
281
+ if (newDomRange) {
282
+ if (slate.Range.isBackward(editor.selection)) {
283
+ domSelection == null ? void 0 : domSelection.setBaseAndExtent(newDomRange.endContainer, newDomRange.endOffset, newDomRange.startContainer, newDomRange.startOffset);
284
+ } else {
285
+ domSelection == null ? void 0 : domSelection.setBaseAndExtent(newDomRange.startContainer, newDomRange.startOffset, newDomRange.endContainer, newDomRange.endOffset);
286
+ }
287
+ } else {
288
+ domSelection == null ? void 0 : domSelection.removeAllRanges();
289
+ }
290
+ } catch (e) {
291
+ console.error(e);
292
+ }
293
+ });
294
+ }
295
+ const defaultText = [{
296
+ type: reactPage.BlockType.Paragraph,
297
+ children: [{
298
+ text: ""
299
+ }]
300
+ }];
301
+ const EditableText = React.forwardRef(function EditableText2({
302
+ id,
303
+ text,
304
+ width,
305
+ margin
306
+ }, ref) {
307
+ const [editor] = React.useState(() => index$1.withBlock(index$2.withTypography(index$3.withBuilder(slateReact.withReact(slate.createEditor())))));
308
+ const [isPreservingDOMSElection, setIsPreservingDOMSelection] = React.useState(false);
309
+ useSyncDOMSelection(editor, isPreservingDOMSElection);
310
+ const delaySync = useSyncWithBuilder(editor, text);
311
+ const editMode = next.useBuilderEditMode();
312
+ const [propControllers, setPropControllers] = React.useState(null);
313
+ const controller = propControllers == null ? void 0 : propControllers.text;
314
+ React.useEffect(() => {
315
+ if (controller == null)
316
+ return;
317
+ const element = slateReact.ReactEditor.toDOMNode(editor, editor);
318
+ return next.pollBoxModel({
319
+ element,
320
+ onBoxModelChange: (boxModel) => controller.changeBoxModel(boxModel)
321
+ });
322
+ }, [editor, controller]);
323
+ React.useImperativeHandle(ref, () => ({
324
+ getDomNode() {
325
+ return slateReact.ReactEditor.toDOMNode(editor, editor);
326
+ },
327
+ getBoxModel() {
328
+ return boxModels.getBox(slateReact.ReactEditor.toDOMNode(editor, editor));
329
+ },
330
+ setPropControllers
331
+ }), [editor, setPropControllers]);
332
+ const initialValue = React.useMemo(() => text ? reactPage.richTextDTOtoDAO(text) : defaultText, [text]);
333
+ React.useEffect(() => {
334
+ controller == null ? void 0 : controller.setSlateEditor(editor);
335
+ }, [controller, editor]);
336
+ const handleFocus = React.useCallback(() => {
337
+ controller == null ? void 0 : controller.focus();
338
+ setIsPreservingDOMSelection(true);
339
+ }, [controller]);
340
+ const handleKeyDown = React.useCallback((e) => {
341
+ if (isHotkey__default["default"]("mod+shift+z", e))
342
+ return controller == null ? void 0 : controller.redo();
343
+ if (isHotkey__default["default"]("mod+z", e))
344
+ return controller == null ? void 0 : controller.undo();
345
+ if (isHotkey__default["default"]("escape")(e))
346
+ return controller == null ? void 0 : controller.blur();
347
+ index$1.onKeyDown(e, editor);
348
+ }, [controller, editor]);
349
+ const handleBlur = React.useCallback((e) => {
350
+ if (e.relatedTarget == null)
351
+ return;
352
+ setIsPreservingDOMSelection(false);
353
+ slateReact.ReactEditor.deselect(editor);
354
+ }, []);
355
+ return /* @__PURE__ */ jsxRuntime.jsx(slateReact.Slate, {
356
+ editor,
357
+ value: initialValue,
358
+ onChange: delaySync,
359
+ children: /* @__PURE__ */ jsxRuntime.jsx(slateReact.Editable, {
360
+ id,
361
+ renderLeaf: leaf.Leaf,
362
+ renderElement: Element,
363
+ onFocus: handleFocus,
364
+ onKeyDown: handleKeyDown,
365
+ onBlur: handleBlur,
366
+ className: css.cx(width, margin),
367
+ readOnly: editMode !== reactPage.BuilderEditMode.CONTENT,
368
+ placeholder: "Write some text..."
369
+ })
370
+ });
371
+ });
372
+ var EditableText$1 = EditableText;
373
+ exports.EditableText = EditableText;
374
+ exports["default"] = EditableText$1;
375
+ //# sourceMappingURL=index.cjs11.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs11.js","sources":["../src/components/builtin/Text/components/Element/block.tsx","../src/components/builtin/Text/components/Element/inline.tsx","../src/components/builtin/Text/components/Element/element.tsx","../src/components/builtin/Text/EditableText/useSyncWithBuilder.tsx","../src/components/builtin/Text/EditableText/useSyncDOMSelection.tsx","../src/components/builtin/Text/EditableText/editable-text.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { RenderElementProps } from 'slate-react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../utils/responsive-style'\nimport { Block, BlockType } from '../../../../../slate'\n\nexport interface InlineRenderElementProps extends RenderElementProps {\n element: Block\n}\n\nexport function BlockElement({ element, attributes, children }: InlineRenderElementProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([element.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (element.type) {\n case BlockType.Text:\n return (\n <span {...attributes} className={cx(...blockStyles)}>\n {children}\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p {...attributes} className={cx(...blockStyles)}>\n {children}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...attributes} className={cx(...blockStyles)}>\n {children}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...attributes} className={cx(...blockStyles, quoteStyles)}>\n {children}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...attributes} className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n {children}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...attributes} className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n {children}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...attributes} className={cx(...blockStyles)}>\n {children}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...attributes} className={cx(...blockStyles)}>\n {children}\n </span>\n )\n\n default:\n return null\n }\n}\n","import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { RenderElementProps } from 'slate-react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { Link } from '../../../../shared/Link'\nimport { Inline, InlineType } from '../../../../../slate'\n\nfunction StyledLink({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Link>) {\n return <Link {...restOfProps} className={cx(useStyle({ textDecoration: 'none' }), className)} />\n}\n\nexport interface InlineRenderElementProps extends RenderElementProps {\n element: Inline\n}\n\nexport function InlineElement({ element, attributes, children }: InlineRenderElementProps) {\n switch (element.type) {\n case InlineType.Code:\n return <code {...attributes}>{children}</code>\n case InlineType.SuperScript:\n return <sup {...attributes}>{children}</sup>\n case InlineType.SubScript:\n return <sub {...attributes}>{children}</sub>\n case InlineType.Link:\n return (\n <StyledLink {...attributes} link={element.link}>\n {children}\n </StyledLink>\n )\n }\n}\n","import { RenderElementProps } from 'slate-react'\nimport { BlockElement } from './block'\nimport { InlineElement } from './inline'\nimport { InlineType, BlockType } from '../../../../../slate'\n\nexport function Element({ element, ...props }: RenderElementProps) {\n switch (element.type) {\n case InlineType.Code:\n case InlineType.SuperScript:\n case InlineType.SubScript:\n case InlineType.Link:\n return <InlineElement element={element} {...props} />\n case BlockType.Paragraph:\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement element={element} {...props} />\n default:\n return <span {...props.attributes}>{props.children}</span>\n }\n}\n","import { useState, useEffect, useCallback } from 'react'\nimport { Editor } from 'slate'\nimport { richTextDTOtoDAO, richTextDTOtoSelection } from '../../../../controls'\nimport { RichTextValue } from '../../../../prop-controllers'\nimport deepEqual from '../../../../utils/deepEqual'\nimport { useIsInBuilder } from '../../../../runtimes/react'\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\n/**\n * Compare new prop value with current editor and update editor\n * if the values are not equal.\n */\nexport function useSyncWithBuilder(editor: Editor, text?: RichTextValue) {\n const [shouldCommit, setShouldCommit] = useState(true)\n const isInBuilder = useIsInBuilder()\n\n useEffect(() => {\n if (shouldCommit && text && isInBuilder) {\n const nextValue = richTextDTOtoDAO(text)\n const nextSelection = richTextDTOtoSelection(text)\n if (!deepEqual(editor.children, nextValue) || !deepEqual(editor.selection, nextSelection)) {\n editor.children = nextValue\n editor.selection = nextSelection\n editor.onChange()\n }\n }\n }, [editor, shouldCommit, text])\n\n useEffect(() => {\n if (shouldCommit) return\n\n const timeoutId = window.setTimeout(() => {\n setShouldCommit(true)\n }, COMMIT_DEBOUNCE_DELAY)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [shouldCommit])\n\n return useCallback(() => setShouldCommit(false), [])\n}\n","import { ReactEditor } from 'slate-react'\nimport { useIsomorphicLayoutEffect } from '../../../hooks/useIsomorphicLayoutEffect'\nimport { Editor, Range as SlateRange } from 'slate'\n\n/**\n * Clicking outside of the host blurs our `<Editable />`.\n * `<Editable />` only updates the DOM's selection to match slate when it is focused.\n * In the case of a panel being clicked this hook updates the DOM selection to match slate.\n */\nexport function useSyncDOMSelection(editor: Editor, isEnabled: boolean) {\n useIsomorphicLayoutEffect(() => {\n if (!isEnabled || editor.selection == null || ReactEditor.isFocused(editor)) return\n try {\n const root = ReactEditor.findDocumentOrShadowRoot(editor) as Document\n const domSelection = root.getSelection()\n const newDomRange: Range | null = ReactEditor.toDOMRange(editor, editor.selection)\n\n if (newDomRange) {\n if (SlateRange.isBackward(editor.selection!)) {\n domSelection?.setBaseAndExtent(\n newDomRange.endContainer,\n newDomRange.endOffset,\n newDomRange.startContainer,\n newDomRange.startOffset,\n )\n } else {\n domSelection?.setBaseAndExtent(\n newDomRange.startContainer,\n newDomRange.startOffset,\n newDomRange.endContainer,\n newDomRange.endOffset,\n )\n }\n } else {\n domSelection?.removeAllRanges()\n }\n } catch (e) {\n console.error(e)\n }\n })\n}\n","import {\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\n\nimport { createEditor } from 'slate'\nimport { Slate, Editable, withReact, ReactEditor } from 'slate-react'\n\nimport { ElementIDValue, RichTextValue } from '../../../../prop-controllers/descriptors'\nimport { cx } from '@emotion/css'\nimport { DescriptorsPropControllers } from '../../../../prop-controllers/instances'\nimport { Descriptors } from '../../../../runtimes/react/controls/rich-text'\nimport { getBox } from '../../../../box-model'\nimport { PropControllersHandle } from '../../../../state/modules/prop-controller-handles'\nimport { richTextDTOtoDAO } from '../../../../controls'\nimport { Leaf } from '../components/Leaf'\nimport { Element } from '../components/Element'\nimport { useSyncWithBuilder } from './useSyncWithBuilder'\nimport isHotkey from 'is-hotkey'\nimport { useBuilderEditMode } from '../../../../runtimes/react'\nimport { BuilderEditMode } from '../../../../state/modules/builder-edit-mode'\nimport { onKeyDown, withBlock, withTypography, withBuilder } from '../../../../slate'\nimport { pollBoxModel } from '../../../../runtimes/react/poll-box-model'\nimport { useSyncDOMSelection } from './useSyncDOMSelection'\nimport { RichTextDAO, BlockType } from '../../../../slate'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst defaultText: RichTextDAO = [{ type: BlockType.Paragraph, children: [{ text: '' }] }]\n\nexport const EditableText = forwardRef(function EditableText(\n { id, text, width, margin }: Props,\n ref: Ref<PropControllersHandle<Descriptors>>,\n) {\n const [editor] = useState(() => withBlock(withTypography(withBuilder(withReact(createEditor())))))\n const [isPreservingDOMSElection, setIsPreservingDOMSelection] = useState(false)\n useSyncDOMSelection(editor, isPreservingDOMSElection)\n const delaySync = useSyncWithBuilder(editor, text)\n const editMode = useBuilderEditMode()\n\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n\n useEffect(() => {\n if (controller == null) return\n\n const element = ReactEditor.toDOMNode(editor, editor)\n\n return pollBoxModel({\n element,\n onBoxModelChange: boxModel => controller.changeBoxModel(boxModel),\n })\n }, [editor, controller])\n\n useImperativeHandle(\n ref,\n () => ({\n getDomNode() {\n return ReactEditor.toDOMNode(editor, editor)\n },\n getBoxModel() {\n return getBox(ReactEditor.toDOMNode(editor, editor))\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n const initialValue = useMemo(() => (text ? richTextDTOtoDAO(text) : defaultText), [text])\n\n useEffect(() => {\n controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n const handleFocus = useCallback(() => {\n controller?.focus()\n setIsPreservingDOMSelection(true)\n }, [controller])\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (isHotkey('mod+shift+z', e)) return controller?.redo()\n if (isHotkey('mod+z', e)) return controller?.undo()\n if (isHotkey('escape')(e)) return controller?.blur()\n onKeyDown(e, editor)\n },\n [controller, editor],\n )\n\n const handleBlur = useCallback((e: FocusEvent) => {\n // When clicking outside of the iframe (`relatedTarget` is null) we want to preserve the DOM selection.\n if (e.relatedTarget == null) return\n // Otherwise we want to deselect on blur and stop preserving selection.\n setIsPreservingDOMSelection(false)\n ReactEditor.deselect(editor)\n }, [])\n\n return (\n <Slate editor={editor} value={initialValue} onChange={delaySync}>\n <Editable\n id={id}\n renderLeaf={Leaf}\n renderElement={Element}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n className={cx(width, margin)}\n readOnly={editMode !== BuilderEditMode.CONTENT}\n placeholder=\"Write some text...\"\n />\n </Slate>\n )\n})\n\nexport default EditableText\n"],"names":["element","attributes","children","blockStyles","useStyle","margin","useResponsiveStyle","textAlign","quoteStyles","padding","fontSize","fontWeight","borderLeft","type","BlockType","Text","cx","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","className","restOfProps","Link","textDecoration","InlineType","Code","SuperScript","SubScript","link","props","COMMIT_DEBOUNCE_DELAY","editor","text","shouldCommit","setShouldCommit","useState","isInBuilder","useIsInBuilder","useEffect","nextValue","richTextDTOtoDAO","nextSelection","richTextDTOtoSelection","deepEqual","selection","onChange","timeoutId","window","setTimeout","clearTimeout","useCallback","isEnabled","useIsomorphicLayoutEffect","ReactEditor","isFocused","root","findDocumentOrShadowRoot","domSelection","getSelection","newDomRange","toDOMRange","SlateRange","isBackward","setBaseAndExtent","endContainer","endOffset","startContainer","startOffset","removeAllRanges","e","console","error","defaultText","EditableText","forwardRef","id","width","ref","withBlock","withTypography","withBuilder","withReact","createEditor","isPreservingDOMSElection","setIsPreservingDOMSelection","useSyncDOMSelection","delaySync","useSyncWithBuilder","editMode","useBuilderEditMode","propControllers","setPropControllers","controller","toDOMNode","pollBoxModel","onBoxModelChange","boxModel","changeBoxModel","useImperativeHandle","getDomNode","getBoxModel","getBox","initialValue","useMemo","setSlateEditor","handleFocus","focus","handleKeyDown","isHotkey","redo","undo","blur","onKeyDown","handleBlur","relatedTarget","deselect","Slate","Editable","Leaf","Element","BuilderEditMode","CONTENT"],"mappings":"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"}
@@ -35,12 +35,10 @@ var reactPage = require("./react-page.cjs.js");
35
35
  require("use-sync-external-store/shim");
36
36
  var next = require("./index.cjs.js");
37
37
  require("slate");
38
- require("./state/breakpoints.cjs.js");
39
- require("is-hotkey");
40
- require("slate-react");
41
38
  var useMediaQuery = require("./useMediaQuery.cjs.js");
42
39
  var css = require("@emotion/css");
43
40
  var jsxRuntime = require("react/jsx-runtime");
41
+ require("./state/breakpoints.cjs.js");
44
42
  var NextImage = require("next/image");
45
43
  var useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs.js");
46
44
  var ReactPlayer = require("react-player");