@makeswift/runtime 0.0.0-20230711141354 → 0.0.0-20230711151644
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/ReadOnlyTextV2.cjs.js +16 -10
- package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
- package/dist/ReadOnlyTextV2.es.js +14 -8
- package/dist/ReadOnlyTextV2.es.js.map +1 -1
- package/dist/Text.cjs.js +1 -1
- package/dist/Text.es.js +1 -1
- package/dist/index.cjs.js +3 -3
- package/dist/index.cjs5.js +0 -20
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs6.js +20 -42
- package/dist/index.cjs6.js.map +1 -1
- package/dist/index.cjs7.js +13 -273
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs8.js +181 -257
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs9.js +381 -0
- package/dist/index.cjs9.js.map +1 -0
- package/dist/index.es.js +3 -3
- package/dist/index.es5.js +1 -20
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es6.js +20 -40
- package/dist/index.es6.js.map +1 -1
- package/dist/index.es7.js +12 -268
- package/dist/index.es7.js.map +1 -1
- package/dist/index.es8.js +183 -259
- package/dist/index.es8.js.map +1 -1
- package/dist/index.es9.js +374 -0
- package/dist/index.es9.js.map +1 -0
- package/dist/slate.cjs.js +2 -1
- package/dist/slate.cjs.js.map +1 -1
- package/dist/slate.es.js +2 -1
- package/dist/slate.es.js.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -19,18 +19,19 @@ var React = require("react");
|
|
|
19
19
|
var reactPage = require("./react-page.cjs.js");
|
|
20
20
|
require("./actions.cjs.js");
|
|
21
21
|
require("slate");
|
|
22
|
-
require("./state/breakpoints.cjs.js");
|
|
23
|
-
require("is-hotkey");
|
|
24
|
-
var jsxRuntime = require("react/jsx-runtime");
|
|
25
22
|
require("slate-react");
|
|
26
|
-
var
|
|
27
|
-
require("@emotion/css");
|
|
23
|
+
var index = require("./index.cjs5.js");
|
|
28
24
|
require("uuid");
|
|
25
|
+
var next = require("./index.cjs.js");
|
|
26
|
+
var jsxRuntime = require("react/jsx-runtime");
|
|
29
27
|
require("redux");
|
|
30
28
|
require("redux-thunk");
|
|
29
|
+
require("./state/breakpoints.cjs.js");
|
|
30
|
+
require("zod");
|
|
31
|
+
require("@emotion/css");
|
|
31
32
|
require("@emotion/serialize");
|
|
32
33
|
require("@emotion/utils");
|
|
33
|
-
require("
|
|
34
|
+
require("is-hotkey");
|
|
34
35
|
require("use-sync-external-store/shim/with-selector");
|
|
35
36
|
require("next/dynamic");
|
|
36
37
|
require("./text-input.cjs.js");
|
|
@@ -64,8 +65,13 @@ const ReadOnlyTextV2 = React.forwardRef(function ReadOnlyText({
|
|
|
64
65
|
const descendantsAsString = getText(descendants, (_a = definition == null ? void 0 : definition.config.mode) != null ? _a : reactPage.RichTextV2Mode.Block);
|
|
65
66
|
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
66
67
|
ref,
|
|
68
|
+
style: {
|
|
69
|
+
position: "relative",
|
|
70
|
+
whiteSpace: "pre-wrap",
|
|
71
|
+
wordWrap: "break-word"
|
|
72
|
+
},
|
|
67
73
|
children: descendantsAsString === "" ? /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {}) : /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
|
|
68
|
-
plugins: (_b = definition == null ? void 0 : definition.config
|
|
74
|
+
plugins: ((_b = definition == null ? void 0 : definition.config) == null ? void 0 : _b.mode) === reactPage.RichTextV2Mode.Inline ? [reactPage.InlineModePlugin()] : [reactPage.BlockPlugin(), reactPage.TypographyPlugin(), reactPage.TextAlignPlugin(), reactPage.InlinePlugin(), index.LinkPlugin()],
|
|
69
75
|
descendants
|
|
70
76
|
})
|
|
71
77
|
});
|
|
@@ -164,17 +170,17 @@ function Descendants({
|
|
|
164
170
|
plugins
|
|
165
171
|
}) {
|
|
166
172
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
167
|
-
children: descendants.map((descendant,
|
|
173
|
+
children: descendants.map((descendant, index2) => {
|
|
168
174
|
if (isText(descendant)) {
|
|
169
175
|
return /* @__PURE__ */ jsxRuntime.jsx(LeafComponent, {
|
|
170
176
|
plugins,
|
|
171
177
|
leaf: descendant
|
|
172
|
-
},
|
|
178
|
+
}, index2);
|
|
173
179
|
}
|
|
174
180
|
return /* @__PURE__ */ jsxRuntime.jsx(ElementComponent, {
|
|
175
181
|
descendant,
|
|
176
182
|
plugins
|
|
177
|
-
},
|
|
183
|
+
}, index2);
|
|
178
184
|
})
|
|
179
185
|
});
|
|
180
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyTextV2.cjs.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2Mode,\n RichTextV2Plugin,\n} from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Element, Text } from 'slate'\nimport { InlineType, Block, BlockType } from '../../../../slate'\nimport { ControlValue } from '../control'\nimport { RenderElementProps, RenderLeafProps } from 'slate-react'\n\ntype Props = {\n text: RichTextV2ControlData\n definition: RichTextV2ControlDefinition | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: { descendants }, definition }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants, definition?.config.mode ?? RichTextV2Mode.Block)\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants plugins={definition?.config.plugins ?? []} descendants={descendants} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\ntype LeafProps = {\n leaf: Text\n plugins: RichTextV2Plugin[]\n}\n\nexport function LeafComponent({ plugins, ...props }: LeafProps) {\n function initialRenderLeaf({ leaf }: RenderLeafProps) {\n return <span className={leaf.className}>{leaf.text === '' ? '\\uFEFF' : leaf.text}</span>\n }\n\n const renderLeaf = plugins.reduce(\n (renderFn, plugin) => (props: RenderLeafProps) => {\n const { control, renderLeaf } = plugin\n\n if (control?.definition == null || renderLeaf == null) return renderFn(props)\n\n if (control.getLeafValue == null) return renderLeaf(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getLeafValue(props.leaf)}>\n {value => renderLeaf(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderLeaf,\n )\n\n return renderLeaf({ attributes: {} as any, leaf: props.leaf, children: null, text: props.leaf })\n}\n\ntype ElementProps = {\n descendant: Element\n plugins: RichTextV2Plugin[]\n}\n\nfunction ElementComponent({ plugins, ...props }: ElementProps) {\n function initialRenderElement(props: RenderElementProps) {\n return <Descendants descendants={props.element.children} plugins={plugins} />\n }\n\n const renderElement = plugins.reduce(\n (renderFn, plugin) => (props: RenderElementProps) => {\n const { control, renderElement } = plugin\n\n if (control?.definition == null || renderElement == null) return renderFn(props)\n\n if (control.getElementValue == null) return renderElement(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getElementValue(props.element)}>\n {value => renderElement(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderElement,\n )\n\n return renderElement({ attributes: {} as any, children: null, element: props.descendant })\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: Descendant): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({\n descendants,\n plugins,\n}: {\n plugins: RichTextV2Plugin[]\n descendants: Descendant[]\n}) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <LeafComponent key={index} plugins={plugins} leaf={descendant} />\n }\n\n return <ElementComponent key={index} descendant={descendant} plugins={plugins} />\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.Default:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case BlockType.Default:\n return mode === RichTextV2Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ??\n ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[], mode: RichTextV2Mode): string {\n return descendant.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","definition","ref","descendantsAsString","getText","config","mode","RichTextV2Mode","Block","_jsx","plugins","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","props","leaf","className","renderLeaf","reduce","renderFn","plugin","control","getLeafValue","undefined","ControlValue","value","initialRenderLeaf","attributes","children","element","renderElement","getElementValue","initialRenderElement","descendant","node","_Fragment","map","index","isText","type","BlockType","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","Paragraph","Default","OrderedList","UnorderedList","ListItem","ListItemChild","Inline","getTextByDescendant","join","every","isBlock","InlineType","Link","Code","SubScript","SuperScript"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyTextV2.cjs.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2Mode,\n RichTextV2Plugin,\n} from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Element, Text } from 'slate'\nimport {\n InlineType,\n Block,\n BlockType,\n BlockPlugin,\n InlineModePlugin,\n InlinePlugin,\n LinkPlugin,\n TextAlignPlugin,\n TypographyPlugin,\n} from '../../../../slate'\nimport { ControlValue } from '../control'\nimport { RenderElementProps, RenderLeafProps } from 'slate-react'\n\ntype Props = {\n text: RichTextV2ControlData\n definition: RichTextV2ControlDefinition | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: { descendants }, definition }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants, definition?.config.mode ?? RichTextV2Mode.Block)\n\n return (\n <div\n ref={ref}\n style={{\n /**\n * These are the default styles that Slate uses for its editable div.\n * https://github.com/ianstormtaylor/slate/blob/4bd15ed3950e3a0871f5d0ecb391bb637c05e59d/packages/slate-react/src/components/editable.tsx\n * Search for `disableDefaultStyles`\n */\n position: 'relative',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n >\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants\n plugins={\n /**\n * TODO: we are manually referencing our default plugins for each mode here because\n * Referencing the real LinkPlugin causes a circular dependency.\n * When circular dependencies calm down we should update the plugin definition to use real plugins,\n * and just use the plugins that are defined by our config.\n */\n // definition?.config?.plugins ,\n definition?.config?.mode === RichTextV2Mode.Inline\n ? [InlineModePlugin()]\n : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()]\n }\n descendants={descendants}\n />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\ntype LeafProps = {\n leaf: Text\n plugins: RichTextV2Plugin[]\n}\n\nexport function LeafComponent({ plugins, ...props }: LeafProps) {\n function initialRenderLeaf({ leaf }: RenderLeafProps) {\n return <span className={leaf.className}>{leaf.text === '' ? '\\uFEFF' : leaf.text}</span>\n }\n\n const renderLeaf = plugins.reduce(\n (renderFn, plugin) => (props: RenderLeafProps) => {\n const { control, renderLeaf } = plugin\n\n if (control?.definition == null || renderLeaf == null) return renderFn(props)\n\n if (control.getLeafValue == null) return renderLeaf(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getLeafValue(props.leaf)}>\n {value => renderLeaf(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderLeaf,\n )\n\n return renderLeaf({ attributes: {} as any, leaf: props.leaf, children: null, text: props.leaf })\n}\n\ntype ElementProps = {\n descendant: Element\n plugins: RichTextV2Plugin[]\n}\n\nfunction ElementComponent({ plugins, ...props }: ElementProps) {\n function initialRenderElement(props: RenderElementProps) {\n return <Descendants descendants={props.element.children} plugins={plugins} />\n }\n\n const renderElement = plugins.reduce(\n (renderFn, plugin) => (props: RenderElementProps) => {\n const { control, renderElement } = plugin\n\n if (control?.definition == null || renderElement == null) return renderFn(props)\n\n if (control.getElementValue == null) return renderElement(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getElementValue(props.element)}>\n {value => renderElement(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderElement,\n )\n\n return renderElement({ attributes: {} as any, children: null, element: props.descendant })\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: Descendant): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({\n descendants,\n plugins,\n}: {\n plugins: RichTextV2Plugin[]\n descendants: Descendant[]\n}) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <LeafComponent key={index} plugins={plugins} leaf={descendant} />\n }\n\n return <ElementComponent key={index} descendant={descendant} plugins={plugins} />\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.Default:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case BlockType.Default:\n return mode === RichTextV2Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ??\n ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[], mode: RichTextV2Mode): string {\n return descendant.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","definition","ref","descendantsAsString","getText","config","mode","RichTextV2Mode","Block","position","whiteSpace","wordWrap","_jsx","Inline","InlineModePlugin","BlockPlugin","TypographyPlugin","TextAlignPlugin","InlinePlugin","LinkPlugin","useStyle","display","width","maxWidth","opacity","verticalAlign","plugins","props","leaf","className","renderLeaf","reduce","renderFn","plugin","control","getLeafValue","undefined","ControlValue","value","initialRenderLeaf","attributes","children","element","renderElement","getElementValue","initialRenderElement","descendant","node","_Fragment","map","index","isText","type","BlockType","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","Paragraph","Default","OrderedList","UnorderedList","ListItem","ListItemChild","getTextByDescendant","join","every","isBlock","InlineType","Link","Code","SubScript","SuperScript"],"mappings":"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"}
|
|
@@ -14,21 +14,22 @@ var __objRest = (source, exclude) => {
|
|
|
14
14
|
return target;
|
|
15
15
|
};
|
|
16
16
|
import { forwardRef } from "react";
|
|
17
|
-
import { bp as RichTextV2Mode, Y as useStyle, V as BlockType, bM as InlineType } from "./react-page.es.js";
|
|
17
|
+
import { bp as RichTextV2Mode, bI as InlineModePlugin, bG as BlockPlugin, bB as TypographyPlugin, bK as TextAlignPlugin, bP as InlinePlugin, Y as useStyle, V as BlockType, bM as InlineType } from "./react-page.es.js";
|
|
18
18
|
import "./actions.es.js";
|
|
19
19
|
import "slate";
|
|
20
|
-
import "./state/breakpoints.es.js";
|
|
21
|
-
import "is-hotkey";
|
|
22
|
-
import { jsx, Fragment } from "react/jsx-runtime";
|
|
23
20
|
import "slate-react";
|
|
24
|
-
import {
|
|
25
|
-
import "@emotion/css";
|
|
21
|
+
import { L as LinkPlugin } from "./index.es5.js";
|
|
26
22
|
import "uuid";
|
|
23
|
+
import { N as ControlValue } from "./index.es.js";
|
|
24
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
27
25
|
import "redux";
|
|
28
26
|
import "redux-thunk";
|
|
27
|
+
import "./state/breakpoints.es.js";
|
|
28
|
+
import "zod";
|
|
29
|
+
import "@emotion/css";
|
|
29
30
|
import "@emotion/serialize";
|
|
30
31
|
import "@emotion/utils";
|
|
31
|
-
import "
|
|
32
|
+
import "is-hotkey";
|
|
32
33
|
import "use-sync-external-store/shim/with-selector";
|
|
33
34
|
import "next/dynamic";
|
|
34
35
|
import "./text-input.es.js";
|
|
@@ -62,8 +63,13 @@ const ReadOnlyTextV2 = forwardRef(function ReadOnlyText({
|
|
|
62
63
|
const descendantsAsString = getText(descendants, (_a = definition == null ? void 0 : definition.config.mode) != null ? _a : RichTextV2Mode.Block);
|
|
63
64
|
return /* @__PURE__ */ jsx("div", {
|
|
64
65
|
ref,
|
|
66
|
+
style: {
|
|
67
|
+
position: "relative",
|
|
68
|
+
whiteSpace: "pre-wrap",
|
|
69
|
+
wordWrap: "break-word"
|
|
70
|
+
},
|
|
65
71
|
children: descendantsAsString === "" ? /* @__PURE__ */ jsx(Placeholder, {}) : /* @__PURE__ */ jsx(Descendants, {
|
|
66
|
-
plugins: (_b = definition == null ? void 0 : definition.config
|
|
72
|
+
plugins: ((_b = definition == null ? void 0 : definition.config) == null ? void 0 : _b.mode) === RichTextV2Mode.Inline ? [InlineModePlugin()] : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()],
|
|
67
73
|
descendants
|
|
68
74
|
})
|
|
69
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyTextV2.es.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2Mode,\n RichTextV2Plugin,\n} from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Element, Text } from 'slate'\nimport { InlineType, Block, BlockType } from '../../../../slate'\nimport { ControlValue } from '../control'\nimport { RenderElementProps, RenderLeafProps } from 'slate-react'\n\ntype Props = {\n text: RichTextV2ControlData\n definition: RichTextV2ControlDefinition | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: { descendants }, definition }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants, definition?.config.mode ?? RichTextV2Mode.Block)\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants plugins={definition?.config.plugins ?? []} descendants={descendants} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\ntype LeafProps = {\n leaf: Text\n plugins: RichTextV2Plugin[]\n}\n\nexport function LeafComponent({ plugins, ...props }: LeafProps) {\n function initialRenderLeaf({ leaf }: RenderLeafProps) {\n return <span className={leaf.className}>{leaf.text === '' ? '\\uFEFF' : leaf.text}</span>\n }\n\n const renderLeaf = plugins.reduce(\n (renderFn, plugin) => (props: RenderLeafProps) => {\n const { control, renderLeaf } = plugin\n\n if (control?.definition == null || renderLeaf == null) return renderFn(props)\n\n if (control.getLeafValue == null) return renderLeaf(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getLeafValue(props.leaf)}>\n {value => renderLeaf(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderLeaf,\n )\n\n return renderLeaf({ attributes: {} as any, leaf: props.leaf, children: null, text: props.leaf })\n}\n\ntype ElementProps = {\n descendant: Element\n plugins: RichTextV2Plugin[]\n}\n\nfunction ElementComponent({ plugins, ...props }: ElementProps) {\n function initialRenderElement(props: RenderElementProps) {\n return <Descendants descendants={props.element.children} plugins={plugins} />\n }\n\n const renderElement = plugins.reduce(\n (renderFn, plugin) => (props: RenderElementProps) => {\n const { control, renderElement } = plugin\n\n if (control?.definition == null || renderElement == null) return renderFn(props)\n\n if (control.getElementValue == null) return renderElement(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getElementValue(props.element)}>\n {value => renderElement(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderElement,\n )\n\n return renderElement({ attributes: {} as any, children: null, element: props.descendant })\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: Descendant): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({\n descendants,\n plugins,\n}: {\n plugins: RichTextV2Plugin[]\n descendants: Descendant[]\n}) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <LeafComponent key={index} plugins={plugins} leaf={descendant} />\n }\n\n return <ElementComponent key={index} descendant={descendant} plugins={plugins} />\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.Default:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case BlockType.Default:\n return mode === RichTextV2Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ??\n ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[], mode: RichTextV2Mode): string {\n return descendant.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","definition","ref","descendantsAsString","getText","config","mode","RichTextV2Mode","Block","_jsx","plugins","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","props","leaf","className","renderLeaf","reduce","renderFn","plugin","control","getLeafValue","undefined","value","initialRenderLeaf","attributes","children","element","renderElement","getElementValue","initialRenderElement","descendant","node","_Fragment","map","index","isText","type","BlockType","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","Paragraph","Default","OrderedList","UnorderedList","ListItem","ListItemChild","Inline","getTextByDescendant","join","every","isBlock","InlineType","Link","Code","SubScript","SuperScript"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyTextV2.es.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2Mode,\n RichTextV2Plugin,\n} from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Element, Text } from 'slate'\nimport {\n InlineType,\n Block,\n BlockType,\n BlockPlugin,\n InlineModePlugin,\n InlinePlugin,\n LinkPlugin,\n TextAlignPlugin,\n TypographyPlugin,\n} from '../../../../slate'\nimport { ControlValue } from '../control'\nimport { RenderElementProps, RenderLeafProps } from 'slate-react'\n\ntype Props = {\n text: RichTextV2ControlData\n definition: RichTextV2ControlDefinition | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: { descendants }, definition }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants, definition?.config.mode ?? RichTextV2Mode.Block)\n\n return (\n <div\n ref={ref}\n style={{\n /**\n * These are the default styles that Slate uses for its editable div.\n * https://github.com/ianstormtaylor/slate/blob/4bd15ed3950e3a0871f5d0ecb391bb637c05e59d/packages/slate-react/src/components/editable.tsx\n * Search for `disableDefaultStyles`\n */\n position: 'relative',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n >\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants\n plugins={\n /**\n * TODO: we are manually referencing our default plugins for each mode here because\n * Referencing the real LinkPlugin causes a circular dependency.\n * When circular dependencies calm down we should update the plugin definition to use real plugins,\n * and just use the plugins that are defined by our config.\n */\n // definition?.config?.plugins ,\n definition?.config?.mode === RichTextV2Mode.Inline\n ? [InlineModePlugin()]\n : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()]\n }\n descendants={descendants}\n />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\ntype LeafProps = {\n leaf: Text\n plugins: RichTextV2Plugin[]\n}\n\nexport function LeafComponent({ plugins, ...props }: LeafProps) {\n function initialRenderLeaf({ leaf }: RenderLeafProps) {\n return <span className={leaf.className}>{leaf.text === '' ? '\\uFEFF' : leaf.text}</span>\n }\n\n const renderLeaf = plugins.reduce(\n (renderFn, plugin) => (props: RenderLeafProps) => {\n const { control, renderLeaf } = plugin\n\n if (control?.definition == null || renderLeaf == null) return renderFn(props)\n\n if (control.getLeafValue == null) return renderLeaf(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getLeafValue(props.leaf)}>\n {value => renderLeaf(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderLeaf,\n )\n\n return renderLeaf({ attributes: {} as any, leaf: props.leaf, children: null, text: props.leaf })\n}\n\ntype ElementProps = {\n descendant: Element\n plugins: RichTextV2Plugin[]\n}\n\nfunction ElementComponent({ plugins, ...props }: ElementProps) {\n function initialRenderElement(props: RenderElementProps) {\n return <Descendants descendants={props.element.children} plugins={plugins} />\n }\n\n const renderElement = plugins.reduce(\n (renderFn, plugin) => (props: RenderElementProps) => {\n const { control, renderElement } = plugin\n\n if (control?.definition == null || renderElement == null) return renderFn(props)\n\n if (control.getElementValue == null) return renderElement(renderFn, undefined)(props)\n\n return (\n <ControlValue definition={control.definition} data={control.getElementValue(props.element)}>\n {value => renderElement(renderFn, value)(props)}\n </ControlValue>\n )\n },\n initialRenderElement,\n )\n\n return renderElement({ attributes: {} as any, children: null, element: props.descendant })\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: Descendant): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({\n descendants,\n plugins,\n}: {\n plugins: RichTextV2Plugin[]\n descendants: Descendant[]\n}) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <LeafComponent key={index} plugins={plugins} leaf={descendant} />\n }\n\n return <ElementComponent key={index} descendant={descendant} plugins={plugins} />\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.Default:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case BlockType.Default:\n return mode === RichTextV2Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ??\n ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[], mode: RichTextV2Mode): string {\n return descendant.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","definition","ref","descendantsAsString","getText","config","mode","RichTextV2Mode","Block","position","whiteSpace","wordWrap","_jsx","Inline","InlineModePlugin","BlockPlugin","TypographyPlugin","TextAlignPlugin","InlinePlugin","LinkPlugin","useStyle","display","width","maxWidth","opacity","verticalAlign","plugins","props","leaf","className","renderLeaf","reduce","renderFn","plugin","control","getLeafValue","undefined","value","initialRenderLeaf","attributes","children","element","renderElement","getElementValue","initialRenderElement","descendant","node","_Fragment","map","index","isText","type","BlockType","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","Paragraph","Default","OrderedList","UnorderedList","ListItem","ListItemChild","getTextByDescendant","join","every","isBlock","InlineType","Link","Code","SubScript","SuperScript"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BMA,MAAAA,iBAAiBC,WAAW,sBAChC;AAAA,EAAEC,MAAM;AAAA,IAAEC;AAAAA;AAAAA,EAAeC;AAAAA,GACzBC,KACA;;AACA,QAAMC,sBAAsBC,QAAQJ,aAAaC,+CAAYI,OAAOC,SAAnBL,YAA2BM,eAAeC,KAAxD;AAGjC,6BAAA,OAAA;AAAA,IACE;AAAA,IACA,OAAO;AAAA,MAMLC,UAAU;AAAA,MACVC,YAAY;AAAA,MACZC,UAAU;AAAA,IAVd;AAAA,IAaGR,UAAAA,wBAAwB,KACvBS,oBAAC,aAAD,EAAA,IAEAA,oBAAC,aAAD;AAAA,MACE,SAQEX,gDAAYI,WAAZJ,mBAAoBK,UAASC,eAAeM,SACxC,CAACC,iBAAD,CAAA,IACA,CAACC,YAAD,GAAgBC,oBAAoBC,mBAAmBC,aAAY,GAAIC,YAAvE;AAAA,MAEN;AAAA,IAAA,CAbF;AAAA,EAAA,CAjBN;AAmCD,CAzCgC;AA6CjC,qBAAqB;AAAA,EAAEpB,OAAO;AAAA,GAA2C;AAErE,6BAAA,QAAA;AAAA,IACE,WAAWqB,SAAS;AAAA,MAClBC,SAAS;AAAA,MACTC,OAAO;AAAA,MACPC,UAAU;AAAA,MACVb,YAAY;AAAA,MACZc,SAAS;AAAA,MACTC,eAAe;AAAA,IAAA,CANE;AAAA,IASlB1B,UAAAA;AAAAA,EAAAA,CAXL;AAcD;AAO6B,uBAAA,IAAkC;AAAlC,eAAE2B;AAAAA;AAAAA,MAAF,IAAcC,kBAAd,IAAcA;AAAAA,IAAZD;AAAAA;AACH,6BAAA;AAAA,IAAEE;AAAAA,KAAyB;AAC7C,+BAAA,QAAA;AAAA,MAAM,WAAWA,KAAKC;AAAAA,MAAYD,UAAAA,KAAK7B,SAAS,KAAK,WAAW6B,KAAK7B;AAAAA,IAAAA,CAA5E;AAAA,EACD;AAED,QAAM+B,aAAaJ,QAAQK,OACzB,CAACC,UAAUC,WAAW,CAACN,WAA2B;AAC1C,UAAA;AAAA,MAAEO;AAAAA,MAASJ,YAAAA;AAAAA,QAAeG;AAE5BC,QAAAA,oCAASjC,eAAc,QAAQ6B,eAAc;AAAM,aAAOE,SAASL,MAAD;AAEtE,QAAIO,QAAQC,gBAAgB;AAAM,aAAOL,YAAWE,UAAUI,MAAX,EAAsBT,MAAhC;AAEzC,+BACG,cAAD;AAAA,MAAc,YAAYO,QAAQjC;AAAAA,MAAY,MAAMiC,QAAQC,aAAaR,OAAMC,IAA3B;AAAA,MACjDS,UAAAA,CAASP,UAAAA,YAAWE,UAAUK,KAAX,EAAkBV,MAA5B;AAAA,IAAA,CAFd;AAAA,KAMFW,iBAdiB;AAiBnB,SAAOR,WAAW;AAAA,IAAES,YAAY,CAAM;AAAA,IAAKX,MAAMD,MAAMC;AAAAA,IAAMY,UAAU;AAAA,IAAMzC,MAAM4B,MAAMC;AAAAA,EAAAA,CAAxE;AAClB;AAOD,0BAA0B,IAAqC;AAArC,eAAEF;AAAAA;AAAAA,MAAF,IAAcC,kBAAd,IAAcA;AAAAA,IAAZD;AAAAA;AAC1B,gCAA8BC,QAA2B;AACvD,+BAAQ,aAAD;AAAA,MAAa,aAAaA,OAAMc,QAAQD;AAAAA,MAAU;AAAA,IAAA,CAAzD;AAAA,EACD;AAED,QAAME,gBAAgBhB,QAAQK,OAC5B,CAACC,UAAUC,WAAW,CAACN,WAA8B;AAC7C,UAAA;AAAA,MAAEO;AAAAA,MAASQ,eAAAA;AAAAA,QAAkBT;AAE/BC,QAAAA,oCAASjC,eAAc,QAAQyC,kBAAiB;AAAM,aAAOV,SAASL,MAAD;AAEzE,QAAIO,QAAQS,mBAAmB;AAAM,aAAOD,eAAcV,UAAUI,MAAX,EAAsBT,MAAnC;AAE5C,+BACG,cAAD;AAAA,MAAc,YAAYO,QAAQjC;AAAAA,MAAY,MAAMiC,QAAQS,gBAAgBhB,OAAMc,OAA9B;AAAA,MACjDJ,UAAAA,CAASK,UAAAA,eAAcV,UAAUK,KAAX,EAAkBV,MAA/B;AAAA,IAAA,CAFd;AAAA,KAMFiB,oBAdoB;AAiBtB,SAAOF,cAAc;AAAA,IAAEH,YAAY,CAAM;AAAA,IAAKC,UAAU;AAAA,IAAMC,SAASd,MAAMkB;AAAAA,EAAAA,CAAzD;AACrB;AAGD,gBAAgBC,MAAgC;AAC1C,MAAA,OAAOA,SAAS,YAAY,UAAUA;AAAa,WAAA;AAEhD,SAAA;AACR;AAED,qBAAqB;AAAA,EACnB9C;AAAAA,EACA0B;AAAAA,GAIC;AAEC,6BAAAqB,UAAA;AAAA,IACG/C,UAAAA,YAAYgD,IAAI,CAACH,YAAYI,UAAU;AAClCC,UAAAA,OAAOL,UAAD,GAAc;AACtB,mCAAQ,eAAD;AAAA,UAA2B;AAAA,UAAkB,MAAMA;AAAAA,WAA/BI,KAApB;AAAA,MACR;AAED,iCAAQ,kBAAD;AAAA,QAA8B;AAAA,QAAwB;AAAA,SAA/BA,KAAvB;AAAA,IAAA,CALR;AAAA,EAAA,CAFL;AAWD;AAED,iBAAiBJ,YAA6C;AAC5D,MAAIK,OAAOL,UAAD;AAAqB,WAAA;AAEvBA,UAAAA,WAAWM;AAAAA,SACZC,UAAUC;AAAAA,SACVD,UAAUE;AAAAA,SACVF,UAAUG;AAAAA,SACVH,UAAUI;AAAAA,SACVJ,UAAUK;AAAAA,SACVL,UAAUM;AAAAA,SACVN,UAAUO;AAAAA,SACVP,UAAUQ;AAAAA,SACVR,UAAUS;AAAAA,SACVT,UAAUU;AAAAA,SACVV,UAAUW;AAAAA,SACVX,UAAUY;AAAAA,SACVZ,UAAUa;AACN,aAAA;AAAA;AAGA,aAAA;AAAA;AAEZ;AAED,6BAA6BpB,YAAwBvC,MAA8B;;AAC7E4C,MAAAA,OAAOL,UAAD,GAAc;AACtB,WAAOA,iBAAW9C,SAAX8C,YAAmB;AAAA,EAC3B;AAEOA,UAAAA,WAAWM;AAAAA,SACZC,UAAUS;AACNvD,aAAAA,SAASC,eAAeM,SAC3BgC,iBAAWL,SAASQ,IAAIH,CAAAA,gBAAcqB,oBAAoBrB,aAAYvC,IAAb,CAAzD,EAA6E6D,KAAK,EAAlF,MAAAtB,YACE,KACFA,iBAAWL,SACRQ,IAAIH,CAAAA,gBAAcqB,oBAAoBrB,aAAYvC,IAAb,CADxC,EAEG6D,KAAKtB,WAAWL,SAAS4B,MAAMC,OAA1B,IAAqC,OAAO,EAFpD,MAAAxB,YAE2D;AAAA,SAE5DyB,WAAWC;AAAAA,SACXD,WAAWE;AAAAA,SACXF,WAAWG;AAAAA,SACXH,WAAWI;AAEZ7B,aAAAA,iBAAWL,SAASQ,IAAIH,CAAcqB,gBAAAA,oBAAoBrB,aAAYvC,IAAb,CAAzD,EAA6E6D,KAAK,EAAlF,MAAAtB,YAAyF;AAAA,SAExFO,UAAUC;AAAAA,SACVD,UAAUE;AAAAA,SACVF,UAAUG;AAAAA,SACVH,UAAUI;AAAAA,SACVJ,UAAUK;AAAAA,SACVL,UAAUM;AAAAA,SACVN,UAAUO;AAAAA,SACVP,UAAUQ;AAAAA,SACVR,UAAUU;AAAAA,SACVV,UAAUW;AAAAA,SACVX,UAAUY;AAAAA,SACVZ,UAAUa;AACb,aACEpB,iBAAWL,SACRQ,IAAIH,CAAcqB,gBAAAA,oBAAoBrB,aAAYvC,IAAb,CADxC,EAEG6D,KAAKtB,WAAWL,SAAS4B,MAAMC,OAA1B,IAAqC,OAAO,EAFpD,MAAAxB,YAE2D;AAAA;AAGtD,aAAA;AAAA;AAEZ;AAED,iBAAiBA,YAA0BvC,MAA8B;AAChEuC,SAAAA,WAAWG,IAAIF,CAAQoB,SAAAA,oBAAoBpB,MAAMxC,IAAP,CAA1C,EAAwD6D,KAAK,IAA7D;AACR;;"}
|
package/dist/Text.cjs.js
CHANGED
|
@@ -27,7 +27,7 @@ function _interopDefaultLegacy(e) {
|
|
|
27
27
|
}
|
|
28
28
|
var dynamic__default = /* @__PURE__ */ _interopDefaultLegacy(dynamic);
|
|
29
29
|
const EditableText = next.forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
30
|
-
return require("./index.
|
|
30
|
+
return require("./index.cjs9.js");
|
|
31
31
|
}))));
|
|
32
32
|
const ReadOnlyText = next.forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
33
33
|
return require("./ReadOnlyText.cjs.js");
|
package/dist/Text.es.js
CHANGED
|
@@ -21,7 +21,7 @@ import dynamic from "next/dynamic";
|
|
|
21
21
|
import { forwardRef } from "react";
|
|
22
22
|
import { B as forwardNextDynamicRef, F as useIsPreview } from "./index.es.js";
|
|
23
23
|
import { jsx } from "react/jsx-runtime";
|
|
24
|
-
const EditableText = forwardNextDynamicRef((patch) => dynamic(() => patch(import("./index.
|
|
24
|
+
const EditableText = forwardNextDynamicRef((patch) => dynamic(() => patch(import("./index.es9.js"))));
|
|
25
25
|
const ReadOnlyText = forwardNextDynamicRef((patch) => dynamic(() => patch(import("./ReadOnlyText.es.js"))));
|
|
26
26
|
const Text = forwardRef(function Text2(props, ref) {
|
|
27
27
|
const isPreview = useIsPreview();
|
package/dist/index.cjs.js
CHANGED
|
@@ -1207,7 +1207,7 @@ async function fonts(_req, res, { getFonts } = {}) {
|
|
|
1207
1207
|
const fonts2 = (_a = await (getFonts == null ? void 0 : getFonts())) != null ? _a : [];
|
|
1208
1208
|
return res.json(fonts2);
|
|
1209
1209
|
}
|
|
1210
|
-
const version = "0.0.0-
|
|
1210
|
+
const version = "0.0.0-20230711151644";
|
|
1211
1211
|
async function handler(req, res, { apiKey, unstable_siteVersions }) {
|
|
1212
1212
|
if (req.query.secret !== apiKey) {
|
|
1213
1213
|
return res.status(401).json({ message: "Unauthorized" });
|
|
@@ -3296,7 +3296,7 @@ function useNumber(numberControlData, controlDefinition) {
|
|
|
3296
3296
|
return numberControlData != null ? numberControlData : controlDefinition.config.defaultValue;
|
|
3297
3297
|
}
|
|
3298
3298
|
const Text = forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
3299
|
-
return require("./index.
|
|
3299
|
+
return require("./index.cjs7.js");
|
|
3300
3300
|
}))));
|
|
3301
3301
|
function useRichText(data, control) {
|
|
3302
3302
|
const textCallbackRef = React.useCallback((handle) => {
|
|
@@ -3312,7 +3312,7 @@ function useRichText(data, control) {
|
|
|
3312
3312
|
});
|
|
3313
3313
|
}
|
|
3314
3314
|
const EditableText = forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
3315
|
-
return require("./index.
|
|
3315
|
+
return require("./index.cjs8.js");
|
|
3316
3316
|
}))));
|
|
3317
3317
|
const ReadOnlyText = forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
3318
3318
|
return require("./ReadOnlyTextV2.cjs.js");
|
package/dist/index.cjs5.js
CHANGED
|
@@ -22,7 +22,6 @@ var reactPage = require("./react-page.cjs.js");
|
|
|
22
22
|
var next = require("./index.cjs.js");
|
|
23
23
|
var css = require("@emotion/css");
|
|
24
24
|
var jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
var uuid = require("uuid");
|
|
26
25
|
const withLink = (editor) => {
|
|
27
26
|
const {
|
|
28
27
|
isInline
|
|
@@ -83,25 +82,6 @@ function LinkPlugin() {
|
|
|
83
82
|
}
|
|
84
83
|
});
|
|
85
84
|
}
|
|
86
|
-
function withLocalChanges(editor) {
|
|
87
|
-
editor.localChanges = /* @__PURE__ */ new Map();
|
|
88
|
-
editor.recentLocalChanges = [];
|
|
89
|
-
editor.currentKey = "";
|
|
90
|
-
const _onChange = editor.onChange;
|
|
91
|
-
editor.onChange = (options) => {
|
|
92
|
-
_onChange(options);
|
|
93
|
-
if (editor == null || (options == null ? void 0 : options.operation) == null)
|
|
94
|
-
return;
|
|
95
|
-
const key = uuid.v4();
|
|
96
|
-
editor.localChanges.set(key, {
|
|
97
|
-
selection: editor.selection,
|
|
98
|
-
time: performance.now()
|
|
99
|
-
});
|
|
100
|
-
editor.currentKey = key;
|
|
101
|
-
};
|
|
102
|
-
return editor;
|
|
103
|
-
}
|
|
104
85
|
exports.LinkPlugin = LinkPlugin;
|
|
105
86
|
exports.withLink = withLink;
|
|
106
|
-
exports.withLocalChanges = withLocalChanges;
|
|
107
87
|
//# sourceMappingURL=index.cjs5.js.map
|
package/dist/index.cjs5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs5.js","sources":["../src/slate/LinkPlugin/index.tsx"
|
|
1
|
+
{"version":3,"file":"index.cjs5.js","sources":["../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2'\nimport { Link } from '../../controls/link'\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 ?? undefined}\n className={cx(linkStyle, element.className)}\n >\n {renderElement({\n element,\n attributes,\n children,\n })}\n </LinkComponent>\n )\n\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\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":["withLink","editor","isInline","entry","ElementUtils","element","attributes","children","renderElement","linkStyle","useStyle","textDecoration","type","InlineType","Link","LinkComponent","link","undefined","cx","className","_Fragment","createRichTextV2Plugin","control","definition","label","onChange","getValue","getElementValue","isLinkElement","withPlugin","props"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAaaA,MAAAA,WAAW,CAACC,WAAmB;AACpC,QAAA;AAAA,IAAEC;AAAAA,MAAaD;AAErBA,SAAOC,WAAWC,CAAS,UAAA;AAClBC,WAAAA,UAAAA,aAAaF,SAASC,KAAtB,KAAgCD,SAASC,KAAD;AAAA,EAAA;AAG1CF,SAAAA;AACR;AAED,+BAA+B;AAAA,EAC7BI;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GACwD;;AAClDC,QAAAA,YAAYC,UAAAA,SAAS;AAAA,IAAEC,gBAAgB;AAAA,EAAA,CAAnB;AAClBN,UAAAA,QAAQO;AAAAA,SACTC,UAAWC,WAAAA;AAEZ,4CAACC,KAAAA,MAAD,iCACMT,aADN;AAAA,QAEE,MAAMD,cAAQW,SAARX,YAAgBY;AAAAA,QACtB,WAAWC,IAAAA,GAAGT,WAAWJ,QAAQc,SAApB;AAAA,QAHf,UAKGX,cAAc;AAAA,UACbH;AAAAA,UACAC;AAAAA,UACAC;AAAAA,QAAAA,CAHY;AAAA,MAAA,EANlB;AAAA;AAgBE,4CAAAa,WAAAA,UAAA;AAAA,QAAA,UACGZ,cAAc;AAAA,UACbH;AAAAA,UACAC;AAAAA,UACAC;AAAAA,QAAAA,CAHY;AAAA,MAAA,CAFlB;AAAA;AAUL;AAE4B,sBAAA;AAC3B,SAAOc,iCAAuB;AAAA,IAC5BC,SAAS;AAAA,MACPC,YAAYT,UAAAA,OAAK;AAAA,QACfU,OAAO;AAAA,MAAA,CADO;AAAA,MAAA,UAGhBC,UAAAA;AAAAA,MAAAA,UACAC,UAAAA;AAAAA,MACAC,iBAAiB,CAACtB,YAAqB;AAC9BD,eAAAA,UAAAA,aAAaF,SAASG,OAAtB,KAAkCuB,UAAAA,cAAcvB,OAAD,IAAYA,QAAQW,OAAOC;AAAAA,MAClF;AAAA,IATyB;AAAA,IAW5BY,YAAY7B;AAAAA,IACZQ,eAAeA,mBAAiBsB,CAAS,UAAA;AAChC,4CAAC,uBAAD,iCAA2BA,QAA3B;AAAA,QAAkC;AAAA,MAAA,EAAzC;AAAA,IACD;AAAA,EAAA,CAd0B;AAgB9B;;;"}
|
package/dist/index.cjs6.js
CHANGED
|
@@ -1,44 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
require("use-sync-external-store/shim");
|
|
23
|
-
require("./types.cjs.js");
|
|
24
|
-
require("./box-models.cjs.js");
|
|
25
|
-
require("css-box-model");
|
|
26
|
-
require("color");
|
|
27
|
-
require("scroll-into-view-if-needed");
|
|
28
|
-
require("react-dom");
|
|
29
|
-
require("html-react-parser");
|
|
30
|
-
require("next/head");
|
|
31
|
-
require("@emotion/server/create-instance");
|
|
32
|
-
require("next/document");
|
|
33
|
-
require("cors");
|
|
34
|
-
require("path-to-regexp");
|
|
35
|
-
require("cookie");
|
|
36
|
-
require("http-proxy");
|
|
37
|
-
require("set-cookie-parser");
|
|
38
|
-
require("./constants.cjs.js");
|
|
39
|
-
require("uuid");
|
|
40
|
-
require("corporate-ipsum");
|
|
41
|
-
require("slate-react");
|
|
42
|
-
require("next/link");
|
|
43
|
-
exports["default"] = Text.Text;
|
|
2
|
+
var uuid = require("uuid");
|
|
3
|
+
function withLocalChanges(editor) {
|
|
4
|
+
editor.localChanges = /* @__PURE__ */ new Map();
|
|
5
|
+
editor.recentLocalChanges = [];
|
|
6
|
+
editor.currentKey = "";
|
|
7
|
+
const _onChange = editor.onChange;
|
|
8
|
+
editor.onChange = (options) => {
|
|
9
|
+
_onChange(options);
|
|
10
|
+
if (editor == null || (options == null ? void 0 : options.operation) == null)
|
|
11
|
+
return;
|
|
12
|
+
const key = uuid.v4();
|
|
13
|
+
editor.localChanges.set(key, {
|
|
14
|
+
selection: editor.selection,
|
|
15
|
+
time: performance.now()
|
|
16
|
+
});
|
|
17
|
+
editor.currentKey = key;
|
|
18
|
+
};
|
|
19
|
+
return editor;
|
|
20
|
+
}
|
|
21
|
+
exports.withLocalChanges = withLocalChanges;
|
|
44
22
|
//# sourceMappingURL=index.cjs6.js.map
|
package/dist/index.cjs6.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs6.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs6.js","sources":["../src/slate/LocalChangesPlugin/index.tsx"],"sourcesContent":["import { BaseEditor, Editor, Selection } from 'slate'\nimport { v4 as uuid } from 'uuid'\n\nexport type LocalChange = { selection: Selection; time: number }\n\nexport interface LocalChangesEditor extends BaseEditor {\n localChanges: Map<string, LocalChange>\n recentKeys: Map<string, number>\n recentLocalChanges: { time: number; key: string }[]\n currentKey: string\n}\n\nexport function withLocalChanges(editor: Editor): Editor {\n editor.localChanges = new Map<string, LocalChange>()\n editor.recentLocalChanges = []\n editor.currentKey = ''\n\n const _onChange = editor.onChange\n editor.onChange = options => {\n _onChange(options)\n if (editor == null || options?.operation == null) return\n\n const key = uuid()\n editor.localChanges.set(key, { selection: editor.selection, time: performance.now() })\n editor.currentKey = key\n }\n\n return editor\n}\n"],"names":["editor","localChanges","Map","recentLocalChanges","currentKey","_onChange","onChange","options","operation","key","uuid","set","selection","time","performance","now"],"mappings":";;AAYO,0BAA0BA,QAAwB;AAChDC,SAAAA,mCAAmBC;AAC1BF,SAAOG,qBAAqB;AAC5BH,SAAOI,aAAa;AAEpB,QAAMC,YAAYL,OAAOM;AACzBN,SAAOM,WAAWC,CAAW,YAAA;AAC3BF,cAAUE,OAAD;AACLP,QAAAA,UAAU,QAAQO,oCAASC,cAAa;AAAM;AAE5CC,UAAAA,MAAMC,KAAAA;AACLT,WAAAA,aAAaU,IAAIF,KAAK;AAAA,MAAEG,WAAWZ,OAAOY;AAAAA,MAAWC,MAAMC,YAAYC,IAAZ;AAAA,IAAA,CAAlE;AACAf,WAAOI,aAAaK;AAAAA,EAAAA;AAGfT,SAAAA;AACR;;"}
|