@makeswift/runtime 0.9.3 → 0.9.5
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 +4 -4
- package/dist/Box.es.js +5 -5
- package/dist/Button.cjs.js +4 -4
- package/dist/Button.es.js +5 -5
- package/dist/Carousel.cjs.js +4 -4
- package/dist/Carousel.es.js +5 -5
- package/dist/Countdown.cjs.js +2 -2
- package/dist/Countdown.es.js +3 -3
- package/dist/Divider.cjs.js +4 -4
- package/dist/Divider.es.js +5 -5
- package/dist/Embed.cjs.js +1 -0
- package/dist/Embed.cjs.js.map +1 -1
- package/dist/Embed.es.js +2 -1
- package/dist/Embed.es.js.map +1 -1
- package/dist/Form.cjs.js +2 -2
- package/dist/Form.es.js +3 -3
- package/dist/Image.cjs.js +2 -2
- package/dist/Image.es.js +3 -3
- package/dist/LiveProvider.cjs.js +5 -5
- package/dist/LiveProvider.es.js +5 -5
- package/dist/Navigation.cjs.js +3 -3
- package/dist/Navigation.es.js +4 -4
- package/dist/PreviewProvider.cjs.js +9 -8
- package/dist/PreviewProvider.cjs.js.map +1 -1
- package/dist/PreviewProvider.es.js +11 -10
- package/dist/PreviewProvider.es.js.map +1 -1
- package/dist/ReadOnlyText.cjs.js +4 -5
- package/dist/ReadOnlyText.cjs.js.map +1 -1
- package/dist/ReadOnlyText.es.js +4 -5
- package/dist/ReadOnlyText.es.js.map +1 -1
- package/dist/ReadOnlyTextV2.cjs.js +17 -19
- package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
- package/dist/ReadOnlyTextV2.es.js +16 -18
- package/dist/ReadOnlyTextV2.es.js.map +1 -1
- package/dist/Root.cjs.js +2 -2
- package/dist/Root.es.js +3 -3
- package/dist/SocialLinks.cjs.js +4 -4
- package/dist/SocialLinks.es.js +5 -5
- package/dist/Text.cjs.js +2 -2
- package/dist/Text.es.js +2 -2
- package/dist/Video.cjs.js +1 -0
- package/dist/Video.cjs.js.map +1 -1
- package/dist/Video.es.js +2 -1
- package/dist/Video.es.js.map +1 -1
- package/dist/actions.cjs.js +467 -3
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +467 -4
- package/dist/actions.es.js.map +1 -1
- package/dist/box-model.cjs.js +1 -0
- package/dist/box-model.cjs.js.map +1 -1
- package/dist/box-model.es.js +1 -0
- package/dist/box-model.es.js.map +1 -1
- package/dist/builder.cjs.js +1 -0
- package/dist/builder.cjs.js.map +1 -1
- package/dist/builder.es.js +1 -0
- package/dist/builder.es.js.map +1 -1
- package/dist/components.cjs.js +2 -2
- package/dist/components.es.js +2 -2
- package/dist/control-serialization.cjs.js +1 -0
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +2 -1
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/controls.cjs.js +19 -14
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +3 -2
- package/dist/controls.es.js.map +1 -1
- package/dist/index.cjs.js +182 -60
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs10.js +25 -13
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs2.js +1 -0
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs5.js +96 -5
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs8.js +2 -2
- package/dist/index.cjs9.js +5 -5
- package/dist/index.es.js +170 -49
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +26 -14
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es2.js +2 -1
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es4.js +1 -1
- package/dist/index.es5.js +88 -2
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es8.js +2 -2
- package/dist/index.es9.js +6 -6
- package/dist/main.cjs.js +1 -0
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +1 -0
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +2 -2
- package/dist/next.es.js +3 -3
- package/dist/prop-controllers.cjs.js +1 -0
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +1 -0
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react-page.cjs.js +114 -31
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +111 -12
- package/dist/react-page.es.js.map +1 -1
- package/dist/react.cjs.js +2 -2
- package/dist/react.es.js +2 -2
- package/dist/slate.cjs.js +22 -75
- package/dist/slate.cjs.js.map +1 -1
- package/dist/slate.es.js +25 -79
- package/dist/slate.es.js.map +1 -1
- package/dist/state/breakpoints.cjs.js +1 -0
- package/dist/state/breakpoints.cjs.js.map +1 -1
- package/dist/state/breakpoints.es.js +1 -0
- package/dist/state/breakpoints.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/ReadOnlyText.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +0 -17
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
- package/dist/types/src/components/page/Page.d.ts.map +1 -1
- package/dist/types/src/controls/control.d.ts +3 -2
- package/dist/types/src/controls/control.d.ts.map +1 -1
- package/dist/types/src/controls/index.d.ts +1 -0
- package/dist/types/src/controls/index.d.ts.map +1 -1
- package/dist/types/src/controls/list.d.ts +2 -0
- package/dist/types/src/controls/list.d.ts.map +1 -1
- package/dist/types/src/controls/shape.d.ts +2 -0
- package/dist/types/src/controls/shape.d.ts.map +1 -1
- package/dist/types/src/controls/typography.d.ts +31 -0
- package/dist/types/src/controls/typography.d.ts.map +1 -0
- package/dist/types/src/next/client.d.ts +9 -1
- package/dist/types/src/next/client.d.ts.map +1 -1
- package/dist/types/src/next/index.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/descriptors.d.ts +6 -3
- package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/introspection.d.ts +1 -1
- package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/control.d.ts +3 -2
- package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/typography.d.ts +21 -0
- package/dist/types/src/runtimes/react/controls/typography.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/src/slate/TypographyPlugin/index.d.ts +9 -0
- package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/src/state/actions.d.ts +7 -7
- package/dist/types/src/state/actions.d.ts.map +1 -1
- package/dist/types/src/state/modules/locales.d.ts +6 -7
- package/dist/types/src/state/modules/locales.d.ts.map +1 -1
- package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/src/state/react-page.d.ts +3 -1
- package/dist/types/src/state/react-page.d.ts.map +1 -1
- package/dist/types/types/locale.d.ts +9 -0
- package/dist/types/types/locale.d.ts.map +1 -0
- package/dist/types.cjs2.js +13 -16
- package/dist/types.cjs2.js.map +1 -1
- package/dist/types.es2.js +10 -13
- package/dist/types.es2.js.map +1 -1
- package/dist/{text-input.cjs.js → typography.cjs.js} +9 -1
- package/dist/typography.cjs.js.map +1 -0
- package/dist/{text-input.es.js → typography.es.js} +8 -2
- package/dist/typography.es.js.map +1 -0
- package/package.json +1 -1
- package/dist/leaf.cjs.js +0 -182
- package/dist/leaf.cjs.js.map +0 -1
- package/dist/leaf.es.js +0 -179
- package/dist/leaf.es.js.map +0 -1
- package/dist/text-input.cjs.js.map +0 -1
- package/dist/text-input.es.js.map +0 -1
package/dist/react.cjs.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
var actions = require("./actions.cjs.js");
|
|
4
4
|
var next = require("./index.cjs.js");
|
|
5
|
+
require("zod");
|
|
5
6
|
require("react");
|
|
6
7
|
require("use-sync-external-store/shim/with-selector");
|
|
7
8
|
require("next/dynamic");
|
|
@@ -14,7 +15,7 @@ require("@emotion/serialize");
|
|
|
14
15
|
require("@emotion/utils");
|
|
15
16
|
require("slate");
|
|
16
17
|
require("react/jsx-runtime");
|
|
17
|
-
require("./
|
|
18
|
+
require("./typography.cjs.js");
|
|
18
19
|
require("./combobox.cjs.js");
|
|
19
20
|
require("use-sync-external-store/shim");
|
|
20
21
|
require("./types.cjs.js");
|
|
@@ -25,7 +26,6 @@ require("scroll-into-view-if-needed");
|
|
|
25
26
|
require("react-dom");
|
|
26
27
|
require("html-react-parser");
|
|
27
28
|
require("next/head");
|
|
28
|
-
require("zod");
|
|
29
29
|
require("@emotion/server/create-instance");
|
|
30
30
|
require("next/document");
|
|
31
31
|
require("cors");
|
package/dist/react.es.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { A as ActionTypes, c as changeDocument } from "./actions.es.js";
|
|
2
2
|
export { D as DocumentReference, E as Element, P as PageProvider, a as ReactRuntime, R as RuntimeProvider, u as useIsInBuilder, b as usePageId } from "./index.es.js";
|
|
3
|
+
import "zod";
|
|
3
4
|
import "react";
|
|
4
5
|
import "use-sync-external-store/shim/with-selector";
|
|
5
6
|
import "next/dynamic";
|
|
@@ -12,7 +13,7 @@ import "@emotion/serialize";
|
|
|
12
13
|
import "@emotion/utils";
|
|
13
14
|
import "slate";
|
|
14
15
|
import "react/jsx-runtime";
|
|
15
|
-
import "./
|
|
16
|
+
import "./typography.es.js";
|
|
16
17
|
import "./combobox.es.js";
|
|
17
18
|
import "use-sync-external-store/shim";
|
|
18
19
|
import "./types.es.js";
|
|
@@ -23,7 +24,6 @@ import "scroll-into-view-if-needed";
|
|
|
23
24
|
import "react-dom";
|
|
24
25
|
import "html-react-parser";
|
|
25
26
|
import "next/head";
|
|
26
|
-
import "zod";
|
|
27
27
|
import "@emotion/server/create-instance";
|
|
28
28
|
import "next/document";
|
|
29
29
|
import "cors";
|
package/dist/slate.cjs.js
CHANGED
|
@@ -24,21 +24,22 @@ var types = require("./types.cjs2.js");
|
|
|
24
24
|
var index$1 = require("./index.cjs6.js");
|
|
25
25
|
var index$2 = require("./index.cjs7.js");
|
|
26
26
|
var reactPage = require("./react-page.cjs.js");
|
|
27
|
-
|
|
27
|
+
require("./actions.cjs.js");
|
|
28
|
+
var typography = require("./typography.cjs.js");
|
|
28
29
|
var slate = require("slate");
|
|
29
30
|
var next = require("./index.cjs.js");
|
|
30
|
-
require("react");
|
|
31
|
-
var css = require("@emotion/css");
|
|
32
|
-
require("@emotion/serialize");
|
|
33
|
-
require("@emotion/utils");
|
|
34
31
|
var jsxRuntime = require("react/jsx-runtime");
|
|
35
32
|
var index$3 = require("./index.cjs3.js");
|
|
33
|
+
var css = require("@emotion/css");
|
|
36
34
|
require("./state/breakpoints.cjs.js");
|
|
37
|
-
require("
|
|
35
|
+
require("zod");
|
|
38
36
|
require("is-hotkey");
|
|
39
37
|
require("slate-react");
|
|
40
38
|
require("redux");
|
|
41
39
|
require("redux-thunk");
|
|
40
|
+
require("react");
|
|
41
|
+
require("@emotion/serialize");
|
|
42
|
+
require("@emotion/utils");
|
|
42
43
|
require("use-sync-external-store/shim/with-selector");
|
|
43
44
|
require("next/dynamic");
|
|
44
45
|
require("./combobox.cjs.js");
|
|
@@ -51,7 +52,6 @@ require("scroll-into-view-if-needed");
|
|
|
51
52
|
require("react-dom");
|
|
52
53
|
require("html-react-parser");
|
|
53
54
|
require("next/head");
|
|
54
|
-
require("zod");
|
|
55
55
|
require("@emotion/server/create-instance");
|
|
56
56
|
require("next/document");
|
|
57
57
|
require("cors");
|
|
@@ -63,68 +63,13 @@ require("./constants.cjs.js");
|
|
|
63
63
|
require("uuid");
|
|
64
64
|
require("corporate-ipsum");
|
|
65
65
|
require("next/link");
|
|
66
|
-
function setResponsiveValue(editor, key, value, options) {
|
|
67
|
-
slate.Editor.withoutNormalizing(editor, () => {
|
|
68
|
-
const at = types.getSelection(editor);
|
|
69
|
-
if (!at)
|
|
70
|
-
return;
|
|
71
|
-
const atRef = slate.Editor.rangeRef(editor, at);
|
|
72
|
-
if (atRef.current) {
|
|
73
|
-
slate.Transforms.setNodes(editor, {
|
|
74
|
-
slice: true
|
|
75
|
-
}, {
|
|
76
|
-
at: atRef.current,
|
|
77
|
-
match: options.match,
|
|
78
|
-
split: options.split
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (atRef.current) {
|
|
82
|
-
const nodesToUpdate = Array.from(slate.Editor.nodes(editor, {
|
|
83
|
-
at: atRef.current,
|
|
84
|
-
match: (node, path) => options.match(node, path) && node.slice === true
|
|
85
|
-
}));
|
|
86
|
-
for (const [, path] of nodesToUpdate) {
|
|
87
|
-
slate.Transforms.setNodes(editor, {
|
|
88
|
-
[key]: value
|
|
89
|
-
}, { at: path });
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
atRef.unref();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
function getResponsiveValue(editor, key, options) {
|
|
96
|
-
const matchingValues = Array.from(slate.Editor.nodes(editor, {
|
|
97
|
-
at: types.getSelection(editor),
|
|
98
|
-
match: options == null ? void 0 : options.match
|
|
99
|
-
})).filter(([node, path]) => options.match(node, path)).map(([node]) => node[key]);
|
|
100
|
-
const value = matchingValues.length === 0 ? void 0 : matchingValues.reduce((a, b) => next.deepEqual(a, b) ? b : void 0);
|
|
101
|
-
return value;
|
|
102
|
-
}
|
|
103
|
-
function normalizeResponsiveValue(editor, key, options) {
|
|
104
|
-
return (entry) => {
|
|
105
|
-
const [node, path] = entry;
|
|
106
|
-
if (!options.match(node, path)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
const responsiveValue = node == null ? void 0 : node[key];
|
|
110
|
-
if (Array.isArray(responsiveValue) && responsiveValue.length === 0) {
|
|
111
|
-
slate.Transforms.unsetNodes(editor, key, { at: path });
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
if ((node == null ? void 0 : node.slice) != null) {
|
|
115
|
-
slate.Transforms.unsetNodes(editor, "slice", { at: path });
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
return false;
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
66
|
const TEXT_ALIGN_KEY = "textAlign";
|
|
122
67
|
const withTextAlign = (editor) => {
|
|
123
68
|
const {
|
|
124
69
|
normalizeNode
|
|
125
70
|
} = editor;
|
|
126
71
|
editor.normalizeNode = (entry) => {
|
|
127
|
-
if (normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, {
|
|
72
|
+
if (index.normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, {
|
|
128
73
|
match: types.ElementUtils.isRootBlock
|
|
129
74
|
})(entry)) {
|
|
130
75
|
return;
|
|
@@ -137,22 +82,22 @@ function TextAlignPlugin() {
|
|
|
137
82
|
return reactPage.createRichTextV2Plugin({
|
|
138
83
|
control: {
|
|
139
84
|
definition: reactPage.unstable_StyleV2({
|
|
140
|
-
type:
|
|
85
|
+
type: typography.unstable_IconRadioGroup({
|
|
141
86
|
label: "Alignment",
|
|
142
87
|
options: [{
|
|
143
|
-
icon:
|
|
88
|
+
icon: typography.unstable_IconRadioGroupIcon.TextAlignLeft,
|
|
144
89
|
label: "Left Align",
|
|
145
90
|
value: "left"
|
|
146
91
|
}, {
|
|
147
|
-
icon:
|
|
92
|
+
icon: typography.unstable_IconRadioGroupIcon.TextAlignCenter,
|
|
148
93
|
label: "Center Align",
|
|
149
94
|
value: "center"
|
|
150
95
|
}, {
|
|
151
|
-
icon:
|
|
96
|
+
icon: typography.unstable_IconRadioGroupIcon.TextAlignRight,
|
|
152
97
|
label: "Right Align",
|
|
153
98
|
value: "right"
|
|
154
99
|
}, {
|
|
155
|
-
icon:
|
|
100
|
+
icon: typography.unstable_IconRadioGroupIcon.TextAlignJustify,
|
|
156
101
|
label: "Justify",
|
|
157
102
|
value: "justify"
|
|
158
103
|
}],
|
|
@@ -164,11 +109,11 @@ function TextAlignPlugin() {
|
|
|
164
109
|
};
|
|
165
110
|
}
|
|
166
111
|
}),
|
|
167
|
-
onChange: (editor, value) => setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {
|
|
112
|
+
onChange: (editor, value) => index.setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {
|
|
168
113
|
match: types.ElementUtils.isRootBlock,
|
|
169
114
|
split: false
|
|
170
115
|
}),
|
|
171
|
-
getValue: (editor) => getResponsiveValue(editor, TEXT_ALIGN_KEY, {
|
|
116
|
+
getValue: (editor) => index.getResponsiveValue(editor, TEXT_ALIGN_KEY, {
|
|
172
117
|
match: types.ElementUtils.isRootBlock
|
|
173
118
|
}),
|
|
174
119
|
getElementValue: (element) => {
|
|
@@ -200,12 +145,12 @@ function ColorPlugin() {
|
|
|
200
145
|
}
|
|
201
146
|
}),
|
|
202
147
|
onChange: (editor, value) => {
|
|
203
|
-
setResponsiveValue(editor, COLOR_KEY, value, {
|
|
148
|
+
index.setResponsiveValue(editor, COLOR_KEY, value, {
|
|
204
149
|
match: slate.Text.isText,
|
|
205
150
|
split: true
|
|
206
151
|
});
|
|
207
152
|
},
|
|
208
|
-
getValue: (editor) => getResponsiveValue(editor, COLOR_KEY, {
|
|
153
|
+
getValue: (editor) => index.getResponsiveValue(editor, COLOR_KEY, {
|
|
209
154
|
match: slate.Text.isText
|
|
210
155
|
}),
|
|
211
156
|
getLeafValue: (text) => {
|
|
@@ -217,7 +162,7 @@ function ColorPlugin() {
|
|
|
217
162
|
normalizeNode
|
|
218
163
|
} = editor;
|
|
219
164
|
editor.normalizeNode = (entry) => {
|
|
220
|
-
if (normalizeResponsiveValue(editor, COLOR_KEY, {
|
|
165
|
+
if (index.normalizeResponsiveValue(editor, COLOR_KEY, {
|
|
221
166
|
match: slate.Text.isText
|
|
222
167
|
})(entry)) {
|
|
223
168
|
return;
|
|
@@ -229,7 +174,7 @@ function ColorPlugin() {
|
|
|
229
174
|
renderLeaf: (renderLeaf, className) => (props) => {
|
|
230
175
|
return renderLeaf(__spreadProps(__spreadValues({}, props), {
|
|
231
176
|
leaf: __spreadProps(__spreadValues({}, props.leaf), {
|
|
232
|
-
className
|
|
177
|
+
className: `${props.leaf.className} ${className}`
|
|
233
178
|
})
|
|
234
179
|
}));
|
|
235
180
|
}
|
|
@@ -285,7 +230,7 @@ const withInline = (editor) => {
|
|
|
285
230
|
function InlinePlugin() {
|
|
286
231
|
return reactPage.createRichTextV2Plugin({
|
|
287
232
|
control: {
|
|
288
|
-
definition:
|
|
233
|
+
definition: typography.unstable_IconRadioGroup({
|
|
289
234
|
label: "Inline",
|
|
290
235
|
options: types.supportedInlineOptions
|
|
291
236
|
}),
|
|
@@ -420,7 +365,9 @@ function LinkPlugin() {
|
|
|
420
365
|
}
|
|
421
366
|
});
|
|
422
367
|
}
|
|
368
|
+
exports.TYPOGRAPHY_KEY = index.TYPOGRAPHY_KEY;
|
|
423
369
|
exports.TypographyActions = index.TypographyActions;
|
|
370
|
+
exports.TypographyPlugin = index.TypographyPlugin;
|
|
424
371
|
exports.withTypography = index.withTypography;
|
|
425
372
|
exports.BlockActions = types.BlockActions;
|
|
426
373
|
exports.BlockPlugin = types.BlockPlugin;
|
package/dist/slate.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slate.cjs.js","sources":["../src/slate/utils/responsive.ts","../src/slate/TextAlignPlugin/index.tsx","../src/slate/ColorPlugin/index.tsx","../src/slate/InlinePlugin/getValue.ts","../src/slate/InlinePlugin/onChange.ts","../src/slate/InlinePlugin/index.tsx","../src/slate/LinkPlugin/types.ts","../src/slate/LinkPlugin/getValue.ts","../src/slate/LinkPlugin/onChange.ts","../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { Editor, Transforms, NodeMatch, Descendant, NodeEntry } from 'slate'\nimport { getSelection } from '../selectors'\nimport deepEqual from '../../utils/deepEqual'\n\ntype SetResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n split: boolean\n}\n\nexport function setResponsiveValue<T extends Descendant, K extends keyof T>(\n editor: Editor,\n key: K,\n value: T[K] | undefined,\n options: SetResponsiveValueOptions<T>,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: options.match,\n split: options.split,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: (node, path) => options.match(node, path) && node.slice === true,\n }),\n )\n\n for (const [, path] of nodesToUpdate) {\n Transforms.setNodes(\n editor,\n {\n [key]: value,\n },\n { at: path },\n )\n }\n }\n\n atRef.unref()\n })\n}\n\ntype GetResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n}\n\nexport function getResponsiveValue<T extends Descendant, K extends keyof T>(\n editor: Editor,\n key: K,\n options: GetResponsiveValueOptions<T>,\n): T[K] | undefined {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: options?.match,\n }),\n )\n .filter(([node, path]) => options.match(node, path))\n .map(([node]) => node[key]) as (T[K] | undefined)[]\n\n const value =\n matchingValues.length === 0\n ? undefined\n : matchingValues.reduce((a, b) => (deepEqual(a, b) ? b : undefined))\n\n return value\n}\n\ntype NormalizeResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n}\n\nexport function normalizeResponsiveValue<T extends Descendant, K extends keyof T & string>(\n editor: Editor,\n key: K,\n options: NormalizeResponsiveValueOptions<T>,\n) {\n return (entry: NodeEntry) => {\n const [node, path] = entry\n\n if (!options.match(node, path)) {\n return false\n }\n\n const responsiveValue = node?.[key]\n\n if (Array.isArray(responsiveValue) && responsiveValue.length === 0) {\n Transforms.unsetNodes(editor, key, { at: path })\n return true\n }\n\n if (node?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: path })\n return true\n }\n\n return false\n }\n}\n","import { Editor, Element } from 'slate'\nimport {\n createRichTextV2Plugin,\n unstable_IconRadioGroup,\n unstable_IconRadioGroupIcon,\n unstable_StyleV2,\n} from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { TextAlignProperty } from 'csstype'\nimport {\n getResponsiveValue,\n normalizeResponsiveValue,\n setResponsiveValue,\n} from '../utils/responsive'\n\nconst TEXT_ALIGN_KEY = 'textAlign'\n\nexport const withTextAlign = (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (\n normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, { match: ElementUtils.isRootBlock })(entry)\n ) {\n return\n }\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TextAlignPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_StyleV2({\n type: unstable_IconRadioGroup({\n label: 'Alignment',\n options: [\n {\n icon: unstable_IconRadioGroupIcon.TextAlignLeft,\n label: 'Left Align',\n value: 'left',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignCenter,\n label: 'Center Align',\n value: 'center',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignRight,\n label: 'Right Align',\n value: 'right',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignJustify,\n label: 'Justify',\n value: 'justify',\n },\n ],\n defaultValue: 'left',\n }),\n getStyle(textAlign: TextAlignProperty) {\n return { textAlign }\n },\n }),\n onChange: (editor, value) =>\n setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {\n match: ElementUtils.isRootBlock,\n split: false,\n }),\n getValue: editor =>\n getResponsiveValue(editor, TEXT_ALIGN_KEY, { match: ElementUtils.isRootBlock }),\n getElementValue: (element: Element) => {\n return ElementUtils.isRootBlock(element) ? element.textAlign : undefined\n },\n },\n withPlugin: withTextAlign,\n renderElement: (renderElement, className) => props => {\n return renderElement({\n ...props,\n element: {\n ...props.element,\n className,\n },\n })\n },\n })\n}\n","import { Editor, Text } from 'slate'\nimport {\n Color,\n createRichTextV2Plugin,\n unstable_StyleV2,\n ColorControlDefinition,\n} from '../../controls'\nimport { ControlDefinitionValue } from '../../runtimes/react/controls/control'\nimport {\n getResponsiveValue,\n normalizeResponsiveValue,\n setResponsiveValue,\n} from '../utils/responsive'\n\nexport const COLOR_KEY = 'color'\n\nexport function ColorPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_StyleV2({\n type: Color({\n label: 'Color',\n }),\n getStyle(color: ControlDefinitionValue<ColorControlDefinition>) {\n return { color }\n },\n }),\n onChange: (editor, value) => {\n setResponsiveValue(editor, COLOR_KEY, value, {\n match: Text.isText,\n split: true,\n })\n },\n getValue: editor => getResponsiveValue(editor, COLOR_KEY, { match: Text.isText }),\n getLeafValue: (text: Text) => {\n return Text.isText(text) ? text?.color : undefined\n },\n },\n withPlugin: (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (normalizeResponsiveValue(editor, COLOR_KEY, { match: Text.isText })(entry)) {\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n },\n renderLeaf: (renderLeaf, className) => props => {\n return renderLeaf({\n ...props,\n leaf: {\n ...props.leaf,\n className,\n },\n })\n },\n })\n}\n","import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport deepEqual from '../../utils/deepEqual'\nimport { SupportedInline, isSupportedInlineType, isSupportedInlineEntry } from './types'\n\nexport function getSupportedInlinesAndTextInSelection(\n editor: Editor,\n): NodeEntry<SupportedInline | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node =>\n (ElementUtils.isInline(node) && isSupportedInlineType(node.type)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | SupportedInline>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n\n const areAllRootsSupportedInlineTypesOrText = roots.every(\n entry => isSupportedInlineEntry(entry) || Text.isText(entry[0]),\n )\n\n if (!areAllRootsSupportedInlineTypesOrText) return undefined\n\n const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node)\n\n return matchingValues.reduce((a, b) => (deepEqual(a, b) ? b : undefined), matchingValues.at(0))\n ?.type\n}\n","import { getSupportedInlinesAndTextInSelection } from './getValue'\nimport { Editor, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport {\n SupportedInlineType,\n isSupportedInlineEntry,\n isSupportedInlineType,\n supportedInlineOptions,\n} from './types'\n\nexport const onChange = (editor: Editor, value: SupportedInlineType) => {\n function unwrapAllSupportedTypes() {\n supportedInlineOptions.forEach(({ value: optionValue }) => unwrapInline(editor, optionValue))\n }\n\n function unwrapAllInlines() {\n Transforms.unwrapNodes(editor, {\n match: node => ElementUtils.isInline(node),\n at: getSelection(editor),\n })\n }\n\n if (value == null) return unwrapAllSupportedTypes()\n\n if (!isSupportedInlineType(value)) return\n\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const root = roots.at(0)\n\n if (\n roots.length === 1 &&\n root != null &&\n isSupportedInlineEntry(root) &&\n root[0].type === value\n ) {\n unwrapInline(editor, value)\n } else {\n unwrapAllInlines()\n wrapInline(editor, { type: value, children: [] })\n }\n}\n","import { Editor, Element } from 'slate'\nimport { RenderElement, createRichTextV2Plugin, unstable_IconRadioGroup } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { supportedInlineOptions } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withInline = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nexport function InlinePlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_IconRadioGroup({\n label: 'Inline',\n options: supportedInlineOptions,\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) ? element.type : undefined\n },\n },\n withPlugin: withInline,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\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\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\n )\n }\n}\n","import { Node, NodeEntry } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType, LinkElement } from '../types'\n\nexport function isLinkElement(node: Node): node is LinkElement {\n return ElementUtils.isInline(node) && node.type === InlineType.Link\n}\n\nexport function isLinkEntry(inline: NodeEntry<Node>): inline is NodeEntry<LinkElement> {\n return ElementUtils.isInline(inline[0]) && inline[0].type === InlineType.Link\n}\n","import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LinkElement } from '../types'\nimport deepEqual from '../../utils/deepEqual'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkElement } from './types'\n\nexport function getLinksAndTextInSelection(editor: Editor): NodeEntry<LinkElement | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => (ElementUtils.isInline(node) && isLinkElement(node)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | LinkElement>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n\n const areAllRootsLinks = roots.every(([root]) => isLinkElement(root) || Text.isText(root))\n\n if (!areAllRootsLinks) return undefined\n\n const matchingValues = roots.map(([node]) => node).filter(isLinkElement)\n\n return matchingValues.reduce((a, b) => (deepEqual(a, b) ? b : undefined), matchingValues.at(0))\n ?.link\n}\n","import { Editor, Transforms } from 'slate'\nimport { LinkControlData } from '../../controls'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { InlineType } from '../types'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkEntry } from './types'\nimport { getLinksAndTextInSelection } from './getValue'\n\nexport const onChange = (editor: Editor, value: LinkControlData) => {\n if (value == null) return unwrapInline(editor, InlineType.Link)\n\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n const root = roots.at(0)\n\n // If the root of our selection is a link we just want to modify it\n if (roots.length === 1 && root != null && isLinkEntry(root)) {\n Transforms.setNodes(\n editor,\n {\n link: value,\n },\n { at: root[1] },\n )\n }\n // In all other cases we want to remove all existing links and wrap the current selection in a new link\n else {\n unwrapInline(editor, InlineType.Link)\n wrapInline(editor, { type: InlineType.Link, link: value, children: [] })\n }\n}\n","import { Editor, Element } from 'slate'\nimport { Link, RenderElement, createRichTextV2Plugin } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { Link as LinkComponent } from '../../components/shared/Link'\nimport { cx } from '@emotion/css'\nimport { isLinkElement } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withLink = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\n const linkStyle = useStyle({ textDecoration: 'none' })\n switch (element.type) {\n case InlineType.Link:\n return (\n <LinkComponent\n {...attributes}\n link={element.link}\n className={cx(linkStyle, element.className)}\n >\n {children}\n </LinkComponent>\n )\n\n default:\n return renderElement({\n element,\n attributes,\n children,\n })\n }\n}\n\nexport function LinkPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: Link({\n label: 'On Click',\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) && isLinkElement(element) ? element.link : undefined\n },\n },\n withPlugin: withLink,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n"],"names":["Editor","getSelection","Transforms","deepEqual","TEXT_ALIGN_KEY","withTextAlign","editor","normalizeNode","entry","normalizeResponsiveValue","match","ElementUtils","isRootBlock","createRichTextV2Plugin","control","definition","unstable_StyleV2","type","unstable_IconRadioGroup","label","options","icon","unstable_IconRadioGroupIcon","TextAlignLeft","value","TextAlignCenter","TextAlignRight","TextAlignJustify","defaultValue","getStyle","textAlign","onChange","setResponsiveValue","split","getValue","getResponsiveValue","getElementValue","element","undefined","withPlugin","renderElement","className","props","COLOR_KEY","Color","color","Text","isText","getLeafValue","text","renderLeaf","leaf","isSupportedInlineType","filterForSubtreeRoots","isSupportedInlineEntry","supportedInlineOptions","unwrapInline","wrapInline","withInline","isInline","InlinePluginComponent","attributes","children","InlineType","Code","SuperScript","SubScript","_Fragment","withLink","linkStyle","useStyle","textDecoration","Link","LinkComponent","link","cx","isLinkElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slate.cjs.js","sources":["../src/slate/TextAlignPlugin/index.tsx","../src/slate/ColorPlugin/index.tsx","../src/slate/InlinePlugin/getValue.ts","../src/slate/InlinePlugin/onChange.ts","../src/slate/InlinePlugin/index.tsx","../src/slate/LinkPlugin/types.ts","../src/slate/LinkPlugin/getValue.ts","../src/slate/LinkPlugin/onChange.ts","../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\nimport {\n createRichTextV2Plugin,\n unstable_IconRadioGroup,\n unstable_IconRadioGroupIcon,\n unstable_StyleV2,\n} from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { TextAlignProperty } from 'csstype'\nimport {\n getResponsiveValue,\n normalizeResponsiveValue,\n setResponsiveValue,\n} from '../utils/responsive'\n\nconst TEXT_ALIGN_KEY = 'textAlign'\n\nexport const withTextAlign = (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (\n normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, { match: ElementUtils.isRootBlock })(entry)\n ) {\n return\n }\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TextAlignPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_StyleV2({\n type: unstable_IconRadioGroup({\n label: 'Alignment',\n options: [\n {\n icon: unstable_IconRadioGroupIcon.TextAlignLeft,\n label: 'Left Align',\n value: 'left',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignCenter,\n label: 'Center Align',\n value: 'center',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignRight,\n label: 'Right Align',\n value: 'right',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignJustify,\n label: 'Justify',\n value: 'justify',\n },\n ],\n defaultValue: 'left',\n }),\n getStyle(textAlign: TextAlignProperty) {\n return { textAlign }\n },\n }),\n onChange: (editor, value) =>\n setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {\n match: ElementUtils.isRootBlock,\n split: false,\n }),\n getValue: editor =>\n getResponsiveValue(editor, TEXT_ALIGN_KEY, { match: ElementUtils.isRootBlock }),\n getElementValue: (element: Element) => {\n return ElementUtils.isRootBlock(element) ? element.textAlign : undefined\n },\n },\n withPlugin: withTextAlign,\n renderElement: (renderElement, className) => props => {\n return renderElement({\n ...props,\n element: {\n ...props.element,\n className,\n },\n })\n },\n })\n}\n","import { Editor, Text } from 'slate'\nimport {\n Color,\n createRichTextV2Plugin,\n unstable_StyleV2,\n ColorControlDefinition,\n} from '../../controls'\nimport { ControlDefinitionValue } from '../../runtimes/react/controls/control'\nimport {\n getResponsiveValue,\n normalizeResponsiveValue,\n setResponsiveValue,\n} from '../utils/responsive'\n\nexport const COLOR_KEY = 'color'\n\nexport function ColorPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_StyleV2({\n type: Color({\n label: 'Color',\n }),\n getStyle(color: ControlDefinitionValue<ColorControlDefinition>) {\n return { color }\n },\n }),\n onChange: (editor, value) => {\n setResponsiveValue(editor, COLOR_KEY, value, {\n match: Text.isText,\n split: true,\n })\n },\n getValue: editor => getResponsiveValue(editor, COLOR_KEY, { match: Text.isText }),\n getLeafValue: (text: Text) => {\n return Text.isText(text) ? text?.color : undefined\n },\n },\n withPlugin: (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (normalizeResponsiveValue(editor, COLOR_KEY, { match: Text.isText })(entry)) {\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n },\n renderLeaf: (renderLeaf, className) => props => {\n return renderLeaf({\n ...props,\n leaf: {\n ...props.leaf,\n className: `${props.leaf.className} ${className}`,\n },\n })\n },\n })\n}\n","import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport deepEqual from '../../utils/deepEqual'\nimport { SupportedInline, isSupportedInlineType, isSupportedInlineEntry } from './types'\n\nexport function getSupportedInlinesAndTextInSelection(\n editor: Editor,\n): NodeEntry<SupportedInline | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node =>\n (ElementUtils.isInline(node) && isSupportedInlineType(node.type)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | SupportedInline>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n\n const areAllRootsSupportedInlineTypesOrText = roots.every(\n entry => isSupportedInlineEntry(entry) || Text.isText(entry[0]),\n )\n\n if (!areAllRootsSupportedInlineTypesOrText) return undefined\n\n const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node)\n\n return matchingValues.reduce((a, b) => (deepEqual(a, b) ? b : undefined), matchingValues.at(0))\n ?.type\n}\n","import { getSupportedInlinesAndTextInSelection } from './getValue'\nimport { Editor, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport {\n SupportedInlineType,\n isSupportedInlineEntry,\n isSupportedInlineType,\n supportedInlineOptions,\n} from './types'\n\nexport const onChange = (editor: Editor, value: SupportedInlineType) => {\n function unwrapAllSupportedTypes() {\n supportedInlineOptions.forEach(({ value: optionValue }) => unwrapInline(editor, optionValue))\n }\n\n function unwrapAllInlines() {\n Transforms.unwrapNodes(editor, {\n match: node => ElementUtils.isInline(node),\n at: getSelection(editor),\n })\n }\n\n if (value == null) return unwrapAllSupportedTypes()\n\n if (!isSupportedInlineType(value)) return\n\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const root = roots.at(0)\n\n if (\n roots.length === 1 &&\n root != null &&\n isSupportedInlineEntry(root) &&\n root[0].type === value\n ) {\n unwrapInline(editor, value)\n } else {\n unwrapAllInlines()\n wrapInline(editor, { type: value, children: [] })\n }\n}\n","import { Editor, Element } from 'slate'\nimport { RenderElement, createRichTextV2Plugin, unstable_IconRadioGroup } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { supportedInlineOptions } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withInline = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nexport function InlinePlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_IconRadioGroup({\n label: 'Inline',\n options: supportedInlineOptions,\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) ? element.type : undefined\n },\n },\n withPlugin: withInline,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\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\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\n )\n }\n}\n","import { Node, NodeEntry } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType, LinkElement } from '../types'\n\nexport function isLinkElement(node: Node): node is LinkElement {\n return ElementUtils.isInline(node) && node.type === InlineType.Link\n}\n\nexport function isLinkEntry(inline: NodeEntry<Node>): inline is NodeEntry<LinkElement> {\n return ElementUtils.isInline(inline[0]) && inline[0].type === InlineType.Link\n}\n","import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LinkElement } from '../types'\nimport deepEqual from '../../utils/deepEqual'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkElement } from './types'\n\nexport function getLinksAndTextInSelection(editor: Editor): NodeEntry<LinkElement | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => (ElementUtils.isInline(node) && isLinkElement(node)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | LinkElement>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n\n const areAllRootsLinks = roots.every(([root]) => isLinkElement(root) || Text.isText(root))\n\n if (!areAllRootsLinks) return undefined\n\n const matchingValues = roots.map(([node]) => node).filter(isLinkElement)\n\n return matchingValues.reduce((a, b) => (deepEqual(a, b) ? b : undefined), matchingValues.at(0))\n ?.link\n}\n","import { Editor, Transforms } from 'slate'\nimport { LinkControlData } from '../../controls'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { InlineType } from '../types'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkEntry } from './types'\nimport { getLinksAndTextInSelection } from './getValue'\n\nexport const onChange = (editor: Editor, value: LinkControlData) => {\n if (value == null) return unwrapInline(editor, InlineType.Link)\n\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n const root = roots.at(0)\n\n // If the root of our selection is a link we just want to modify it\n if (roots.length === 1 && root != null && isLinkEntry(root)) {\n Transforms.setNodes(\n editor,\n {\n link: value,\n },\n { at: root[1] },\n )\n }\n // In all other cases we want to remove all existing links and wrap the current selection in a new link\n else {\n unwrapInline(editor, InlineType.Link)\n wrapInline(editor, { type: InlineType.Link, link: value, children: [] })\n }\n}\n","import { Editor, Element } from 'slate'\nimport { Link, RenderElement, createRichTextV2Plugin } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { Link as LinkComponent } from '../../components/shared/Link'\nimport { cx } from '@emotion/css'\nimport { isLinkElement } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withLink = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\n const linkStyle = useStyle({ textDecoration: 'none' })\n switch (element.type) {\n case InlineType.Link:\n return (\n <LinkComponent\n {...attributes}\n link={element.link}\n className={cx(linkStyle, element.className)}\n >\n {children}\n </LinkComponent>\n )\n\n default:\n return renderElement({\n element,\n attributes,\n children,\n })\n }\n}\n\nexport function LinkPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: Link({\n label: 'On Click',\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) && isLinkElement(element) ? element.link : undefined\n },\n },\n withPlugin: withLink,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n"],"names":["TEXT_ALIGN_KEY","withTextAlign","editor","normalizeNode","entry","normalizeResponsiveValue","match","ElementUtils","isRootBlock","createRichTextV2Plugin","control","definition","unstable_StyleV2","type","unstable_IconRadioGroup","label","options","icon","unstable_IconRadioGroupIcon","TextAlignLeft","value","TextAlignCenter","TextAlignRight","TextAlignJustify","defaultValue","getStyle","textAlign","onChange","setResponsiveValue","split","getValue","getResponsiveValue","getElementValue","element","undefined","withPlugin","renderElement","className","props","COLOR_KEY","Color","color","Text","isText","getLeafValue","text","renderLeaf","leaf","Editor","getSelection","isSupportedInlineType","filterForSubtreeRoots","isSupportedInlineEntry","deepEqual","supportedInlineOptions","unwrapInline","Transforms","wrapInline","withInline","isInline","InlinePluginComponent","attributes","children","InlineType","Code","SuperScript","SubScript","_Fragment","withLink","linkStyle","useStyle","textDecoration","Link","LinkComponent","link","cx","isLinkElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAMA,iBAAiB;AAEVC,MAAAA,gBAAgB,CAACC,WAAmB;AACzC,QAAA;AAAA,IAAEC;AAAAA,MAAkBD;AAC1BA,SAAOC,gBAAgBC,CAAS,UAAA;AAE5BC,QAAAA,MAAAA,yBAAyBH,QAAQF,gBAAgB;AAAA,MAAEM,OAAOC,MAAaC,aAAAA;AAAAA,IAAAA,CAA/C,EAA8DJ,KAAtF,GACA;AACA;AAAA,IACD;AACDD,kBAAcC,KAAD;AAAA,EAAA;AAGRF,SAAAA;AACR;AAEiC,2BAAA;AAChC,SAAOO,iCAAuB;AAAA,IAC5BC,SAAS;AAAA,MACPC,YAAYC,UAAAA,iBAAiB;AAAA,QAC3BC,MAAMC,WAAAA,wBAAwB;AAAA,UAC5BC,OAAO;AAAA,UACPC,SAAS,CACP;AAAA,YACEC,MAAMC,WAA4BC,4BAAAA;AAAAA,YAClCJ,OAAO;AAAA,YACPK,OAAO;AAAA,UAAA,GAET;AAAA,YACEH,MAAMC,WAA4BG,4BAAAA;AAAAA,YAClCN,OAAO;AAAA,YACPK,OAAO;AAAA,UAAA,GAET;AAAA,YACEH,MAAMC,WAA4BI,4BAAAA;AAAAA,YAClCP,OAAO;AAAA,YACPK,OAAO;AAAA,UAAA,GAET;AAAA,YACEH,MAAMC,WAA4BK,4BAAAA;AAAAA,YAClCR,OAAO;AAAA,YACPK,OAAO;AAAA,UAAA,CAnBF;AAAA,UAsBTI,cAAc;AAAA,QAAA,CAxBa;AAAA,QA0B7BC,SAASC,WAA8B;AAC9B,iBAAA;AAAA,YAAEA;AAAAA,UAAAA;AAAAA,QACV;AAAA,MAAA,CA7ByB;AAAA,MA+B5BC,UAAU,CAACzB,QAAQkB,UACjBQ,MAAmB1B,mBAAAA,QAAQF,gBAAgBoB,OAAO;AAAA,QAChDd,OAAOC,MAAaC,aAAAA;AAAAA,QACpBqB,OAAO;AAAA,MAAA,CAFS;AAAA,MAIpBC,UAAU5B,CAAAA,WACR6B,yBAAmB7B,QAAQF,gBAAgB;AAAA,QAAEM,OAAOC,MAAaC,aAAAA;AAAAA,MAAAA,CAA/C;AAAA,MACpBwB,iBAAiB,CAACC,YAAqB;AAC9B1B,eAAAA,MAAAA,aAAaC,YAAYyB,OAAzB,IAAoCA,QAAQP,YAAYQ;AAAAA,MAChE;AAAA,IA1CyB;AAAA,IA4C5BC,YAAYlC;AAAAA,IACZmC,eAAe,CAACA,eAAeC,cAAcC,CAAS,UAAA;AACpD,aAAOF,cAAc,iCAChBE,QADgB;AAAA,QAEnBL,SAAS,iCACJK,MAAML,UADF;AAAA,UAEPI;AAAAA,QAFO;AAAA,MAAA,EAFS;AAAA,IAOrB;AAAA,EAAA,CArD0B;AAuD9B;ACzEM,MAAME,YAAY;AAEK,uBAAA;AAC5B,SAAO9B,iCAAuB;AAAA,IAC5BC,SAAS;AAAA,MACPC,YAAYC,UAAAA,iBAAiB;AAAA,QAC3BC,MAAM2B,UAAAA,MAAM;AAAA,UACVzB,OAAO;AAAA,QAAA,CADE;AAAA,QAGXU,SAASgB,OAAuD;AACvD,iBAAA;AAAA,YAAEA;AAAAA,UAAAA;AAAAA,QACV;AAAA,MAAA,CANyB;AAAA,MAQ5Bd,UAAU,CAACzB,QAAQkB,UAAU;AACRlB,iCAAAA,QAAQqC,WAAWnB,OAAO;AAAA,UAC3Cd,OAAOoC,MAAKC,KAAAA;AAAAA,UACZd,OAAO;AAAA,QAAA,CAFS;AAAA,MAVb;AAAA,MAePC,UAAU5B,CAAAA,WAAU6B,yBAAmB7B,QAAQqC,WAAW;AAAA,QAAEjC,OAAOoC,MAAKC,KAAAA;AAAAA,MAAAA,CAAlC;AAAA,MACtCC,cAAc,CAACC,SAAe;AACrBH,eAAAA,MAAAA,KAAKC,OAAOE,IAAZ,IAAoBA,6BAAMJ,QAAQP;AAAAA,MAC1C;AAAA,IAnByB;AAAA,IAqB5BC,YAAY,CAACjC,WAAmB;AACxB,YAAA;AAAA,QAAEC;AAAAA,UAAkBD;AAC1BA,aAAOC,gBAAgBC,CAAS,UAAA;AAC1BC,YAAAA,MAAAA,yBAAyBH,QAAQqC,WAAW;AAAA,UAAEjC,OAAOoC,MAAKC,KAAAA;AAAAA,QAAAA,CAAlC,EAA4CvC,KAApE,GAA4E;AAC9E;AAAA,QACD;AAEDD,sBAAcC,KAAD;AAAA,MAAA;AAGRF,aAAAA;AAAAA,IA/BmB;AAAA,IAiC5B4C,YAAY,CAACA,YAAYT,cAAcC,CAAS,UAAA;AAC9C,aAAOQ,WAAW,iCACbR,QADa;AAAA,QAEhBS,MAAM,iCACDT,MAAMS,OADL;AAAA,UAEJV,WAAY,GAAEC,MAAMS,KAAKV,aAAaA;AAAAA,QAFlC;AAAA,MAAA,EAFS;AAAA,IAOlB;AAAA,EAAA,CAzC0B;AA2C9B;ACrDM,+CACL,QACqC;AACrC,SAAO,MAAM,KACXW,aAAO,MAAM,QAAQ;AAAA,IACnB,IAAIC,mBAAa,MAAM;AAAA,IACvB,OAAO,CAAA,SACJ1C,mBAAa,SAAS,IAAI,KAAK2C,4BAAsB,KAAK,IAAI,KAAMR,WAAK,OAAO,IAAI;AAAA,EACxF,CAAA,CACH;AACF;AAEa,MAAAZ,aAAW,CAAC,WAAmB;;AAC1C,QAAM,QAAQqB,MAAA,sBAAsB,sCAAsC,MAAM,CAAC;AAE3E,QAAA,wCAAwC,MAAM,MAClD,CAAS,UAAAC,MAAA,uBAAuB,KAAK,KAAKV,MAAK,KAAA,OAAO,MAAM,EAAE,CAChE;AAEA,MAAI,CAAC;AAA8C,WAAA;AAE7C,QAAA,iBAAiB,MAAM,OAAOU,MAAsB,sBAAA,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI;AAEhF,SAAO,qBAAe,OAAO,CAAC,GAAG,MAAOC,KAAU,UAAA,GAAG,CAAC,IAAI,IAAI,QAAY,eAAe,GAAG,CAAC,CAAC,MAAvF,mBACH;AACN;AClBa,MAAA1B,aAAW,CAAC,QAAgB,UAA+B;AACnC,qCAAA;AACV2B,iCAAA,QAAQ,CAAC,EAAE,OAAO,kBAAkBC,mBAAa,QAAQ,WAAW,CAAC;AAAA,EAC9F;AAE4B,8BAAA;AAC1BC,UAAA,WAAW,YAAY,QAAQ;AAAA,MAC7B,OAAO,CAAA,SAAQjD,mBAAa,SAAS,IAAI;AAAA,MACzC,IAAI0C,mBAAa,MAAM;AAAA,IAAA,CACxB;AAAA,EACH;AAEA,MAAI,SAAS;AAAM,WAAO,wBAAwB;AAE9C,MAAA,CAACC,4BAAsB,KAAK;AAAG;AAEnC,QAAM,QAAQC,MAAA,sBAAsB,sCAAsC,MAAM,CAAC;AAC3E,QAAA,OAAO,MAAM,GAAG,CAAC;AAGrB,MAAA,MAAM,WAAW,KACjB,QAAQ,QACRC,MAAAA,uBAAuB,IAAI,KAC3B,KAAK,GAAG,SAAS,OACjB;AACAG,uBAAa,QAAQ,KAAK;AAAA,EAAA,OACrB;AACY;AACjBE,UAAA,WAAW,QAAQ,EAAE,MAAM,OAAO,UAAU,IAAI;AAAA,EAClD;AACF;ACnCaC,MAAAA,aAAa,CAACxD,WAAmB;AACtC,QAAA;AAAA,IAAEyD;AAAAA,MAAazD;AAErBA,SAAOyD,WAAWvD,CAAS,UAAA;AAClBG,WAAAA,MAAAA,aAAaoD,SAASvD,KAAtB,KAAgCuD,SAASvD,KAAD;AAAA,EAAA;AAG1CF,SAAAA;AACR;AAE8B,wBAAA;AAC7B,SAAOO,iCAAuB;AAAA,IAC5BC,SAAS;AAAA,MACPC,YAAYG,WAAAA,wBAAwB;AAAA,QAClCC,OAAO;AAAA,QACPC,SAASsC,MAAAA;AAAAA,MAAAA,CAFwB;AAAA,MAAA,UAInC3B;AAAAA,MAAAA,UACAG;AAAAA,MACAE,iBAAiB,CAACC,YAAqB;AAC9B1B,eAAAA,MAAAA,aAAaoD,SAAS1B,OAAtB,IAAiCA,QAAQpB,OAAOqB;AAAAA,MACxD;AAAA,IAVyB;AAAA,IAY5BC,YAAYuB;AAAAA,IACZtB,eAAeA,mBAAiBE,CAAS,UAAA;AAChC,4CAACsB,yBAAD,iCAA2BtB,QAA3B;AAAA,QAAkC;AAAA,MAAA,EAAzC;AAAA,IACD;AAAA,EAAA,CAf0B;AAiB9B;AAED,iCAA+B;AAAA,EAC7BL;AAAAA,EACA4B;AAAAA,EACAC;AAAAA,EACA1B;AAAAA,GACwD;AAChDH,UAAAA,QAAQpB;AAAAA,SACTkD,UAAWC,WAAAA;AACd,qFAAiBH;QAAaC;AAAAA,MAAAA,EAA9B;AAAA,SACGC,UAAWE,WAAAA;AACd,oFAAgBJ;QAAaC;AAAAA,MAAAA,EAA7B;AAAA,SACGC,UAAWG,WAAAA;AACd,oFAAgBL;QAAaC;AAAAA,MAAAA,EAA7B;AAAA;AAIE,4CAAAK,WAAAA,UAAA;AAAA,QAAA,UACG/B,cAAc;AAAA,UACbH;AAAAA,UACA4B;AAAAA,UACAC;AAAAA,QAAAA,CAHY;AAAA,MAAA,CAFlB;AAAA;AAUL;AC5DM,uBAAuB,MAAiC;AAC7D,SAAOvD,MAAAA,aAAa,SAAS,IAAI,KAAK,KAAK,SAASwD,UAAW,WAAA;AACjE;AAEO,qBAAqB,QAA2D;AAC9E,SAAAxD,mBAAa,SAAS,OAAO,EAAE,KAAK,OAAO,GAAG,SAASwD,UAAAA,WAAW;AAC3E;ACFO,oCAAoC,QAAiD;AAC1F,SAAO,MAAM,KACXf,aAAO,MAAM,QAAQ;AAAA,IACnB,IAAIC,mBAAa,MAAM;AAAA,IACvB,OAAO,CAAS,SAAA1C,MAAA,aAAa,SAAS,IAAI,KAAK,cAAc,IAAI,KAAMmC,WAAK,OAAO,IAAI;AAAA,EACxF,CAAA,CACH;AACF;AAEa,MAAA,WAAW,CAAC,WAAmB;;AAC1C,QAAM,QAAQS,MAAA,sBAAsB,2BAA2B,MAAM,CAAC;AAEtE,QAAM,mBAAmB,MAAM,MAAM,CAAC,CAAC,UAAU,cAAc,IAAI,KAAKT,MAAA,KAAK,OAAO,IAAI,CAAC;AAEzF,MAAI,CAAC;AAAyB,WAAA;AAExB,QAAA,iBAAiB,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,OAAO,aAAa;AAEvE,SAAO,qBAAe,OAAO,CAAC,GAAG,MAAOW,KAAU,UAAA,GAAG,CAAC,IAAI,IAAI,QAAY,eAAe,GAAG,CAAC,CAAC,MAAvF,mBACH;AACN;ACnBa,MAAA,WAAW,CAAC,QAAgB,UAA2B;AAClE,MAAI,SAAS;AAAa,WAAAE,mBAAa,QAAQQ,UAAA,WAAW,IAAI;AAE9D,QAAM,QAAQZ,MAAA,sBAAsB,2BAA2B,MAAM,CAAC;AAChE,QAAA,OAAO,MAAM,GAAG,CAAC;AAGvB,MAAI,MAAM,WAAW,KAAK,QAAQ,QAAQ,YAAY,IAAI,GAAG;AAC3DK,UAAA,WAAW,SACT,QACA;AAAA,MACE,MAAM;AAAA,IAER,GAAA,EAAE,IAAI,KAAK,GACb,CAAA;AAAA,EAAA,OAGG;AACUD,UAAAA,aAAA,QAAQQ,qBAAW,IAAI;AACzBN,UAAAA,WAAA,QAAQ,EAAE,MAAMM,qBAAW,MAAM,MAAM,OAAO,UAAU,CAAC,EAAA,CAAG;AAAA,EACzE;AACF;AClBaK,MAAAA,WAAW,CAAClE,WAAmB;AACpC,QAAA;AAAA,IAAEyD;AAAAA,MAAazD;AAErBA,SAAOyD,WAAWvD,CAAS,UAAA;AAClBG,WAAAA,MAAAA,aAAaoD,SAASvD,KAAtB,KAAgCuD,SAASvD,KAAD;AAAA,EAAA;AAG1CF,SAAAA;AACR;AAED,+BAA+B;AAAA,EAC7B+B;AAAAA,EACA4B;AAAAA,EACAC;AAAAA,EACA1B;AAAAA,GACwD;AAClDiC,QAAAA,YAAYC,UAAAA,SAAS;AAAA,IAAEC,gBAAgB;AAAA,EAAA,CAAnB;AAClBtC,UAAAA,QAAQpB;AAAAA,SACTkD,UAAWS,WAAAA;AAEZ,4CAACC,QAAAA,MAAD,iCACMZ,aADN;AAAA,QAEE,MAAM5B,QAAQyC;AAAAA,QACd,WAAWC,IAAAA,GAAGN,WAAWpC,QAAQI,SAApB;AAAA,QAEZyB;AAAAA,MAAAA,EANL;AAAA;AAWA,aAAO1B,cAAc;AAAA,QACnBH;AAAAA,QACA4B;AAAAA,QACAC;AAAAA,MAAAA,CAHkB;AAAA;AAMzB;AAE4B,sBAAA;AAC3B,SAAOrD,iCAAuB;AAAA,IAC5BC,SAAS;AAAA,MACPC,YAAY6D,UAAAA,OAAK;AAAA,QACfzD,OAAO;AAAA,MAAA,CADO;AAAA,MAGhBY;AAAAA,MACAG;AAAAA,MACAE,iBAAiB,CAACC,YAAqB;AAC9B1B,eAAAA,MAAAA,aAAaoD,SAAS1B,OAAtB,KAAkC2C,cAAc3C,OAAD,IAAYA,QAAQyC,OAAOxC;AAAAA,MAClF;AAAA,IATyB;AAAA,IAW5BC,YAAYiC;AAAAA,IACZhC,eAAeA,mBAAiBE,CAAS,UAAA;AAChC,4CAAC,uBAAD,iCAA2BA,QAA3B;AAAA,QAAkC;AAAA,MAAA,EAAzC;AAAA,IACD;AAAA,EAAA,CAd0B;AAgB9B;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/slate.es.js
CHANGED
|
@@ -5,40 +5,42 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
6
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
7
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (
|
|
9
|
-
for (var prop in
|
|
10
|
-
if (__hasOwnProp.call(
|
|
11
|
-
__defNormalProp(
|
|
8
|
+
var __spreadValues = (a2, b3) => {
|
|
9
|
+
for (var prop in b3 || (b3 = {}))
|
|
10
|
+
if (__hasOwnProp.call(b3, prop))
|
|
11
|
+
__defNormalProp(a2, prop, b3[prop]);
|
|
12
12
|
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(
|
|
14
|
-
if (__propIsEnum.call(
|
|
15
|
-
__defNormalProp(
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b3)) {
|
|
14
|
+
if (__propIsEnum.call(b3, prop))
|
|
15
|
+
__defNormalProp(a2, prop, b3[prop]);
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return a2;
|
|
18
18
|
};
|
|
19
|
-
var __spreadProps = (
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
var __spreadProps = (a2, b3) => __defProps(a2, __getOwnPropDescs(b3));
|
|
20
|
+
import { n as normalizeResponsiveValue, s as setResponsiveValue, g as getResponsiveValue } from "./index.es5.js";
|
|
21
|
+
export { a as TYPOGRAPHY_KEY, T as TypographyActions, b as TypographyPlugin, w as withTypography } from "./index.es5.js";
|
|
22
|
+
import { E as ElementUtils, f as filterForSubtreeRoots, g as getSelection, i as isSupportedInlineType, a as isSupportedInlineEntry, u as unwrapInline, w as wrapInline, s as supportedInlineOptions } from "./types.es2.js";
|
|
22
23
|
export { B as BlockActions, c as BlockPlugin, L as ListActions, o as onKeyDown, b as withBlock } from "./types.es2.js";
|
|
23
24
|
export { I as InlineModePlugin, w as withInlineMode } from "./index.es6.js";
|
|
24
25
|
export { w as withBuilder } from "./index.es7.js";
|
|
25
|
-
import {
|
|
26
|
-
export {
|
|
27
|
-
import
|
|
28
|
-
import {
|
|
26
|
+
import { b9 as createRichTextV2Plugin, aZ as unstable_StyleV2, ax as Color, bd as InlineType, aD as Link, U as useStyle } from "./react-page.es.js";
|
|
27
|
+
export { bg as BlockTextAlignment, bf as BlockType, bd as InlineType, be as RootBlockType } from "./react-page.es.js";
|
|
28
|
+
import "./actions.es.js";
|
|
29
|
+
import { d as unstable_IconRadioGroup, u as unstable_IconRadioGroupIcon } from "./typography.es.js";
|
|
30
|
+
import { Text, Editor, Transforms } from "slate";
|
|
29
31
|
import { K as deepEqual } from "./index.es.js";
|
|
30
|
-
import "react";
|
|
31
|
-
import { cx } from "@emotion/css";
|
|
32
|
-
import "@emotion/serialize";
|
|
33
|
-
import "@emotion/utils";
|
|
34
32
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
35
33
|
import { L as Link$1 } from "./index.es3.js";
|
|
34
|
+
import { cx } from "@emotion/css";
|
|
36
35
|
import "./state/breakpoints.es.js";
|
|
37
|
-
import "
|
|
36
|
+
import "zod";
|
|
38
37
|
import "is-hotkey";
|
|
39
38
|
import "slate-react";
|
|
40
39
|
import "redux";
|
|
41
40
|
import "redux-thunk";
|
|
41
|
+
import "react";
|
|
42
|
+
import "@emotion/serialize";
|
|
43
|
+
import "@emotion/utils";
|
|
42
44
|
import "use-sync-external-store/shim/with-selector";
|
|
43
45
|
import "next/dynamic";
|
|
44
46
|
import "./combobox.es.js";
|
|
@@ -51,7 +53,6 @@ import "scroll-into-view-if-needed";
|
|
|
51
53
|
import "react-dom";
|
|
52
54
|
import "html-react-parser";
|
|
53
55
|
import "next/head";
|
|
54
|
-
import "zod";
|
|
55
56
|
import "@emotion/server/create-instance";
|
|
56
57
|
import "next/document";
|
|
57
58
|
import "cors";
|
|
@@ -63,61 +64,6 @@ import "./constants.es.js";
|
|
|
63
64
|
import "uuid";
|
|
64
65
|
import "corporate-ipsum";
|
|
65
66
|
import "next/link";
|
|
66
|
-
function setResponsiveValue(editor, key, value, options) {
|
|
67
|
-
Editor.withoutNormalizing(editor, () => {
|
|
68
|
-
const at = getSelection(editor);
|
|
69
|
-
if (!at)
|
|
70
|
-
return;
|
|
71
|
-
const atRef = Editor.rangeRef(editor, at);
|
|
72
|
-
if (atRef.current) {
|
|
73
|
-
Transforms.setNodes(editor, {
|
|
74
|
-
slice: true
|
|
75
|
-
}, {
|
|
76
|
-
at: atRef.current,
|
|
77
|
-
match: options.match,
|
|
78
|
-
split: options.split
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (atRef.current) {
|
|
82
|
-
const nodesToUpdate = Array.from(Editor.nodes(editor, {
|
|
83
|
-
at: atRef.current,
|
|
84
|
-
match: (node, path) => options.match(node, path) && node.slice === true
|
|
85
|
-
}));
|
|
86
|
-
for (const [, path] of nodesToUpdate) {
|
|
87
|
-
Transforms.setNodes(editor, {
|
|
88
|
-
[key]: value
|
|
89
|
-
}, { at: path });
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
atRef.unref();
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
function getResponsiveValue(editor, key, options) {
|
|
96
|
-
const matchingValues = Array.from(Editor.nodes(editor, {
|
|
97
|
-
at: getSelection(editor),
|
|
98
|
-
match: options == null ? void 0 : options.match
|
|
99
|
-
})).filter(([node, path]) => options.match(node, path)).map(([node]) => node[key]);
|
|
100
|
-
const value = matchingValues.length === 0 ? void 0 : matchingValues.reduce((a, b2) => deepEqual(a, b2) ? b2 : void 0);
|
|
101
|
-
return value;
|
|
102
|
-
}
|
|
103
|
-
function normalizeResponsiveValue(editor, key, options) {
|
|
104
|
-
return (entry) => {
|
|
105
|
-
const [node, path] = entry;
|
|
106
|
-
if (!options.match(node, path)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
const responsiveValue = node == null ? void 0 : node[key];
|
|
110
|
-
if (Array.isArray(responsiveValue) && responsiveValue.length === 0) {
|
|
111
|
-
Transforms.unsetNodes(editor, key, { at: path });
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
if ((node == null ? void 0 : node.slice) != null) {
|
|
115
|
-
Transforms.unsetNodes(editor, "slice", { at: path });
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
return false;
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
67
|
const TEXT_ALIGN_KEY = "textAlign";
|
|
122
68
|
const withTextAlign = (editor) => {
|
|
123
69
|
const {
|
|
@@ -229,7 +175,7 @@ function ColorPlugin() {
|
|
|
229
175
|
renderLeaf: (renderLeaf, className) => (props) => {
|
|
230
176
|
return renderLeaf(__spreadProps(__spreadValues({}, props), {
|
|
231
177
|
leaf: __spreadProps(__spreadValues({}, props.leaf), {
|
|
232
|
-
className
|
|
178
|
+
className: `${props.leaf.className} ${className}`
|
|
233
179
|
})
|
|
234
180
|
}));
|
|
235
181
|
}
|
|
@@ -248,7 +194,7 @@ const getValue$1 = (editor) => {
|
|
|
248
194
|
if (!areAllRootsSupportedInlineTypesOrText)
|
|
249
195
|
return void 0;
|
|
250
196
|
const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node);
|
|
251
|
-
return (_a = matchingValues.reduce((
|
|
197
|
+
return (_a = matchingValues.reduce((a2, b3) => deepEqual(a2, b3) ? b3 : void 0, matchingValues.at(0))) == null ? void 0 : _a.type;
|
|
252
198
|
};
|
|
253
199
|
const onChange$1 = (editor, value) => {
|
|
254
200
|
function unwrapAllSupportedTypes() {
|
|
@@ -351,7 +297,7 @@ const getValue = (editor) => {
|
|
|
351
297
|
if (!areAllRootsLinks)
|
|
352
298
|
return void 0;
|
|
353
299
|
const matchingValues = roots.map(([node]) => node).filter(isLinkElement);
|
|
354
|
-
return (_a = matchingValues.reduce((
|
|
300
|
+
return (_a = matchingValues.reduce((a2, b3) => deepEqual(a2, b3) ? b3 : void 0, matchingValues.at(0))) == null ? void 0 : _a.link;
|
|
355
301
|
};
|
|
356
302
|
const onChange = (editor, value) => {
|
|
357
303
|
if (value == null)
|