@makeswift/runtime 0.0.0-20230711153059 → 0.0.0-20230712195924
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.es.js +1 -1
- package/dist/Button.es.js +1 -1
- package/dist/Carousel.es.js +1 -1
- package/dist/Countdown.es.js +1 -1
- package/dist/Divider.es.js +1 -1
- package/dist/Embed.es.js +1 -1
- package/dist/Form.es.js +1 -1
- package/dist/Image.es.js +1 -1
- package/dist/LiveProvider.es.js +2 -2
- package/dist/Navigation.es.js +1 -1
- package/dist/PreviewProvider.es.js +2 -2
- package/dist/ReadOnlyText.cjs.js +6 -6
- package/dist/ReadOnlyText.cjs.js.map +1 -1
- package/dist/ReadOnlyText.es.js +7 -7
- package/dist/ReadOnlyText.es.js.map +1 -1
- package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
- package/dist/ReadOnlyTextV2.es.js +2 -2
- package/dist/ReadOnlyTextV2.es.js.map +1 -1
- package/dist/Root.es.js +1 -1
- package/dist/SocialLinks.es.js +1 -1
- package/dist/Text.cjs.js +14 -40
- package/dist/Text.cjs.js.map +1 -1
- package/dist/Text.es.js +14 -33
- package/dist/Text.es.js.map +1 -1
- package/dist/Video.es.js +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +1 -1
- package/dist/control-serialization.es.js +1 -1
- package/dist/controls.cjs.js +0 -2
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +1 -1
- package/dist/index.cjs.js +65 -58
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs7.js +357 -20
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.es.js +65 -59
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +2 -2
- package/dist/index.es3.js +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es7.js +352 -19
- package/dist/index.es7.js.map +1 -1
- package/dist/index.es8.js +2 -2
- package/dist/index.es8.js.map +1 -1
- package/dist/next.es.js +1 -1
- package/dist/react-page.cjs.js +15 -13
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +16 -13
- package/dist/react-page.es.js.map +1 -1
- package/dist/slate.es.js +1 -1
- package/dist/types/src/components/builtin/Text/Text.d.ts +3 -4
- package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/register.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text/rich-text.d.ts +0 -1
- package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text-v2/plugin.d.ts +29 -0
- package/dist/types/src/controls/rich-text-v2/plugin.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +3 -28
- package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/src/next/client.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/descriptors.d.ts +1 -1
- package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/control.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/editable-text.d.ts +4 -3
- package/dist/types/src/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/EditableText/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.d.ts.map +1 -0
- package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/useSyncWithBuilder.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -0
- package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/ReadOnlyText.d.ts +2 -2
- package/dist/types/src/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -0
- package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/block.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/components/Element/index.d.ts.map +1 -0
- package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/inline.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/components/Leaf/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/components/Leaf/leaf.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/components/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text/index.d.ts +2 -0
- package/dist/types/src/runtimes/react/controls/rich-text/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/{rich-text.d.ts → rich-text/rich-text.d.ts} +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +2 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/src/slate/BlockPlugin/index.d.ts +3 -3
- package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/InlineModePlugin/index.d.ts +3 -3
- package/dist/types/src/slate/InlineModePlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/InlinePlugin/index.d.ts +3 -3
- package/dist/types/src/slate/InlinePlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/InlinePlugin/types.d.ts +1 -1
- package/dist/types/src/slate/InlinePlugin/types.d.ts.map +1 -1
- package/dist/types/src/slate/LinkPlugin/index.d.ts +3 -3
- package/dist/types/src/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +3 -3
- package/dist/types/src/slate/TextAlignPlugin/index.d.ts +3 -3
- package/dist/types/src/slate/TypographyPlugin/index.d.ts +3 -3
- package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/src/state/modules/locales.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/TextV2.cjs.js +0 -18
- package/dist/TextV2.cjs.js.map +0 -1
- package/dist/TextV2.es.js +0 -16
- package/dist/TextV2.es.js.map +0 -1
- package/dist/index.cjs9.js +0 -381
- package/dist/index.cjs9.js.map +0 -1
- package/dist/index.es9.js +0 -374
- package/dist/index.es9.js.map +0 -1
- package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/EditableText/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/EditableText/useSyncDOMSelection.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/TextV2.d.ts +0 -11
- package/dist/types/src/components/builtin/Text/TextV2.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Element/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +0 -1
- package/dist/types/src/components/builtin/Text/components/index.d.ts.map +0 -1
- package/dist/types/src/runtimes/react/controls/rich-text.d.ts.map +0 -1
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/index.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/useSyncDOMSelection.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/element.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/index.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Leaf/index.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Leaf/leaf.d.ts +0 -0
- /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/index.d.ts +0 -0
package/dist/Box.es.js
CHANGED
|
@@ -33,7 +33,7 @@ import { forwardRef, useRef, useCallback, useImperativeHandle, useState, useEffe
|
|
|
33
33
|
import { cx } from "@emotion/css";
|
|
34
34
|
import { v4 } from "uuid";
|
|
35
35
|
import { n as useResponsiveStyle, E as Element } from "./index.es.js";
|
|
36
|
-
import {
|
|
36
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
37
37
|
import { jsx } from "react/jsx-runtime";
|
|
38
38
|
import { a as useBoxAnimation, b as areBoxAnimationPropsEqual, B as BackgroundsContainer, G as GridItem } from "./index.es2.js";
|
|
39
39
|
import { p as parse, c as createBox } from "./box-models.es.js";
|
package/dist/Button.es.js
CHANGED
|
@@ -32,7 +32,7 @@ var __objRest = (source, exclude) => {
|
|
|
32
32
|
import { forwardRef } from "react";
|
|
33
33
|
import ColorHelper from "color";
|
|
34
34
|
import { o as useResponsiveWidth, n as useResponsiveStyle, p as useResponsiveTextStyle, L as Link, q as colorToString } from "./index.es.js";
|
|
35
|
-
import {
|
|
35
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
36
36
|
import { cx } from "@emotion/css";
|
|
37
37
|
import { jsx } from "react/jsx-runtime";
|
|
38
38
|
import "use-sync-external-store/shim/with-selector";
|
package/dist/Carousel.es.js
CHANGED
|
@@ -35,7 +35,7 @@ import { useGesture } from "@use-gesture/react";
|
|
|
35
35
|
import { wrap } from "@popmotion/popcorn";
|
|
36
36
|
import { r as useBreakpoints, n as useResponsiveStyle, q as colorToString } from "./index.es.js";
|
|
37
37
|
import "use-sync-external-store/shim";
|
|
38
|
-
import {
|
|
38
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
39
39
|
import "./actions.es.js";
|
|
40
40
|
import "slate";
|
|
41
41
|
import { u as useMediaQuery } from "./useMediaQuery.es.js";
|
package/dist/Countdown.es.js
CHANGED
|
@@ -31,7 +31,7 @@ var __objRest = (source, exclude) => {
|
|
|
31
31
|
};
|
|
32
32
|
import { cx } from "@emotion/css";
|
|
33
33
|
import { forwardRef, useState, useEffect } from "react";
|
|
34
|
-
import {
|
|
34
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
35
35
|
import { n as useResponsiveStyle, q as colorToString } from "./index.es.js";
|
|
36
36
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
37
37
|
import "redux";
|
package/dist/Divider.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { forwardRef } from "react";
|
|
2
2
|
import { n as useResponsiveStyle, q as colorToString } from "./index.es.js";
|
|
3
|
-
import {
|
|
3
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
4
4
|
import { cx } from "@emotion/css";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import "use-sync-external-store/shim/with-selector";
|
package/dist/Embed.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { forwardRef, useState, useImperativeHandle, useEffect } from "react";
|
|
2
2
|
import { u as useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.es.js";
|
|
3
|
-
import {
|
|
3
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
4
4
|
import { cx } from "@emotion/css";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import "redux";
|
package/dist/Form.es.js
CHANGED
|
@@ -33,7 +33,7 @@ import * as React from "react";
|
|
|
33
33
|
import { forwardRef, useRef, useImperativeHandle, useState, useEffect, useMemo } from "react";
|
|
34
34
|
import { Field as Field$1, getIn, Formik } from "formik";
|
|
35
35
|
import { cx, keyframes } from "@emotion/css";
|
|
36
|
-
import {
|
|
36
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
37
37
|
import { n as useResponsiveStyle, S as Shapes, s as Sizes, C as Contrasts, q as colorToString, t as useFormContext, p as useResponsiveTextStyle, u as useIsInBuilder, v as useResponsiveGridItem, w as useTable, x as useMakeswiftClient, y as Provider, L as Link, A as Alignments } from "./index.es.js";
|
|
38
38
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
39
39
|
import ColorHelper from "color";
|
package/dist/Image.es.js
CHANGED
|
@@ -4,7 +4,7 @@ import { findBreakpointOverride } from "./state/breakpoints.es.js";
|
|
|
4
4
|
import { p as placeholders } from "./placeholders.es.js";
|
|
5
5
|
import { z as useFile, r as useBreakpoints, o as useResponsiveWidth, n as useResponsiveStyle, L as Link } from "./index.es.js";
|
|
6
6
|
import { cx } from "@emotion/css";
|
|
7
|
-
import {
|
|
7
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
8
8
|
import { m as major } from "./next-version.es.js";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
10
|
import "./actions.es.js";
|
package/dist/LiveProvider.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
|
-
import { a as ReactRuntime,
|
|
3
|
-
import {
|
|
2
|
+
import { a as ReactRuntime, I as StoreContext, M as MakeswiftProvider } from "./index.es.js";
|
|
3
|
+
import { at as configureStore } from "./react-page.es.js";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import "use-sync-external-store/shim/with-selector";
|
|
6
6
|
import "next/dynamic";
|
package/dist/Navigation.es.js
CHANGED
|
@@ -34,7 +34,7 @@ import { forwardRef, useRef, useState, createElement, Fragment as Fragment$1 } f
|
|
|
34
34
|
import { G as GutterContainer } from "./index.es3.js";
|
|
35
35
|
import ImageComponent from "./Image.es.js";
|
|
36
36
|
import Button from "./Button.es.js";
|
|
37
|
-
import {
|
|
37
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
38
38
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
39
39
|
import { l as useResponsiveColor, L as Link, p as useResponsiveTextStyle, n as useResponsiveStyle, q as colorToString } from "./index.es.js";
|
|
40
40
|
import "use-sync-external-store/shim";
|
|
@@ -19,11 +19,11 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
const import_meta = {};
|
|
21
21
|
import { useMemo, useEffect } from "react";
|
|
22
|
-
import {
|
|
22
|
+
import { H as ElementImperativeHandle, a as ReactRuntime, I as StoreContext, M as MakeswiftProvider } from "./index.es.js";
|
|
23
23
|
import { createStore, applyMiddleware, combineReducers } from "redux";
|
|
24
24
|
import thunk from "redux-thunk";
|
|
25
25
|
import Router from "next/router";
|
|
26
|
-
import {
|
|
26
|
+
import { bV as getInitialState$3, bW as reducer$4, bX as getDocument$1, c as createDocument, bY as getComponentsMeta$1, bZ as getComponentPropControllerDescriptors$1, av as getBreakpoints, h as getLocales, f as getDefaultLocale, a as deepEqual, aB as getBuilderEditMode, b_ as BuilderEditMode, b$ as getDocumentKeysSortedByDepth, c0 as getPropController, c1 as getPropControllersHandle, c2 as getElement, c3 as getElementPropControllerDescriptors, c4 as createPropController, e as isElementReference, a4 as isPropControllersHandle, c5 as reducer$5, c6 as reducer$7, c7 as reducer$8, c8 as reducer$9, c9 as reducer$a, ca as reducer$b, cb as reducer$c, cc as reducer$e, cd as getInitialState$4 } from "./react-page.es.js";
|
|
27
27
|
import { removeIn, setIn } from "immutable";
|
|
28
28
|
import { A as ActionTypes, w as unregisterMeasurable, x as registerMeasurable, y as registerBuilderComponent, j as setBreakpoints, l as setLocales, z as setDefaultLocale, k as setLocale, B as changePathnameStart, C as changePathnameComplete, D as changeElementBoxModels, E as changeDocumentElementSize, F as handleWheel, G as handlePointerMove, H as elementFromPointChange, I as setIsInBuilder, J as unregisterBuilderComponent, K as unregisterPropControllers, L as registerPropControllers, M as registerPropControllersHandle, r as registerDocument, N as registerComponentHandle, O as messageBuilderPropController, P as registerDocumentEffect } from "./actions.es.js";
|
|
29
29
|
import { i as isMeasurable, a as getMeasurables$1, b as getBoxModels$1, m as measure, d as getBoxModel$1, r as reducer$6 } from "./box-models.es.js";
|
package/dist/ReadOnlyText.cjs.js
CHANGED
|
@@ -2,24 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
var css = require("@emotion/css");
|
|
4
4
|
var React = require("react");
|
|
5
|
-
var reactPage = require("./react-page.cjs.js");
|
|
6
5
|
var next = require("./index.cjs.js");
|
|
6
|
+
var reactPage = require("./react-page.cjs.js");
|
|
7
|
+
require("./actions.cjs.js");
|
|
7
8
|
require("slate");
|
|
8
9
|
require("./state/breakpoints.cjs.js");
|
|
9
|
-
require("./actions.cjs.js");
|
|
10
10
|
require("is-hotkey");
|
|
11
11
|
var jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
require("slate-react");
|
|
13
13
|
require("uuid");
|
|
14
|
-
require("redux");
|
|
15
|
-
require("redux-thunk");
|
|
16
|
-
require("@emotion/serialize");
|
|
17
|
-
require("@emotion/utils");
|
|
18
14
|
require("use-sync-external-store/shim/with-selector");
|
|
19
15
|
require("next/dynamic");
|
|
20
16
|
require("./text-input.cjs.js");
|
|
21
17
|
require("./combobox.cjs.js");
|
|
22
18
|
require("use-sync-external-store/shim");
|
|
19
|
+
require("redux");
|
|
20
|
+
require("redux-thunk");
|
|
23
21
|
require("./types.cjs.js");
|
|
24
22
|
require("./box-models.cjs.js");
|
|
25
23
|
require("css-box-model");
|
|
@@ -39,6 +37,8 @@ require("set-cookie-parser");
|
|
|
39
37
|
require("./constants.cjs.js");
|
|
40
38
|
require("corporate-ipsum");
|
|
41
39
|
require("next/link");
|
|
40
|
+
require("@emotion/serialize");
|
|
41
|
+
require("@emotion/utils");
|
|
42
42
|
const ReadOnlyText = React.forwardRef(function ReadOnlyText2({
|
|
43
43
|
id,
|
|
44
44
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div\n ref={ref}\n id={id}\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 className={cx(width, margin)}\n >\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\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\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\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 <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in 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): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\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 (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","position","whiteSpace","wordWrap","cx","_jsx","useStyle","display","maxWidth","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Default","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/runtimes/react/controls/rich-text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { richTextDTOtoDAO } from '../../../../controls'\nimport type { ElementIDValue, RichTextValue } from '../../../../prop-controllers/descriptors'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport { useStyle } from '../../use-style'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\nimport { Link } from '../../../../components/shared/Link'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div\n ref={ref}\n id={id}\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 className={cx(width, margin)}\n >\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\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\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\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 <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in 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): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\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 (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","position","whiteSpace","wordWrap","cx","_jsx","useStyle","display","maxWidth","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Default","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
package/dist/ReadOnlyText.es.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { cx } from "@emotion/css";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { J as useEnhancedTypography, K as useTypographyClassName, n as useResponsiveStyle, L as Link } from "./index.es.js";
|
|
4
|
+
import { bn as richTextDTOtoDAO, _ as useStyle, Y as BlockType, bM as InlineType } from "./react-page.es.js";
|
|
5
|
+
import "./actions.es.js";
|
|
5
6
|
import "slate";
|
|
6
7
|
import "./state/breakpoints.es.js";
|
|
7
|
-
import "./actions.es.js";
|
|
8
8
|
import "is-hotkey";
|
|
9
9
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
10
10
|
import "slate-react";
|
|
11
11
|
import "uuid";
|
|
12
|
-
import "redux";
|
|
13
|
-
import "redux-thunk";
|
|
14
|
-
import "@emotion/serialize";
|
|
15
|
-
import "@emotion/utils";
|
|
16
12
|
import "use-sync-external-store/shim/with-selector";
|
|
17
13
|
import "next/dynamic";
|
|
18
14
|
import "./text-input.es.js";
|
|
19
15
|
import "./combobox.es.js";
|
|
20
16
|
import "use-sync-external-store/shim";
|
|
17
|
+
import "redux";
|
|
18
|
+
import "redux-thunk";
|
|
21
19
|
import "./types.es.js";
|
|
22
20
|
import "./box-models.es.js";
|
|
23
21
|
import "css-box-model";
|
|
@@ -37,6 +35,8 @@ import "set-cookie-parser";
|
|
|
37
35
|
import "./constants.es.js";
|
|
38
36
|
import "corporate-ipsum";
|
|
39
37
|
import "next/link";
|
|
38
|
+
import "@emotion/serialize";
|
|
39
|
+
import "@emotion/utils";
|
|
40
40
|
const ReadOnlyText = forwardRef(function ReadOnlyText2({
|
|
41
41
|
id,
|
|
42
42
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyText.es.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div\n ref={ref}\n id={id}\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 className={cx(width, margin)}\n >\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\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\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\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 <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in 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): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\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 (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","position","whiteSpace","wordWrap","cx","_jsx","useStyle","display","maxWidth","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Default","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyText.es.js","sources":["../src/runtimes/react/controls/rich-text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { richTextDTOtoDAO } from '../../../../controls'\nimport type { ElementIDValue, RichTextValue } from '../../../../prop-controllers/descriptors'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport { useStyle } from '../../use-style'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\nimport { Link } from '../../../../components/shared/Link'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div\n ref={ref}\n id={id}\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 className={cx(width, margin)}\n >\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\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\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\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 <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in 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): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\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 (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","position","whiteSpace","wordWrap","cx","_jsx","useStyle","display","maxWidth","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Default","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBMA,MAAAA,eAAeC,WAAW,uBAC9B;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAAMC;AAAAA,EAAOC;AAAAA,GACnBC,KACA;AACMC,QAAAA,cAAcJ,QAAQ,OAAO,CAAA,IAAKK,iBAAiBL,IAAD;AAClDM,QAAAA,sBAAsBC,QAAQH,WAAD;AAGjC,6BAAA,OAAA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MAMLI,UAAU;AAAA,MACVC,YAAY;AAAA,MACZC,UAAU;AAAA,IAXd;AAAA,IAaE,WAAWC,GAAGV,OAAOC,MAAR;AAAA,IAEZI,UAAAA,wBAAwB,KAAKM,oBAAC,aAAD,EAAA,IAAkBA,oBAAC,aAAD;AAAA,MAAa;AAAA,IAAA,CAAb;AAAA,EAAA,CAhBpD;AAmBD,CA1B8B;AA8B/B,qBAAqB;AAAA,EAAEZ,OAAO;AAAA,GAA2C;AAErE,6BAAA,QAAA;AAAA,IACE,WAAWa,SAAS;AAAA,MAClBC,SAAS;AAAA,MACTb,OAAO;AAAA,MACPc,UAAU;AAAA,MACVN,YAAY;AAAA,MACZO,SAAS;AAAA,MACTC,eAAe;AAAA,IAAA,CANE;AAAA,IASlBjB,UAAAA;AAAAA,EAAAA,CAXL;AAcD;AAM2B,qBAAA;AAAA,EAAEkB;AAAAA,GAAyB;AAC/CC,QAAAA,qBAAqBC,sBAAsBF,WAAWG,UAAZ;AAC1CC,QAAAA,sBAAsBC,uBAAuBJ,kBAAD;AAGhD,6BAAA,QAAA;AAAA,IAAM,WAAWG;AAAAA,IACdJ,UAAAA,WAAWlB,SAAS,KAAK,WAAWkB,WAAWlB;AAAAA,EAAAA,CAFpD;AAKD;AAMD,uBAAuB;AAAA,EAAEkB;AAAAA,GAA2B;;AAC5CM,QAAAA,gBAAgBX,SAAS;AAAA,IAAEY,gBAAgB;AAAA,EAAA,CAAnB;AAEtBP,UAAAA,WAAWQ;AAAAA,SACZC,WAAWC;AAEZ,iCAAA,QAAA;AAAA,QAAA,8BACG,aAAD;AAAA,UAAa,aAAaV,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAMGF,WAAWG;AAEZ,iCAAA,OAAA;AAAA,QAAA,8BACG,aAAD;AAAA,UAAa,aAAaZ,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAMGF,WAAWI;AAEZ,iCAAA,OAAA;AAAA,QAAA,8BACG,aAAD;AAAA,UAAa,aAAab,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAMGF,WAAWK;AACd,iCACG,MAAD;AAAA,QAAM,WAAWR;AAAAA,QAAe,MAAMN,iBAAWe,SAAXf,YAAmBgB;AAAAA,QAAzD,8BACG,aAAD;AAAA,UAAa,aAAahB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA;AAML;AAM4B,sBAAA;AAAA,EAAEX;AAAAA,GAA0B;AACjDiB,QAAAA,cAAc,CAClBtB,SAAS;AAAA,IAAEX,QAAQ;AAAA,EAAA,CAAX,GACRW,SAASuB,mBAAmB,CAAClB,WAAWmB,SAAZ,GAAwB,CAAC,CAACA,YAAY,YAAa;AAAA,IAAEA;AAAAA,EAAAA,EAAtD,CAAnB,CAFU;AAIdC,QAAAA,aAAazB,SAAS;AAAA,IAC1B0B,SAAS;AAAA,IACTC,UAAU;AAAA,IACVC,YAAY;AAAA,IACZC,YAAY;AAAA,EAAA,CAJa;AAOnBxB,UAAAA,WAAWQ;AAAAA,SACZiB,UAAUC;AAAAA,SACVD,UAAUE;AAEX,iCAAA,KAAA;AAAA,QAAG,WAAWlC,GAAG,GAAGwB,WAAJ;AAAA,QAAhB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUG;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWnC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUI;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWpC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUK;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWrC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUM;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWtC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUO;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWvC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUQ;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAWxC,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUS;AAEX,iCAAA,cAAA;AAAA,QAAY,WAAWzC,GAAG,GAAGwB,aAAaG,UAAjB;AAAA,QAAzB,8BACG,aAAD;AAAA,UAAa,aAAapB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUU;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAW1C,GAAG,GAAGwB,WAAJ;AAAA,QAAkB,OAAO;AAAA,UAAEmB,mBAAmB;AAAA,QAA/D;AAAA,QAAA,8BACG,aAAD;AAAA,UAAa,aAAapC,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUY;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAW5C,GAAG,GAAGwB,WAAJ;AAAA,QAAkB,OAAO;AAAA,UAAEmB,mBAAmB;AAAA,QAA/D;AAAA,QAAA,8BACG,aAAD;AAAA,UAAa,aAAapC,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUa;AAEX,iCAAA,MAAA;AAAA,QAAI,WAAW7C,GAAG,GAAGwB,WAAJ;AAAA,QAAjB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA,SAKGc,UAAUc;AAEX,iCAAA,QAAA;AAAA,QAAM,WAAW9C,GAAG,GAAGwB,WAAJ;AAAA,QAAnB,8BACG,aAAD;AAAA,UAAa,aAAajB,WAAWW;AAAAA,QAAAA,CAArC;AAAA,MAAA,CAFJ;AAAA;AAMO,aAAA;AAAA;AAEZ;AAGD,gBAAgB6B,MAAyB;AACnC,MAAA,OAAOA,SAAS,YAAY,UAAUA;AAAa,WAAA;AAEhD,SAAA;AACR;AAED,qBAAqB;AAAA,EAAEtD;AAAAA,GAA8C;AAEjE,6BAAAuD,UAAA;AAAA,IACGvD,UAAAA,YAAYwD,IAAI,CAAC1C,YAAY2C,UAAU;AAClCC,UAAAA,OAAO5C,UAAD,GAAc;AACtB,mCAAQ,aAAD;AAAA,UAAyB;AAAA,WAAP2C,KAAlB;AAAA,MACR;AAEO3C,cAAAA,WAAWQ;AAAAA,aACZC,WAAWK;AAAAA,aACXL,WAAWC;AAAAA,aACXD,WAAWI;AAAAA,aACXJ,WAAWG;AACd,qCAAQ,eAAD;AAAA,YAA2B;AAAA,aAAP+B,KAApB;AAAA,aACJlB,UAAUG;AAAAA,aACVH,UAAUI;AAAAA,aACVJ,UAAUK;AAAAA,aACVL,UAAUM;AAAAA,aACVN,UAAUO;AAAAA,aACVP,UAAUQ;AAAAA,aACVR,UAAUS;AAAAA,aACVT,UAAUE;AAAAA,aACVF,UAAUC;AAAAA,aACVD,UAAUU;AAAAA,aACVV,UAAUY;AAAAA,aACVZ,UAAUa;AAAAA,aACVb,UAAUc;AACb,qCAAQ,cAAD;AAAA,YAA0B;AAAA,aAAPI,KAAnB;AAAA;AAEA,iBAAA;AAAA;AAAA,IAAA,CA1BZ;AAAA,EAAA,CAFL;AAiCD;AAED,iBAAiB3C,YAA6C;AAC5D,MAAI,UAAUA;AAAmB,WAAA;AAEzBA,UAAAA,WAAWQ;AAAAA,SACZiB,UAAUG;AAAAA,SACVH,UAAUI;AAAAA,SACVJ,UAAUK;AAAAA,SACVL,UAAUM;AAAAA,SACVN,UAAUO;AAAAA,SACVP,UAAUQ;AAAAA,SACVR,UAAUS;AAAAA,SACVT,UAAUE;AAAAA,SACVF,UAAUC;AAAAA,SACVD,UAAUU;AAAAA,SACVV,UAAUY;AAAAA,SACVZ,UAAUa;AAAAA,SACVb,UAAUc;AACN,aAAA;AAAA;AAGA,aAAA;AAAA;AAEZ;AAED,6BAA6BvC,YAAgC;;AACvD,MAAA,UAAUA,YAAY;AACxB,WAAOA,iBAAWlB,SAAXkB,YAAmB;AAAA,EAC3B;AAEOA,UAAAA,WAAWQ;AAAAA,SACZC,WAAWK;AAAAA,SACXL,WAAWC;AAAAA,SACXD,WAAWI;AAAAA,SACXJ,WAAWG;AACPZ,aAAAA,iBAAWW,SAAS+B,IAAI1C,CAAc6C,gBAAAA,oBAAoB7C,WAAD,CAAzD,EAAuE8C,KAAK,EAA5E,MAAA9C,YAAmF;AAAA,SACvFyB,UAAUG;AAAAA,SACVH,UAAUI;AAAAA,SACVJ,UAAUK;AAAAA,SACVL,UAAUM;AAAAA,SACVN,UAAUO;AAAAA,SACVP,UAAUQ;AAAAA,SACVR,UAAUS;AAAAA,SACVT,UAAUE;AAAAA,SACVF,UAAUC;AAAAA,SACVD,UAAUU;AAAAA,SACVV,UAAUY;AAAAA,SACVZ,UAAUa;AAAAA,SACVb,UAAUc;AAEXvC,aAAAA,iBAAWW,SACR+B,IAAI1C,CAAc6C,gBAAAA,oBAAoB7C,WAAD,CADxC,EAEG8C,KAAK9C,WAAWW,SAASoC,MAAMC,OAA1B,IAAqC,OAAO,EAFpD,MAAAhD,YAE2D;AAAA;AAGtD,aAAA;AAAA;AAEZ;AAED,iBAAiBA,YAAkC;AAC1CA,SAAAA,WAAW0C,IAAIG,mBAAf,EAAoCC,KAAK,IAAzC;AACR;;"}
|
|
@@ -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 {\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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"}
|
|
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} 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'\nimport { RichTextV2Plugin } from '../../../../controls/rich-text-v2/plugin'\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,13 +14,13 @@ var __objRest = (source, exclude) => {
|
|
|
14
14
|
return target;
|
|
15
15
|
};
|
|
16
16
|
import { forwardRef } from "react";
|
|
17
|
-
import {
|
|
17
|
+
import { bq as RichTextV2Mode, bI as InlineModePlugin, bG as BlockPlugin, bB as TypographyPlugin, bK as TextAlignPlugin, bP as InlinePlugin, _ as useStyle, Y as BlockType, bM as InlineType } from "./react-page.es.js";
|
|
18
18
|
import "./actions.es.js";
|
|
19
19
|
import "slate";
|
|
20
20
|
import "slate-react";
|
|
21
21
|
import { L as LinkPlugin } from "./index.es5.js";
|
|
22
22
|
import "uuid";
|
|
23
|
-
import {
|
|
23
|
+
import { Q as ControlValue } from "./index.es.js";
|
|
24
24
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
25
25
|
import "redux";
|
|
26
26
|
import "redux-thunk";
|
|
@@ -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 {\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":"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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} 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'\nimport { RichTextV2Plugin } from '../../../../controls/rich-text-v2/plugin'\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":"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"}
|
package/dist/Root.es.js
CHANGED
|
@@ -2,7 +2,7 @@ var _a;
|
|
|
2
2
|
import { normalize } from "polished";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { forwardRef, useRef } from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
import { E as Element } from "./index.es.js";
|
|
8
8
|
import { B as BackgroundsContainer, G as GridItem } from "./index.es2.js";
|
package/dist/SocialLinks.es.js
CHANGED
|
@@ -34,7 +34,7 @@ import { forwardRef } from "react";
|
|
|
34
34
|
import { n as useResponsiveStyle, L as Link, q as colorToString } from "./index.es.js";
|
|
35
35
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
36
36
|
import { G as GutterContainer } from "./index.es3.js";
|
|
37
|
-
import {
|
|
37
|
+
import { _ as useStyle } from "./react-page.es.js";
|
|
38
38
|
import { cx } from "@emotion/css";
|
|
39
39
|
import "use-sync-external-store/shim/with-selector";
|
|
40
40
|
import "next/dynamic";
|
package/dist/Text.cjs.js
CHANGED
|
@@ -1,44 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
19
|
-
};
|
|
20
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
-
var dynamic = require("next/dynamic");
|
|
22
|
-
var React = require("react");
|
|
23
|
-
var next = require("./index.cjs.js");
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var css = require("@emotion/css");
|
|
24
4
|
var jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
function
|
|
26
|
-
|
|
5
|
+
function Text({
|
|
6
|
+
id,
|
|
7
|
+
text,
|
|
8
|
+
width,
|
|
9
|
+
margin
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
12
|
+
id,
|
|
13
|
+
className: css.cx(width, margin),
|
|
14
|
+
children: text
|
|
15
|
+
});
|
|
27
16
|
}
|
|
28
|
-
|
|
29
|
-
const EditableText = next.forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
30
|
-
return require("./index.cjs9.js");
|
|
31
|
-
}))));
|
|
32
|
-
const ReadOnlyText = next.forwardNextDynamicRef((patch) => dynamic__default["default"](() => patch(Promise.resolve().then(function() {
|
|
33
|
-
return require("./ReadOnlyText.cjs.js");
|
|
34
|
-
}))));
|
|
35
|
-
const Text = React.forwardRef(function Text2(props, ref) {
|
|
36
|
-
const isPreview = next.useIsPreview();
|
|
37
|
-
return isPreview ? /* @__PURE__ */ jsxRuntime.jsx(EditableText, __spreadProps(__spreadValues({}, props), {
|
|
38
|
-
ref
|
|
39
|
-
})) : /* @__PURE__ */ jsxRuntime.jsx(ReadOnlyText, __spreadProps(__spreadValues({}, props), {
|
|
40
|
-
ref
|
|
41
|
-
}));
|
|
42
|
-
});
|
|
43
|
-
exports.Text = Text;
|
|
17
|
+
exports["default"] = Text;
|
|
44
18
|
//# sourceMappingURL=Text.cjs.js.map
|