tinacms 2.7.9 → 2.8.0
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/index.js +100824 -13474
- package/dist/index.mjs +100779 -13428
- package/dist/internalClient/index.d.ts +6 -0
- package/dist/react.js +4 -2
- package/dist/react.mjs +4 -2
- package/dist/rich-text/index.js +10 -4
- package/dist/rich-text/index.mjs +10 -4
- package/dist/rich-text/static.d.ts +148 -0
- package/dist/rich-text/static.js +239 -0
- package/dist/rich-text/static.mjs +236 -0
- package/dist/toolkit/fields/components/reference/components/button.d.ts +1 -1
- package/dist/toolkit/fields/components/reference/components/command.d.ts +21 -33
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/editor.d.ts +20 -18
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/blockquote-element.d.ts +14 -10
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/button.d.ts +3 -3
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/code-block-element.d.ts +17 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/error-message.d.ts +6 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-combobox.d.ts +6 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-toolbar-button.d.ts +6 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-leaf.d.ts +2 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-line-element.d.ts +14 -10
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-syntax-leaf.d.ts +2 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/command.d.ts +112 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dialog.d.ts +12 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dropdown-menu.d.ts +10 -10
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/floating-toolbar.d.ts +2 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-element.d.ts +3 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-toolbar-button.d.ts +18 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/icons.d.ts +2 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/image-toolbar-button.d.ts +6 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +6 -19
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/inline-combobox.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/input.d.ts +3 -3
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-element.d.ts +4 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-floating-toolbar.d.ts +4 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-toolbar-button.d.ts +4 -4
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/list-element.d.ts +28 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-element.d.ts +3 -10
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-toolbar-button.d.ts +6 -8
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/paragraph-element.d.ts +15 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/popover.d.ts +7 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/quote-toolbar-button.d.ts +6 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/raw-markdown-toolbar-button.d.ts +6 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/resizable.d.ts +24 -21
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/separator.d.ts +2 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/slash-input-element.d.ts +15 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/block-selection.d.ts +6 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-cell-element.d.ts +33 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/{table-dropdown-menu.d.ts → table/table-dropdown-menu.d.ts} +1 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-element.d.ts +20 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-row-element.d.ts +15 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/toolbar.d.ts +7 -7
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-hook.d.ts +10 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-state.d.ts +22 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/hooks/use-create-editor.d.ts +6 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-block.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-lists.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-marks.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-utils.d.ts +3 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/common.d.ts +11 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/formatting.d.ts +18 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/index.d.ts +0 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-html-block/index.d.ts +6 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-img-plugin/index.d.ts +2 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-invalid-markdown-plugin/index.d.ts +5 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/component.d.ts +7 -4
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/index.d.ts +3 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/editor-plugins.d.ts +520 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +262 -207
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/floating-toolbar-plugin.d.ts +1 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +1 -1
- package/dist/toolkit/react-sidebar/components/VersionInfo.d.ts +2 -0
- package/package.json +38 -25
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-element.d.ts +0 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-cell-element.d.ts +0 -27
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-element.d.ts +0 -14
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-row-element.d.ts +0 -13
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/with-correct-void-behavior.d.ts +0 -8
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-code-block/index.d.ts +0 -3
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-link-plugin/index.d.ts +0 -15
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/custom/mermaid-plugin.d.ts +0 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/create-soft-break-plugin.d.ts +0 -7
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/index.d.ts +0 -6
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/on-key-down-soft-break.d.ts +0 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/types.d.ts +0 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/index.d.ts +0 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/transforms/insert-empty-block.d.ts +0 -2
|
@@ -141,6 +141,7 @@ export declare class Client {
|
|
|
141
141
|
}[]>;
|
|
142
142
|
usingProtectedBranch(): boolean;
|
|
143
143
|
createBranch({ baseBranch, branchName }: BranchData): Promise<string>;
|
|
144
|
+
getLatestVersion(): Promise<LatestVersionResponse>;
|
|
144
145
|
}
|
|
145
146
|
export declare const DEFAULT_LOCAL_TINA_GQL_SERVER_URL = "http://localhost:4001/graphql";
|
|
146
147
|
export declare class LocalClient extends Client {
|
|
@@ -185,3 +186,8 @@ export declare class LocalSearchClient implements SearchClient {
|
|
|
185
186
|
put(docs: any[]): Promise<any>;
|
|
186
187
|
supportsClientSideIndexing(): boolean;
|
|
187
188
|
}
|
|
189
|
+
export type PackageVersionInfo = {
|
|
190
|
+
version: string;
|
|
191
|
+
publishedAt: string;
|
|
192
|
+
};
|
|
193
|
+
export type LatestVersionResponse = Record<string, PackageVersionInfo>;
|
package/dist/react.js
CHANGED
|
@@ -12,8 +12,10 @@
|
|
|
12
12
|
[stringifiedQuery]
|
|
13
13
|
);
|
|
14
14
|
const processedData = React.useMemo(() => {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if (props.data) {
|
|
16
|
+
const dataCopy = JSON.parse(JSON.stringify(props.data));
|
|
17
|
+
return addMetadata(id, dataCopy, []);
|
|
18
|
+
}
|
|
17
19
|
}, [props.data, id]);
|
|
18
20
|
const [data, setData] = React.useState(processedData);
|
|
19
21
|
const [isClient, setIsClient] = React.useState(false);
|
package/dist/react.mjs
CHANGED
|
@@ -9,8 +9,10 @@ function useTina(props) {
|
|
|
9
9
|
[stringifiedQuery]
|
|
10
10
|
);
|
|
11
11
|
const processedData = React.useMemo(() => {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
if (props.data) {
|
|
13
|
+
const dataCopy = JSON.parse(JSON.stringify(props.data));
|
|
14
|
+
return addMetadata(id, dataCopy, []);
|
|
15
|
+
}
|
|
14
16
|
}, [props.data, id]);
|
|
15
17
|
const [data, setData] = React.useState(processedData);
|
|
16
18
|
const [isClient, setIsClient] = React.useState(false);
|
package/dist/rich-text/index.js
CHANGED
|
@@ -117,17 +117,23 @@
|
|
|
117
117
|
// @ts-ignore FIXME: TinaMarkdownContent needs to be a union of all possible node types
|
|
118
118
|
/* @__PURE__ */ React.createElement("a", { href: child.url }, /* @__PURE__ */ React.createElement(TinaMarkdown, { components, content: children }))
|
|
119
119
|
);
|
|
120
|
-
case "mermaid":
|
|
121
120
|
case "code_block": {
|
|
122
|
-
|
|
121
|
+
let codeString = "";
|
|
122
|
+
if (Array.isArray(child.children)) {
|
|
123
|
+
codeString = child.children.map(
|
|
124
|
+
(line) => Array.isArray(line.children) ? line.children.map((t) => t.text).join("") : ""
|
|
125
|
+
).join("\n");
|
|
126
|
+
} else if (typeof child.value === "string") {
|
|
127
|
+
codeString = child.value;
|
|
128
|
+
}
|
|
123
129
|
if (components[child.type]) {
|
|
124
130
|
const Component2 = components[child.type];
|
|
125
131
|
return (
|
|
126
132
|
// @ts-ignore FIXME: TinaMarkdownContent needs to be a union of all possible node types
|
|
127
|
-
/* @__PURE__ */ React.createElement(Component2, { ...props })
|
|
133
|
+
/* @__PURE__ */ React.createElement(Component2, { ...props, value: codeString })
|
|
128
134
|
);
|
|
129
135
|
}
|
|
130
|
-
return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null,
|
|
136
|
+
return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null, codeString));
|
|
131
137
|
}
|
|
132
138
|
case "hr":
|
|
133
139
|
if (components[child.type]) {
|
package/dist/rich-text/index.mjs
CHANGED
|
@@ -114,17 +114,23 @@ const Node = ({ components, child }) => {
|
|
|
114
114
|
// @ts-ignore FIXME: TinaMarkdownContent needs to be a union of all possible node types
|
|
115
115
|
/* @__PURE__ */ React.createElement("a", { href: child.url }, /* @__PURE__ */ React.createElement(TinaMarkdown, { components, content: children }))
|
|
116
116
|
);
|
|
117
|
-
case "mermaid":
|
|
118
117
|
case "code_block": {
|
|
119
|
-
|
|
118
|
+
let codeString = "";
|
|
119
|
+
if (Array.isArray(child.children)) {
|
|
120
|
+
codeString = child.children.map(
|
|
121
|
+
(line) => Array.isArray(line.children) ? line.children.map((t) => t.text).join("") : ""
|
|
122
|
+
).join("\n");
|
|
123
|
+
} else if (typeof child.value === "string") {
|
|
124
|
+
codeString = child.value;
|
|
125
|
+
}
|
|
120
126
|
if (components[child.type]) {
|
|
121
127
|
const Component2 = components[child.type];
|
|
122
128
|
return (
|
|
123
129
|
// @ts-ignore FIXME: TinaMarkdownContent needs to be a union of all possible node types
|
|
124
|
-
/* @__PURE__ */ React.createElement(Component2, { ...props })
|
|
130
|
+
/* @__PURE__ */ React.createElement(Component2, { ...props, value: codeString })
|
|
125
131
|
);
|
|
126
132
|
}
|
|
127
|
-
return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null,
|
|
133
|
+
return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null, codeString));
|
|
128
134
|
}
|
|
129
135
|
case "hr":
|
|
130
136
|
if (components[child.type]) {
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a static-ready version of the TinaMarkdown component.
|
|
3
|
+
* The primary change is the removal of the `MemoNode` wrapper, which used
|
|
4
|
+
* the `React.useMemo` hook. This hook is for client-side performance
|
|
5
|
+
* optimization and is not needed for server-side rendering (SSR).
|
|
6
|
+
* By rendering the `Node` component directly, the component becomes
|
|
7
|
+
* fully static and can be rendered on the server.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
type BaseComponents = {
|
|
11
|
+
h1?: {
|
|
12
|
+
children: JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
h2?: {
|
|
15
|
+
children: JSX.Element;
|
|
16
|
+
};
|
|
17
|
+
h3?: {
|
|
18
|
+
children: JSX.Element;
|
|
19
|
+
};
|
|
20
|
+
h4?: {
|
|
21
|
+
children: JSX.Element;
|
|
22
|
+
};
|
|
23
|
+
h5?: {
|
|
24
|
+
children: JSX.Element;
|
|
25
|
+
};
|
|
26
|
+
h6?: {
|
|
27
|
+
children: JSX.Element;
|
|
28
|
+
};
|
|
29
|
+
p?: {
|
|
30
|
+
children: JSX.Element;
|
|
31
|
+
};
|
|
32
|
+
a?: {
|
|
33
|
+
url: string;
|
|
34
|
+
children: JSX.Element;
|
|
35
|
+
};
|
|
36
|
+
italic?: {
|
|
37
|
+
children: JSX.Element;
|
|
38
|
+
};
|
|
39
|
+
bold?: {
|
|
40
|
+
children: JSX.Element;
|
|
41
|
+
};
|
|
42
|
+
strikethrough?: {
|
|
43
|
+
children: JSX.Element;
|
|
44
|
+
};
|
|
45
|
+
underline?: {
|
|
46
|
+
children: JSX.Element;
|
|
47
|
+
};
|
|
48
|
+
code?: {
|
|
49
|
+
children: JSX.Element;
|
|
50
|
+
};
|
|
51
|
+
text?: {
|
|
52
|
+
children: string;
|
|
53
|
+
};
|
|
54
|
+
ul?: {
|
|
55
|
+
children: JSX.Element;
|
|
56
|
+
};
|
|
57
|
+
ol?: {
|
|
58
|
+
children: JSX.Element;
|
|
59
|
+
};
|
|
60
|
+
li?: {
|
|
61
|
+
children: JSX.Element;
|
|
62
|
+
};
|
|
63
|
+
lic?: {
|
|
64
|
+
children: JSX.Element;
|
|
65
|
+
};
|
|
66
|
+
block_quote?: {
|
|
67
|
+
children: JSX.Element;
|
|
68
|
+
};
|
|
69
|
+
code_block?: {
|
|
70
|
+
lang?: string;
|
|
71
|
+
value: string;
|
|
72
|
+
};
|
|
73
|
+
mermaid?: {
|
|
74
|
+
value: string;
|
|
75
|
+
};
|
|
76
|
+
img?: {
|
|
77
|
+
url: string;
|
|
78
|
+
caption?: string;
|
|
79
|
+
alt?: string;
|
|
80
|
+
};
|
|
81
|
+
hr?: {};
|
|
82
|
+
break?: {};
|
|
83
|
+
maybe_mdx?: {
|
|
84
|
+
children: JSX.Element;
|
|
85
|
+
};
|
|
86
|
+
html?: {
|
|
87
|
+
value: string;
|
|
88
|
+
};
|
|
89
|
+
html_inline?: {
|
|
90
|
+
value: string;
|
|
91
|
+
};
|
|
92
|
+
table?: {
|
|
93
|
+
align?: ('left' | 'right' | 'center')[];
|
|
94
|
+
tableRows: {
|
|
95
|
+
tableCells: {
|
|
96
|
+
value: TinaMarkdownContent;
|
|
97
|
+
}[];
|
|
98
|
+
}[];
|
|
99
|
+
};
|
|
100
|
+
component_missing?: {
|
|
101
|
+
name: string;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
type BaseComponentSignature = {
|
|
105
|
+
[BK in keyof BaseComponents]: (props: BaseComponents[BK]) => JSX.Element;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Define the allowed components and their props
|
|
109
|
+
* ```ts
|
|
110
|
+
* const components:
|
|
111
|
+
* Components<{
|
|
112
|
+
* BlockQuote: {
|
|
113
|
+
* children: TinaMarkdownContent;
|
|
114
|
+
* authorName: string;
|
|
115
|
+
* };
|
|
116
|
+
* }> = {
|
|
117
|
+
* BlockQuote: (props: {
|
|
118
|
+
* children: TinaMarkdownContent;
|
|
119
|
+
* authorName: string;
|
|
120
|
+
* }) => {
|
|
121
|
+
* return (
|
|
122
|
+
* <div>
|
|
123
|
+
* <blockquote>
|
|
124
|
+
* <TinaMarkdown content={props.children} />
|
|
125
|
+
* {props.authorName}
|
|
126
|
+
* </blockquote>
|
|
127
|
+
* </div>
|
|
128
|
+
* );
|
|
129
|
+
* }
|
|
130
|
+
* }
|
|
131
|
+
* }
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export type Components<ComponentAndProps extends object> = {
|
|
135
|
+
[K in keyof ComponentAndProps]: (props: ComponentAndProps[K]) => JSX.Element;
|
|
136
|
+
} & BaseComponentSignature;
|
|
137
|
+
export type TinaMarkdownContent = {
|
|
138
|
+
type: string;
|
|
139
|
+
children: TinaMarkdownContent[];
|
|
140
|
+
[key: string]: any;
|
|
141
|
+
};
|
|
142
|
+
export declare const StaticTinaMarkdown: <CustomComponents extends {
|
|
143
|
+
[key: string]: object;
|
|
144
|
+
} = any>({ content, components, }: {
|
|
145
|
+
content: TinaMarkdownContent | TinaMarkdownContent[];
|
|
146
|
+
components?: Components<{}> | Components<{ [BK in keyof CustomComponents]: (props: CustomComponents[BK]) => JSX.Element; }>;
|
|
147
|
+
}) => React.JSX.Element;
|
|
148
|
+
export {};
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
(function(global, factory) {
|
|
2
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react")) : typeof define === "function" && define.amd ? define(["exports", "react"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.tinacms = {}, global.NOOP));
|
|
3
|
+
})(this, function(exports2, React) {
|
|
4
|
+
"use strict";
|
|
5
|
+
const StaticTinaMarkdown = ({
|
|
6
|
+
content,
|
|
7
|
+
components = {}
|
|
8
|
+
}) => {
|
|
9
|
+
if (!content) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const nodes = Array.isArray(content) ? content : content.children;
|
|
13
|
+
if (!nodes) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, nodes.map((child, index) => {
|
|
17
|
+
return /* @__PURE__ */ React.createElement(Node, { components, key: index, child });
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
const Leaf = (props) => {
|
|
21
|
+
let el = /* @__PURE__ */ React.createElement(React.Fragment, null, props.text);
|
|
22
|
+
if (props.components.text) {
|
|
23
|
+
const Component = props.components.text;
|
|
24
|
+
el = /* @__PURE__ */ React.createElement(Component, null, props.text);
|
|
25
|
+
}
|
|
26
|
+
if (props.bold) {
|
|
27
|
+
const Component = props.components.bold || "strong";
|
|
28
|
+
el = /* @__PURE__ */ React.createElement(Component, null, el);
|
|
29
|
+
}
|
|
30
|
+
if (props.italic) {
|
|
31
|
+
const Component = props.components.italic || "em";
|
|
32
|
+
el = /* @__PURE__ */ React.createElement(Component, null, el);
|
|
33
|
+
}
|
|
34
|
+
if (props.underline) {
|
|
35
|
+
const Component = props.components.underline || "u";
|
|
36
|
+
el = /* @__PURE__ */ React.createElement(Component, null, el);
|
|
37
|
+
}
|
|
38
|
+
if (props.strikethrough) {
|
|
39
|
+
const Component = props.components.strikethrough || "s";
|
|
40
|
+
el = /* @__PURE__ */ React.createElement(Component, null, el);
|
|
41
|
+
}
|
|
42
|
+
if (props.code) {
|
|
43
|
+
const Component = props.components.code || "code";
|
|
44
|
+
el = /* @__PURE__ */ React.createElement(Component, null, el);
|
|
45
|
+
}
|
|
46
|
+
return el;
|
|
47
|
+
};
|
|
48
|
+
const Node = ({
|
|
49
|
+
components,
|
|
50
|
+
child
|
|
51
|
+
}) => {
|
|
52
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
53
|
+
const { children, ...props } = child;
|
|
54
|
+
switch (child.type) {
|
|
55
|
+
case "h1":
|
|
56
|
+
case "h2":
|
|
57
|
+
case "h3":
|
|
58
|
+
case "h4":
|
|
59
|
+
case "h5":
|
|
60
|
+
case "h6":
|
|
61
|
+
case "p":
|
|
62
|
+
case "blockquote":
|
|
63
|
+
case "ol":
|
|
64
|
+
case "ul":
|
|
65
|
+
case "li":
|
|
66
|
+
if (components[child.type]) {
|
|
67
|
+
const Component2 = components[child.type];
|
|
68
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props }, /* @__PURE__ */ React.createElement(StaticTinaMarkdown, { components, content: children }));
|
|
69
|
+
}
|
|
70
|
+
return React.createElement(child.type, {
|
|
71
|
+
children: /* @__PURE__ */ React.createElement(StaticTinaMarkdown, { components, content: children })
|
|
72
|
+
});
|
|
73
|
+
case "lic":
|
|
74
|
+
if (components.lic) {
|
|
75
|
+
const Component2 = components.lic;
|
|
76
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props }, /* @__PURE__ */ React.createElement(StaticTinaMarkdown, { components, content: children }));
|
|
77
|
+
}
|
|
78
|
+
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
|
|
79
|
+
StaticTinaMarkdown,
|
|
80
|
+
{
|
|
81
|
+
components,
|
|
82
|
+
content: child.children
|
|
83
|
+
}
|
|
84
|
+
));
|
|
85
|
+
case "img":
|
|
86
|
+
if (components[child.type]) {
|
|
87
|
+
const Component2 = components[child.type];
|
|
88
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props });
|
|
89
|
+
}
|
|
90
|
+
return /* @__PURE__ */ React.createElement("img", { src: child.url, alt: child.alt });
|
|
91
|
+
case "a":
|
|
92
|
+
if (components[child.type]) {
|
|
93
|
+
const Component2 = components[child.type];
|
|
94
|
+
return (
|
|
95
|
+
//@ts-ignore Same issue with TinaMarkdown
|
|
96
|
+
/* @__PURE__ */ React.createElement(Component2, { ...props }, /* @__PURE__ */ React.createElement(StaticTinaMarkdown, { components, content: children }))
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
return /* @__PURE__ */ React.createElement("a", { href: child.url }, /* @__PURE__ */ React.createElement(StaticTinaMarkdown, { components, content: children }));
|
|
100
|
+
case "code_block": {
|
|
101
|
+
let codeString = "";
|
|
102
|
+
if (Array.isArray(child.children)) {
|
|
103
|
+
codeString = child.children.map(
|
|
104
|
+
(line) => Array.isArray(line.children) ? line.children.map((t) => t.text).join("") : ""
|
|
105
|
+
).join("\n");
|
|
106
|
+
} else if (typeof child.value === "string") {
|
|
107
|
+
codeString = child.value;
|
|
108
|
+
}
|
|
109
|
+
if (components[child.type]) {
|
|
110
|
+
const Component2 = components[child.type];
|
|
111
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props, value: codeString });
|
|
112
|
+
}
|
|
113
|
+
return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null, codeString));
|
|
114
|
+
}
|
|
115
|
+
case "hr":
|
|
116
|
+
if (components[child.type]) {
|
|
117
|
+
const Component2 = components[child.type];
|
|
118
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props });
|
|
119
|
+
}
|
|
120
|
+
return /* @__PURE__ */ React.createElement("hr", null);
|
|
121
|
+
case "break":
|
|
122
|
+
if (components[child.type]) {
|
|
123
|
+
const Component2 = components[child.type];
|
|
124
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props });
|
|
125
|
+
}
|
|
126
|
+
return /* @__PURE__ */ React.createElement("br", null);
|
|
127
|
+
case "text":
|
|
128
|
+
return /* @__PURE__ */ React.createElement(Leaf, { components, ...child });
|
|
129
|
+
case "mdxJsxTextElement":
|
|
130
|
+
case "mdxJsxFlowElement":
|
|
131
|
+
const Component = components[child.name];
|
|
132
|
+
if (Component) {
|
|
133
|
+
const props2 = child.props ? child.props : {};
|
|
134
|
+
return /* @__PURE__ */ React.createElement(Component, { ...props2 });
|
|
135
|
+
} else {
|
|
136
|
+
if (child.name === "table") {
|
|
137
|
+
const firstRowHeader = (_a = child.props) == null ? void 0 : _a.firstRowHeader;
|
|
138
|
+
const rows2 = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
|
|
139
|
+
const header = (_e = (_d = child.props) == null ? void 0 : _d.tableRows) == null ? void 0 : _e.at(0);
|
|
140
|
+
const TableComponent2 = (
|
|
141
|
+
//@ts-ignore Same issue with TinaMarkdown
|
|
142
|
+
components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }))
|
|
143
|
+
);
|
|
144
|
+
const TrComponent2 = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
145
|
+
const ThComponent = components["th"] || ((props2) => /* @__PURE__ */ React.createElement("th", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
146
|
+
const TdComponent2 = components["td"] || ((props2) => /* @__PURE__ */ React.createElement("td", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
147
|
+
const align2 = ((_f = child.props) == null ? void 0 : _f.align) || [];
|
|
148
|
+
return (
|
|
149
|
+
//@ts-ignore Same issue with TinaMarkdown
|
|
150
|
+
/* @__PURE__ */ React.createElement(TableComponent2, null, firstRowHeader && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement(TrComponent2, null, header.tableCells.map((c, i) => {
|
|
151
|
+
return /* @__PURE__ */ React.createElement(
|
|
152
|
+
StaticTinaMarkdown,
|
|
153
|
+
{
|
|
154
|
+
key: i,
|
|
155
|
+
components: {
|
|
156
|
+
p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align2[i], ...props2 })
|
|
157
|
+
},
|
|
158
|
+
content: c.value
|
|
159
|
+
}
|
|
160
|
+
);
|
|
161
|
+
}))), /* @__PURE__ */ React.createElement("tbody", null, rows2.map((row, i) => {
|
|
162
|
+
var _a2;
|
|
163
|
+
return /* @__PURE__ */ React.createElement(TrComponent2, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
|
|
164
|
+
return /* @__PURE__ */ React.createElement(
|
|
165
|
+
StaticTinaMarkdown,
|
|
166
|
+
{
|
|
167
|
+
key: i2,
|
|
168
|
+
components: {
|
|
169
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent2, { align: align2[i2], ...props2 })
|
|
170
|
+
},
|
|
171
|
+
content: c.value
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}));
|
|
175
|
+
})))
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
const ComponentMissing = components["component_missing"];
|
|
179
|
+
if (ComponentMissing) {
|
|
180
|
+
return /* @__PURE__ */ React.createElement(ComponentMissing, { name: child.name });
|
|
181
|
+
} else {
|
|
182
|
+
return /* @__PURE__ */ React.createElement("span", null, `No component provided for ${child.name}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
case "table":
|
|
186
|
+
const rows = child.children || [];
|
|
187
|
+
const TableComponent = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { style: { border: "1px solid #EDECF3" }, ...props2 }));
|
|
188
|
+
const TrComponent = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
189
|
+
const TdComponent = components["td"] || ((props2) => /* @__PURE__ */ React.createElement(
|
|
190
|
+
"td",
|
|
191
|
+
{
|
|
192
|
+
style: {
|
|
193
|
+
textAlign: (props2 == null ? void 0 : props2.align) || "auto",
|
|
194
|
+
border: "1px solid #EDECF3",
|
|
195
|
+
padding: "0.25rem"
|
|
196
|
+
},
|
|
197
|
+
...props2
|
|
198
|
+
}
|
|
199
|
+
));
|
|
200
|
+
const align = ((_g = child.props) == null ? void 0 : _g.align) || [];
|
|
201
|
+
return (
|
|
202
|
+
//@ts-ignore Same issue with TinaMarkdown
|
|
203
|
+
/* @__PURE__ */ React.createElement(TableComponent, null, /* @__PURE__ */ React.createElement("tbody", null, rows.map((row, i) => {
|
|
204
|
+
var _a2;
|
|
205
|
+
return /* @__PURE__ */ React.createElement(TrComponent, { key: i }, (_a2 = row.children) == null ? void 0 : _a2.map((cell, i2) => {
|
|
206
|
+
return /* @__PURE__ */ React.createElement(
|
|
207
|
+
StaticTinaMarkdown,
|
|
208
|
+
{
|
|
209
|
+
key: i2,
|
|
210
|
+
components: {
|
|
211
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent, { align: align[i2], ...props2 })
|
|
212
|
+
},
|
|
213
|
+
content: cell.children
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
}));
|
|
217
|
+
})))
|
|
218
|
+
);
|
|
219
|
+
case "maybe_mdx":
|
|
220
|
+
return null;
|
|
221
|
+
case "html":
|
|
222
|
+
case "html_inline":
|
|
223
|
+
if (components[child.type]) {
|
|
224
|
+
const Component2 = components[child.type];
|
|
225
|
+
return /* @__PURE__ */ React.createElement(Component2, { ...props });
|
|
226
|
+
}
|
|
227
|
+
return child.value;
|
|
228
|
+
case "invalid_markdown":
|
|
229
|
+
return /* @__PURE__ */ React.createElement("pre", null, child.value);
|
|
230
|
+
default:
|
|
231
|
+
if (typeof child.text === "string") {
|
|
232
|
+
return /* @__PURE__ */ React.createElement(Leaf, { components, ...child });
|
|
233
|
+
}
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
exports2.StaticTinaMarkdown = StaticTinaMarkdown;
|
|
238
|
+
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
239
|
+
});
|