@makeswift/runtime 0.7.7 → 0.7.9
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.
- package/dist/Box.cjs.js +2 -0
- package/dist/Box.cjs.js.map +1 -1
- package/dist/Box.es.js +2 -0
- package/dist/Box.es.js.map +1 -1
- package/dist/Button.cjs.js +2 -0
- package/dist/Button.cjs.js.map +1 -1
- package/dist/Button.es.js +2 -0
- package/dist/Button.es.js.map +1 -1
- package/dist/Carousel.cjs.js +2 -0
- package/dist/Carousel.cjs.js.map +1 -1
- package/dist/Carousel.es.js +2 -0
- package/dist/Carousel.es.js.map +1 -1
- package/dist/Countdown.cjs.js +2 -0
- package/dist/Countdown.cjs.js.map +1 -1
- package/dist/Countdown.es.js +2 -0
- package/dist/Countdown.es.js.map +1 -1
- package/dist/Divider.cjs.js +2 -0
- package/dist/Divider.cjs.js.map +1 -1
- package/dist/Divider.es.js +2 -0
- package/dist/Divider.es.js.map +1 -1
- package/dist/Embed.cjs.js +2 -0
- package/dist/Embed.cjs.js.map +1 -1
- package/dist/Embed.es.js +2 -0
- package/dist/Embed.es.js.map +1 -1
- package/dist/Form.cjs.js +3 -1
- package/dist/Form.cjs.js.map +1 -1
- package/dist/Form.es.js +3 -1
- package/dist/Form.es.js.map +1 -1
- package/dist/Image.cjs.js +2 -0
- package/dist/Image.cjs.js.map +1 -1
- package/dist/Image.es.js +2 -0
- package/dist/Image.es.js.map +1 -1
- package/dist/LiveProvider.cjs.js +2 -0
- package/dist/LiveProvider.cjs.js.map +1 -1
- package/dist/LiveProvider.es.js +3 -1
- package/dist/LiveProvider.es.js.map +1 -1
- package/dist/Navigation.cjs.js +2 -0
- package/dist/Navigation.cjs.js.map +1 -1
- package/dist/Navigation.es.js +2 -0
- package/dist/Navigation.es.js.map +1 -1
- package/dist/PreviewProvider.cjs.js +29 -23
- package/dist/PreviewProvider.cjs.js.map +1 -1
- package/dist/PreviewProvider.es.js +33 -25
- package/dist/PreviewProvider.es.js.map +1 -1
- package/dist/ReadOnlyText.cjs.js +185 -153
- package/dist/ReadOnlyText.cjs.js.map +1 -1
- package/dist/ReadOnlyText.es.js +182 -153
- package/dist/ReadOnlyText.es.js.map +1 -1
- package/dist/Root.cjs.js +2 -0
- package/dist/Root.cjs.js.map +1 -1
- package/dist/Root.es.js +2 -0
- package/dist/Root.es.js.map +1 -1
- package/dist/SocialLinks.cjs.js +2 -0
- package/dist/SocialLinks.cjs.js.map +1 -1
- package/dist/SocialLinks.es.js +2 -0
- package/dist/SocialLinks.es.js.map +1 -1
- package/dist/Text.cjs.js +3 -1
- package/dist/Text.cjs.js.map +1 -1
- package/dist/Text.es.js +3 -1
- package/dist/Text.es.js.map +1 -1
- package/dist/Video.cjs.js +2 -0
- package/dist/Video.cjs.js.map +1 -1
- package/dist/Video.es.js +2 -0
- package/dist/Video.es.js.map +1 -1
- package/dist/actions.cjs.js +1 -0
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +1 -1
- package/dist/builder.cjs.js +2 -0
- package/dist/builder.cjs.js.map +1 -1
- package/dist/builder.es.js +2 -0
- package/dist/builder.es.js.map +1 -1
- package/dist/compare.cjs.js +126 -0
- package/dist/compare.cjs.js.map +1 -0
- package/dist/compare.es.js +124 -0
- package/dist/compare.es.js.map +1 -0
- package/dist/components.cjs.js +2 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +2 -0
- package/dist/components.es.js.map +1 -1
- package/dist/constants.cjs.js +2 -0
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +2 -0
- package/dist/constants.es.js.map +1 -1
- package/dist/control-serialization.cjs.js +29 -0
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +30 -0
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/controls.cjs.js +13 -0
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +4 -1
- package/dist/controls.es.js.map +1 -1
- package/dist/index.cjs.js +6 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs2.js +2 -0
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs5.js +2 -0
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs6.js +663 -96
- package/dist/index.cjs6.js.map +1 -1
- package/dist/index.es.js +6 -4
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +2 -0
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es5.js +2 -0
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es6.js +657 -95
- package/dist/index.es6.js.map +1 -1
- package/dist/main.cjs.js +2 -0
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +2 -0
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +2 -0
- package/dist/next.cjs.js.map +1 -1
- package/dist/next.es.js +2 -0
- package/dist/next.es.js.map +1 -1
- package/dist/prop-controllers.cjs.js +2 -0
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +2 -0
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react.cjs.js +2 -0
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +2 -0
- package/dist/react.es.js.map +1 -1
- package/dist/rich-text.cjs.js +894 -22
- package/dist/rich-text.cjs.js.map +1 -1
- package/dist/rich-text.es.js +888 -23
- package/dist/rich-text.es.js.map +1 -1
- package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts +13 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/constants.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/constants.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/dedent.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/dedent.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/indent.d.ts +4 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/indent.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts +6 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/toggleList.d.ts +8 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/toggleList.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/unwrapList.d.ts +4 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/unwrapList.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/editor.d.ts +7 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/editor.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/element.d.ts +26 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/element.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/filterForSubtreeRoots.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/filterForSubtreeRoots.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/getSelectedListItems.d.ts +5 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/getSelectedListItems.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/location.d.ts +5 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/location.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/wrapList.d.ts +8 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/wrapList.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts +48 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts +21 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts +2 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts +13 -0
- package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/index.d.ts +4 -0
- package/dist/types/src/components/builtin/Text/EditableText/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts +8 -0
- package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +16 -0
- package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/Text.d.ts +1 -1
- package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +8 -0
- package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Element/element.d.ts +4 -0
- package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Element/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Text/components/Element/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +8 -0
- package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +4 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts +27 -0
- package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/index.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/index.d.ts.map +1 -0
- package/dist/types/src/components/utils/types.d.ts +1 -1
- package/dist/types/src/components/utils/types.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text/compare.d.ts +5 -0
- package/dist/types/src/controls/rich-text/compare.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/compare.test.d.ts +2 -0
- package/dist/types/src/controls/rich-text/compare.test.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/dto-types.d.ts +131 -0
- package/dist/types/src/controls/rich-text/dto-types.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/fixtures/blockquote.d.ts +3 -0
- package/dist/types/src/controls/rich-text/fixtures/blockquote.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/fixtures/index.d.ts +4 -0
- package/dist/types/src/controls/rich-text/fixtures/index.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/fixtures/list.d.ts +3 -0
- package/dist/types/src/controls/rich-text/fixtures/list.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/fixtures/typography.d.ts +3 -0
- package/dist/types/src/controls/rich-text/fixtures/typography.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/index.d.ts +6 -0
- package/dist/types/src/controls/rich-text/index.d.ts.map +1 -0
- package/dist/types/src/controls/{rich-text.d.ts → rich-text/rich-text.d.ts} +8 -10
- package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/translation.d.ts +8 -0
- package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/translation.test.d.ts +2 -0
- package/dist/types/src/controls/rich-text/translation.test.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/types.d.ts +134 -0
- package/dist/types/src/controls/rich-text/types.d.ts.map +1 -0
- package/dist/types/src/prop-controllers/descriptors.d.ts +2 -3
- package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/instances.d.ts +4 -7
- package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/element-imperative-handle.d.ts.map +1 -1
- package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
- package/dist/typography.cjs.js +146 -0
- package/dist/typography.cjs.js.map +1 -0
- package/dist/typography.es.js +143 -0
- package/dist/typography.es.js.map +1 -0
- package/package.json +7 -10
- package/dist/EditableText.cjs.js +0 -380
- package/dist/EditableText.cjs.js.map +0 -1
- package/dist/EditableText.es.js +0 -373
- package/dist/EditableText.es.js.map +0 -1
- package/dist/types/src/components/builtin/Text/EditableText.d.ts +0 -16
- package/dist/types/src/components/builtin/Text/EditableText.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +0 -10
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +0 -25
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +0 -10
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts +0 -5
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +0 -3
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +0 -3
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +0 -3
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +0 -3
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +0 -1
- package/dist/types/src/controls/rich-text.d.ts.map +0 -1
package/dist/EditableText.cjs.js
DELETED
|
@@ -1,380 +0,0 @@
|
|
|
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 Hotkeys = require("slate-hotkeys");
|
|
37
|
-
var isHotkey = require("is-hotkey");
|
|
38
|
-
var boxModels = require("./box-models.cjs.js");
|
|
39
|
-
var slateReact = require("slate-react");
|
|
40
|
-
var Lists = require("@convertkit/slate-lists");
|
|
41
|
-
var index = require("./index.cjs6.js");
|
|
42
|
-
var jsxRuntime = require("react/jsx-runtime");
|
|
43
|
-
var css = require("@emotion/css");
|
|
44
|
-
var next = require("./index.cjs.js");
|
|
45
|
-
var index$1 = require("./index.cjs3.js");
|
|
46
|
-
require("use-sync-external-store/shim");
|
|
47
|
-
var richText = require("./rich-text.cjs.js");
|
|
48
|
-
require("css-box-model");
|
|
49
|
-
require("./actions.cjs.js");
|
|
50
|
-
require("./constants.cjs.js");
|
|
51
|
-
require("redux");
|
|
52
|
-
require("redux-thunk");
|
|
53
|
-
require("use-sync-external-store/shim/with-selector");
|
|
54
|
-
require("next/dynamic");
|
|
55
|
-
require("@emotion/serialize");
|
|
56
|
-
require("@emotion/utils");
|
|
57
|
-
require("./text-input.cjs.js");
|
|
58
|
-
require("./combobox.cjs.js");
|
|
59
|
-
require("./types.cjs.js");
|
|
60
|
-
require("color");
|
|
61
|
-
require("scroll-into-view-if-needed");
|
|
62
|
-
require("react-dom");
|
|
63
|
-
require("html-react-parser");
|
|
64
|
-
require("next/head");
|
|
65
|
-
require("@emotion/server/create-instance");
|
|
66
|
-
require("next/document");
|
|
67
|
-
require("cookie");
|
|
68
|
-
require("cors");
|
|
69
|
-
require("http-proxy");
|
|
70
|
-
require("set-cookie-parser");
|
|
71
|
-
require("uuid/v4");
|
|
72
|
-
require("corporate-ipsum");
|
|
73
|
-
require("next/link");
|
|
74
|
-
function _interopDefaultLegacy(e) {
|
|
75
|
-
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
|
76
|
-
}
|
|
77
|
-
var Hotkeys__default = /* @__PURE__ */ _interopDefaultLegacy(Hotkeys);
|
|
78
|
-
var Lists__default = /* @__PURE__ */ _interopDefaultLegacy(Lists);
|
|
79
|
-
const TYPOGRAPHY_TYPE = "typography";
|
|
80
|
-
function DeviceOverridesMarksPlugin() {
|
|
81
|
-
return {
|
|
82
|
-
renderMark({
|
|
83
|
-
mark,
|
|
84
|
-
children
|
|
85
|
-
}, _editor, next2) {
|
|
86
|
-
if (mark.type === TYPOGRAPHY_TYPE) {
|
|
87
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.Mark, {
|
|
88
|
-
value: mark.data.get("value"),
|
|
89
|
-
children
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return next2();
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
function DeviceOverridesBlockPlugin() {
|
|
97
|
-
return {
|
|
98
|
-
renderBlock(props, _editor, next2) {
|
|
99
|
-
const {
|
|
100
|
-
node,
|
|
101
|
-
attributes,
|
|
102
|
-
children
|
|
103
|
-
} = props;
|
|
104
|
-
const blockProps = {
|
|
105
|
-
textAlign: node.data.get("textAlign")
|
|
106
|
-
};
|
|
107
|
-
switch (node.type) {
|
|
108
|
-
case "paragraph":
|
|
109
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
110
|
-
as: "p",
|
|
111
|
-
children
|
|
112
|
-
}));
|
|
113
|
-
case "heading-one":
|
|
114
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
115
|
-
as: "h1",
|
|
116
|
-
children
|
|
117
|
-
}));
|
|
118
|
-
case "heading-two":
|
|
119
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
120
|
-
as: "h2",
|
|
121
|
-
children
|
|
122
|
-
}));
|
|
123
|
-
case "heading-three":
|
|
124
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
125
|
-
as: "h3",
|
|
126
|
-
children
|
|
127
|
-
}));
|
|
128
|
-
case "heading-four":
|
|
129
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
130
|
-
as: "h4",
|
|
131
|
-
children
|
|
132
|
-
}));
|
|
133
|
-
case "heading-five":
|
|
134
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
135
|
-
as: "h5",
|
|
136
|
-
children
|
|
137
|
-
}));
|
|
138
|
-
case "heading-six":
|
|
139
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
140
|
-
as: "h6",
|
|
141
|
-
children
|
|
142
|
-
}));
|
|
143
|
-
case "blockquote":
|
|
144
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
145
|
-
as: "blockquote",
|
|
146
|
-
children
|
|
147
|
-
}));
|
|
148
|
-
default:
|
|
149
|
-
return next2();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
function StyledLink(_a) {
|
|
155
|
-
var _b = _a, {
|
|
156
|
-
className
|
|
157
|
-
} = _b, restOfProps = __objRest(_b, [
|
|
158
|
-
"className"
|
|
159
|
-
]);
|
|
160
|
-
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, __spreadProps(__spreadValues({}, restOfProps), {
|
|
161
|
-
className: css.cx(next.useStyle({
|
|
162
|
-
textDecoration: "none"
|
|
163
|
-
}), className)
|
|
164
|
-
}));
|
|
165
|
-
}
|
|
166
|
-
function LinkPlugin() {
|
|
167
|
-
return {
|
|
168
|
-
renderInline(props, _editor, next2) {
|
|
169
|
-
const {
|
|
170
|
-
attributes,
|
|
171
|
-
children,
|
|
172
|
-
node
|
|
173
|
-
} = props;
|
|
174
|
-
switch (node.type) {
|
|
175
|
-
case "link": {
|
|
176
|
-
const {
|
|
177
|
-
data
|
|
178
|
-
} = node;
|
|
179
|
-
return /* @__PURE__ */ jsxRuntime.jsx(StyledLink, __spreadProps(__spreadValues({}, attributes), {
|
|
180
|
-
link: data.toJS(),
|
|
181
|
-
children
|
|
182
|
-
}));
|
|
183
|
-
}
|
|
184
|
-
default: {
|
|
185
|
-
return next2();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
function Inlines() {
|
|
192
|
-
return {
|
|
193
|
-
renderInline(props, _editor, next2) {
|
|
194
|
-
const {
|
|
195
|
-
attributes,
|
|
196
|
-
children,
|
|
197
|
-
node
|
|
198
|
-
} = props;
|
|
199
|
-
switch (node.type) {
|
|
200
|
-
case "code": {
|
|
201
|
-
return /* @__PURE__ */ jsxRuntime.jsx("code", __spreadProps(__spreadValues({}, attributes), {
|
|
202
|
-
children
|
|
203
|
-
}));
|
|
204
|
-
}
|
|
205
|
-
case "superscript": {
|
|
206
|
-
return /* @__PURE__ */ jsxRuntime.jsx("sup", __spreadProps(__spreadValues({}, attributes), {
|
|
207
|
-
children
|
|
208
|
-
}));
|
|
209
|
-
}
|
|
210
|
-
case "subscript": {
|
|
211
|
-
return /* @__PURE__ */ jsxRuntime.jsx("sub", __spreadProps(__spreadValues({}, attributes), {
|
|
212
|
-
children
|
|
213
|
-
}));
|
|
214
|
-
}
|
|
215
|
-
default: {
|
|
216
|
-
return next2();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
const RichTextEditor = React.forwardRef(function RichTextEditor2(_c, ref) {
|
|
223
|
-
var _d = _c, {
|
|
224
|
-
placeholder = "Write some text...",
|
|
225
|
-
className
|
|
226
|
-
} = _d, restOfProps = __objRest(_d, [
|
|
227
|
-
"placeholder",
|
|
228
|
-
"className"
|
|
229
|
-
]);
|
|
230
|
-
const plugins = React.useMemo(() => [Lists__default["default"](), LinkPlugin(), Inlines(), DeviceOverridesBlockPlugin(), DeviceOverridesMarksPlugin()], []);
|
|
231
|
-
return /* @__PURE__ */ jsxRuntime.jsx(slateReact.Editor, __spreadProps(__spreadValues({}, restOfProps), {
|
|
232
|
-
style: {
|
|
233
|
-
WebkitUserModify: void 0
|
|
234
|
-
},
|
|
235
|
-
className: css.cx(next.useStyle({
|
|
236
|
-
"ul, ol": {
|
|
237
|
-
margin: 0
|
|
238
|
-
}
|
|
239
|
-
}), className),
|
|
240
|
-
ref,
|
|
241
|
-
autoFocus: false,
|
|
242
|
-
plugins,
|
|
243
|
-
placeholder
|
|
244
|
-
}));
|
|
245
|
-
});
|
|
246
|
-
const defaultText = {
|
|
247
|
-
document: {
|
|
248
|
-
nodes: [{
|
|
249
|
-
object: "block",
|
|
250
|
-
type: "paragraph",
|
|
251
|
-
nodes: []
|
|
252
|
-
}]
|
|
253
|
-
},
|
|
254
|
-
data: {}
|
|
255
|
-
};
|
|
256
|
-
const COMMIT_DEBOUNCE_DELAY = 500;
|
|
257
|
-
const EditableText = React.forwardRef(function EditableText2({
|
|
258
|
-
id,
|
|
259
|
-
text,
|
|
260
|
-
width,
|
|
261
|
-
margin
|
|
262
|
-
}, ref) {
|
|
263
|
-
const [editor, setEditor] = React.useState(null);
|
|
264
|
-
const [propControllers, setPropControllers] = React.useState(null);
|
|
265
|
-
const controller = propControllers == null ? void 0 : propControllers.text;
|
|
266
|
-
const editMode = next.useBuilderEditMode();
|
|
267
|
-
React.useEffect(() => {
|
|
268
|
-
const element = editor == null ? void 0 : editor.findDOMNode([]);
|
|
269
|
-
if (element == null || !(element instanceof HTMLElement) || controller == null)
|
|
270
|
-
return;
|
|
271
|
-
return next.pollBoxModel({
|
|
272
|
-
element,
|
|
273
|
-
onBoxModelChange: (boxModel) => controller.changeBoxModel(boxModel)
|
|
274
|
-
});
|
|
275
|
-
}, [editor, controller]);
|
|
276
|
-
React.useImperativeHandle(ref, () => ({
|
|
277
|
-
getDomNode() {
|
|
278
|
-
const el = editor == null ? void 0 : editor.findDOMNode([]);
|
|
279
|
-
return el instanceof Element ? el : null;
|
|
280
|
-
},
|
|
281
|
-
getBoxModel() {
|
|
282
|
-
const el = editor == null ? void 0 : editor.findDOMNode([]);
|
|
283
|
-
return el instanceof Element ? boxModels.getBox(el) : null;
|
|
284
|
-
},
|
|
285
|
-
setPropControllers
|
|
286
|
-
}), [editor, setPropControllers]);
|
|
287
|
-
React.useEffect(() => {
|
|
288
|
-
if (editor)
|
|
289
|
-
controller == null ? void 0 : controller.setSlateEditor(editor);
|
|
290
|
-
}, [controller, editor]);
|
|
291
|
-
const [value, setValue] = React.useState(() => {
|
|
292
|
-
const _a = text != null ? text : defaultText, {
|
|
293
|
-
selection
|
|
294
|
-
} = _a, textWithoutSelection = __objRest(_a, [
|
|
295
|
-
"selection"
|
|
296
|
-
]);
|
|
297
|
-
return slate.Value.fromJSON(textWithoutSelection);
|
|
298
|
-
});
|
|
299
|
-
const [shouldCommit, setShouldCommit] = React.useState(true);
|
|
300
|
-
React.useEffect(() => {
|
|
301
|
-
if (shouldCommit) {
|
|
302
|
-
const nextValue = slate.Value.fromJSON(text != null ? text : defaultText);
|
|
303
|
-
setValue((currentValue) => currentValue.selection.isBlurred ? slate.Value.fromJSON(nextValue.toJSON({
|
|
304
|
-
preserveSelection: false
|
|
305
|
-
})) : nextValue);
|
|
306
|
-
}
|
|
307
|
-
}, [shouldCommit, text]);
|
|
308
|
-
React.useEffect(() => {
|
|
309
|
-
if (shouldCommit)
|
|
310
|
-
return;
|
|
311
|
-
const timeoutId = window.setTimeout(() => {
|
|
312
|
-
setShouldCommit(true);
|
|
313
|
-
}, COMMIT_DEBOUNCE_DELAY);
|
|
314
|
-
return () => {
|
|
315
|
-
window.clearTimeout(timeoutId);
|
|
316
|
-
};
|
|
317
|
-
}, [shouldCommit]);
|
|
318
|
-
function handleChange(change) {
|
|
319
|
-
setValue(change.value);
|
|
320
|
-
if (change.value !== value) {
|
|
321
|
-
setShouldCommit(false);
|
|
322
|
-
controller == null ? void 0 : controller.onChange(change);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
const lastController = React.useRef(controller);
|
|
326
|
-
if (lastController.current !== controller)
|
|
327
|
-
lastController.current = controller;
|
|
328
|
-
const handleFocus = React.useCallback(() => {
|
|
329
|
-
var _a;
|
|
330
|
-
(_a = lastController.current) == null ? void 0 : _a.focus();
|
|
331
|
-
}, []);
|
|
332
|
-
const handleKeyDown = React.useCallback((event, _editor, next2) => {
|
|
333
|
-
var _a, _b, _c;
|
|
334
|
-
if (Hotkeys__default["default"].isUndo(event)) {
|
|
335
|
-
(_a = lastController.current) == null ? void 0 : _a.undo();
|
|
336
|
-
return true;
|
|
337
|
-
}
|
|
338
|
-
if (Hotkeys__default["default"].isRedo(event)) {
|
|
339
|
-
(_b = lastController.current) == null ? void 0 : _b.redo();
|
|
340
|
-
return true;
|
|
341
|
-
}
|
|
342
|
-
if (isHotkey.isHotkey("escape")(event)) {
|
|
343
|
-
(_c = lastController.current) == null ? void 0 : _c.blur();
|
|
344
|
-
return true;
|
|
345
|
-
}
|
|
346
|
-
return next2();
|
|
347
|
-
}, []);
|
|
348
|
-
const handleBlur = React.useCallback((event, editor2, next2) => {
|
|
349
|
-
const selection = editor2.value.selection;
|
|
350
|
-
next2();
|
|
351
|
-
if (event.relatedTarget == null)
|
|
352
|
-
editor2.select(selection);
|
|
353
|
-
}, []);
|
|
354
|
-
const lastEditMode = React.useRef(editMode);
|
|
355
|
-
if (lastEditMode.current !== editMode)
|
|
356
|
-
lastEditMode.current = editMode;
|
|
357
|
-
const handleClick = (event, _editor, next2) => {
|
|
358
|
-
next2();
|
|
359
|
-
if (lastEditMode.current === richText.BuilderEditMode.CONTENT)
|
|
360
|
-
event.stopPropagation();
|
|
361
|
-
};
|
|
362
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RichTextEditor, {
|
|
363
|
-
id,
|
|
364
|
-
ref: setEditor,
|
|
365
|
-
className: css.cx(next.useStyle({
|
|
366
|
-
"ul, ol": {
|
|
367
|
-
margin: 0
|
|
368
|
-
}
|
|
369
|
-
}), width, margin),
|
|
370
|
-
value,
|
|
371
|
-
onChange: handleChange,
|
|
372
|
-
onFocus: handleFocus,
|
|
373
|
-
onKeyDown: handleKeyDown,
|
|
374
|
-
onBlur: handleBlur,
|
|
375
|
-
onClick: handleClick,
|
|
376
|
-
readOnly: editMode !== richText.BuilderEditMode.CONTENT
|
|
377
|
-
});
|
|
378
|
-
});
|
|
379
|
-
exports["default"] = EditableText;
|
|
380
|
-
//# sourceMappingURL=EditableText.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditableText.cjs.js","sources":["../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Link.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.tsx","../src/components/builtin/Text/components/RichTextEditor/index.tsx","../src/components/builtin/Text/EditableText.tsx"],"sourcesContent":["import type { Plugin } from 'slate-react'\n\nimport Mark from '../components/Mark'\n\nconst TYPOGRAPHY_TYPE = 'typography'\n\nexport default function DeviceOverridesMarksPlugin(): Plugin {\n return {\n renderMark({ mark, children }, _editor, next) {\n if (mark.type === TYPOGRAPHY_TYPE) {\n return <Mark value={mark.data.get('value')}>{children}</Mark>\n }\n\n return next()\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nimport Block from '../components/Block'\n\nexport default function DeviceOverridesBlockPlugin(): Plugin {\n return {\n renderBlock(props, _editor, next): JSX.Element {\n const { node, attributes, children } = props\n const blockProps = { textAlign: node.data.get('textAlign') }\n\n switch (node.type) {\n case 'paragraph':\n return (\n <Block {...attributes} {...blockProps} as=\"p\">\n {children}\n </Block>\n )\n\n case 'heading-one':\n return (\n <Block {...attributes} {...blockProps} as=\"h1\">\n {children}\n </Block>\n )\n\n case 'heading-two':\n return (\n <Block {...attributes} {...blockProps} as=\"h2\">\n {children}\n </Block>\n )\n\n case 'heading-three':\n return (\n <Block {...attributes} {...blockProps} as=\"h3\">\n {children}\n </Block>\n )\n\n case 'heading-four':\n return (\n <Block {...attributes} {...blockProps} as=\"h4\">\n {children}\n </Block>\n )\n\n case 'heading-five':\n return (\n <Block {...attributes} {...blockProps} as=\"h5\">\n {children}\n </Block>\n )\n\n case 'heading-six':\n return (\n <Block {...attributes} {...blockProps} as=\"h6\">\n {children}\n </Block>\n )\n\n case 'blockquote':\n return (\n <Block {...attributes} {...blockProps} as=\"blockquote\">\n {children}\n </Block>\n )\n\n default:\n return next()\n }\n },\n }\n}\n","import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { Plugin } from 'slate-react'\nimport { useStyle } from '../../../../../../runtimes/react/use-style'\n\nimport { Link } from '../../../../../shared/Link'\n\nfunction StyledLink({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Link>) {\n return <Link {...restOfProps} className={cx(useStyle({ textDecoration: 'none' }), className)} />\n}\n\nexport default function LinkPlugin(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'link': {\n const { data } = node\n\n return (\n <StyledLink {...attributes} link={data.toJS()}>\n {children}\n </StyledLink>\n )\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nexport default function Inlines(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'code': {\n return <code {...attributes}>{children}</code>\n }\n\n case 'superscript': {\n return <sup {...attributes}>{children}</sup>\n }\n\n case 'subscript': {\n return <sub {...attributes}>{children}</sub>\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from 'react'\n\nimport { Editor as SlateEditor } from 'slate-react'\n\n// @ts-expect-error: no types for '@convertkit/slate-lists'\nimport Lists from '@convertkit/slate-lists'\n\nimport DeviceOverridesMarks from './plugins/DeviceOverridesMarks'\nimport DeviceOverridesBlocks from './plugins/DeviceOverridesBlocks'\nimport Link from './plugins/Link'\nimport Inlines from './plugins/Inlines'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\n\nexport { overrideTypographyStyle } from './components/Mark'\n\ntype Props = ComponentPropsWithoutRef<typeof SlateEditor>\n\nexport const RichTextEditor = forwardRef<SlateEditor, Props>(function RichTextEditor(\n { placeholder = 'Write some text...', className, ...restOfProps }: Props,\n ref,\n) {\n const plugins = useMemo(\n () => [Lists(), Link(), Inlines(), DeviceOverridesBlocks(), DeviceOverridesMarks()],\n [],\n )\n\n return (\n <SlateEditor\n {...restOfProps}\n // Workaround because our Slate editor is broken on Chrome 105\n // Problem: https://linear.app/makeswift/issue/PRD-434/our-rich-text-component-breaks-in-the-latest-version-of-chrome\n // Workaround: https://github.com/ianstormtaylor/slate/issues/5110#issuecomment-1234951122\n style={{ WebkitUserModify: undefined }}\n className={cx(useStyle({ 'ul, ol': { margin: 0 } }), className)}\n ref={ref}\n autoFocus={false}\n plugins={plugins}\n placeholder={placeholder}\n />\n )\n})\n","import {\n useState,\n Ref,\n useImperativeHandle,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n KeyboardEvent as ReactKeyboardEvent,\n FocusEvent as ReactFocusEvent,\n MouseEvent as ReactMouseEvent,\n} from 'react'\nimport { Editor, OnChangeParam } from 'slate-react'\nimport { Value, ValueJSON } from 'slate'\n// @ts-expect-error: no types for 'slate-hotkeys'\nimport Hotkeys from 'slate-hotkeys'\nimport { isHotkey } from 'is-hotkey'\n\nimport {\n ElementIDValue,\n RichTextDescriptor,\n RichTextValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { RichTextEditor } from './components/RichTextEditor'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { pollBoxModel } from '../../../runtimes/react/poll-box-model'\nimport { useBuilderEditMode } from '../../../runtimes/react'\nimport { BuilderEditMode } from '../../../state/modules/builder-edit-mode'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst defaultText: ValueJSON = {\n document: { nodes: [{ object: 'block' as const, type: 'paragraph' as const, nodes: [] }] },\n data: {},\n}\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\ntype Descriptors = { text?: RichTextDescriptor }\n\nconst EditableText = forwardRef(function EditableText(\n { id, text, width, margin }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const [editor, setEditor] = useState<Editor | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n const editMode = useBuilderEditMode()\n\n useEffect(() => {\n const element = editor?.findDOMNode([])\n if (element == null || !(element instanceof HTMLElement) || controller == null) return\n return pollBoxModel({\n element: element,\n onBoxModelChange: boxModel => controller.changeBoxModel(boxModel),\n })\n }, [editor, controller])\n\n useImperativeHandle(\n ref,\n () => ({\n getDomNode() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? el : null\n },\n getBoxModel() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? getBox(el) : null\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n useEffect(() => {\n if (editor) controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n /**\n * We must keep local state so that we can reflect the user's typed changes immediately. At the\n * same time, though, the source of truth for the data is the prop data. This presents a\n * challenge: how do we keep local state in sync with the prop data without mangling user input as\n * data comes in?\n *\n * Consider, for example, that the user types \"Hello\". If at a later time, when the user is trying\n * to type \", world\" the component re-renders with prop data \"H\", \"He\", \"Hel\", \"Hell\", \"Hello\", it\n * will disrupt the user's typing. This could also happen as a result of the prop data changing\n * for other reasons, like collaborators changing the prop data concurrently. We want to avoid to\n * disrupt the user's typing, while at the same time display the \"true\" value as quickly as\n * possible.\n *\n * The approach we take here is to commit the prop data at an opportune time: as the user is\n * typing we avoid to commit prop data. But once they've stopped typing, we commit it as soon as\n * possible. This is known as a debounce.\n */\n const [value, setValue] = useState(() => {\n const { selection, ...textWithoutSelection } = text ?? defaultText\n\n return Value.fromJSON(textWithoutSelection)\n })\n const [shouldCommit, setShouldCommit] = useState(true)\n\n useEffect(() => {\n if (shouldCommit) {\n const nextValue = Value.fromJSON(text ?? defaultText)\n\n setValue(currentValue =>\n currentValue.selection.isBlurred\n ? Value.fromJSON(nextValue.toJSON({ preserveSelection: false }))\n : nextValue,\n )\n }\n }, [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 function handleChange(change: OnChangeParam) {\n setValue(change.value as Value)\n\n if (change.value !== value) {\n setShouldCommit(false)\n\n controller?.onChange(change)\n }\n }\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change. Since `controller` is first `undefined` then we must use a ref.\n const lastController = useRef(controller)\n if (lastController.current !== controller) lastController.current = controller\n const handleFocus = useCallback(() => {\n lastController.current?.focus()\n }, [])\n const handleKeyDown = useCallback(\n (event: ReactKeyboardEvent, _editor: Editor, next: () => any) => {\n if (Hotkeys.isUndo(event)) {\n lastController.current?.undo()\n\n return true\n }\n\n if (Hotkeys.isRedo(event)) {\n lastController.current?.redo()\n\n return true\n }\n\n if (isHotkey('escape')(event)) {\n lastController.current?.blur()\n\n return true\n }\n\n return next()\n },\n [],\n )\n const handleBlur = useCallback((event: ReactFocusEvent, editor: Editor, next: () => any) => {\n const selection = editor.value.selection\n\n next()\n\n // Normally, after a user highlight a text, clicking on the panel will remove the text selection.\n // This line is a workaround for that. Because the panel is not in the iframe, relatedTarget\n // would be null, and we select the previous text selection to maintain the text highlight.\n // Inspiration: https://github.com/ianstormtaylor/slate/issues/3412#issuecomment-663906003\n if (event.relatedTarget == null) editor.select(selection)\n }, [])\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change.\n const lastEditMode = useRef(editMode)\n if (lastEditMode.current !== editMode) lastEditMode.current = editMode\n\n const handleClick = (event: ReactMouseEvent, _editor: Editor, next: () => any) => {\n next()\n\n // This is needed to prevent clicks from propagating in content mode.\n // This is not ideal because it might break if we implement a plugin in the future that depends on click.\n // Also, we might also want to stop hover/mousedown event\n if (lastEditMode.current === BuilderEditMode.CONTENT) event.stopPropagation()\n }\n\n return (\n <RichTextEditor\n // @ts-expect-error: types don't allow for 'id' prop even though it's used.\n id={id}\n ref={setEditor}\n className={cx(useStyle({ 'ul, ol': { margin: 0 } }), width, margin)}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n onClick={handleClick}\n readOnly={editMode !== BuilderEditMode.CONTENT}\n />\n )\n})\n\nexport default EditableText\n"],"names":["TYPOGRAPHY_TYPE","renderMark","mark","children","_editor","next","type","Mark","data","get","renderBlock","props","node","attributes","blockProps","textAlign","Block","className","restOfProps","Link","cx","useStyle","textDecoration","renderInline","toJS","RichTextEditor","forwardRef","ref","placeholder","plugins","useMemo","Lists","Inlines","DeviceOverridesBlocks","DeviceOverridesMarks","SlateEditor","WebkitUserModify","undefined","margin","defaultText","document","nodes","object","COMMIT_DEBOUNCE_DELAY","EditableText","id","text","width","editor","setEditor","useState","propControllers","setPropControllers","controller","editMode","useBuilderEditMode","useEffect","element","findDOMNode","HTMLElement","pollBoxModel","onBoxModelChange","boxModel","changeBoxModel","useImperativeHandle","getDomNode","el","Element","getBoxModel","getBox","setSlateEditor","value","setValue","selection","textWithoutSelection","Value","fromJSON","shouldCommit","setShouldCommit","nextValue","currentValue","isBlurred","toJSON","preserveSelection","timeoutId","window","setTimeout","clearTimeout","change","onChange","lastController","useRef","current","handleFocus","useCallback","focus","handleKeyDown","event","Hotkeys","isUndo","undo","isRedo","redo","isHotkey","blur","handleBlur","relatedTarget","select","lastEditMode","handleClick","BuilderEditMode","CONTENT","stopPropagation","handleChange"],"mappings":"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"}
|