tinacms 0.0.0-e0ddb8c-20241004065742 → 0.0.0-e5c0e91-20250421003142
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/README.md +1 -1
- package/dist/admin/api.d.ts +1 -0
- package/dist/admin/components/GetCollection.d.ts +2 -2
- package/dist/admin/types.d.ts +3 -0
- package/dist/auth/TinaCloudProvider.d.ts +1 -1
- package/dist/auth/authenticate.d.ts +1 -1
- package/dist/cache/node-cache.d.ts +1 -0
- package/dist/client.d.ts +1 -4
- package/dist/client.js +100 -62
- package/dist/client.mjs +59 -36
- package/dist/hooks/create-page-plugin.d.ts +1 -1
- package/dist/index.d.ts +1 -61
- package/dist/index.js +4138 -2382
- package/dist/index.mjs +4134 -2375
- package/dist/internalClient/authProvider.d.ts +2 -0
- package/dist/internalClient/index.d.ts +3 -3
- package/dist/node-cache-5e8db9f0.mjs +63 -0
- package/dist/react.d.ts +1 -33
- package/dist/react.js +13 -1
- package/dist/react.mjs +13 -1
- package/dist/rich-text/index.d.ts +1 -142
- package/dist/rich-text/index.js +42 -11
- package/dist/rich-text/index.mjs +42 -11
- package/dist/rich-text/prism.d.ts +1 -10
- package/dist/toolkit/components/media/media-manager.d.ts +1 -1
- package/dist/toolkit/fields/components/reference/reference-select.d.ts +2 -2
- package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +4 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/fixed-toolbar-buttons.d.ts +0 -4
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +17 -5
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mark-toolbar-button.d.ts +4 -18
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/resizable.d.ts +39 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-cell-element.d.ts +27 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-dropdown-menu.d.ts +3 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-element.d.ts +14 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-row-element.d.ts +13 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/index.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/common.d.ts +1 -0
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +54 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +11 -3
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-provider.d.ts +2 -2
- package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +8 -0
- package/dist/toolkit/plugin-branch-switcher/branch-switcher-legacy.d.ts +1 -1
- package/dist/toolkit/plugin-branch-switcher/branch-switcher.d.ts +1 -1
- package/dist/toolkit/react-cloud-config/cloud-config-plugin.d.ts +3 -3
- package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +5 -4
- package/dist/toolkit/react-sidebar/components/sidebar-loading-placeholder.d.ts +2 -0
- package/dist/toolkit/react-sidebar/components/sidebar-no-forms-placeholder.d.ts +2 -0
- package/dist/toolkit/react-sidebar/sidebar.d.ts +2 -2
- package/dist/toolkit/tina-state.d.ts +4 -0
- package/dist/unifiedClient/index.d.ts +8 -1
- package/package.json +43 -42
- package/dist/__vite-browser-external-d06ac358.mjs +0 -4
- package/dist/node-cache-7fa2452c.mjs +0 -43
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/hooks/use-mermaid-element.d.ts +0 -3
- package/dist/toolkit/react-sidebar/components/no-forms-placeholder.d.ts +0 -8
|
@@ -33,6 +33,7 @@ export declare class TinaCloudAuthProvider extends AbstractAuthProvider {
|
|
|
33
33
|
clientId: string;
|
|
34
34
|
identityApiUrl: string;
|
|
35
35
|
frontendUrl: string;
|
|
36
|
+
oauth2: boolean;
|
|
36
37
|
token: string;
|
|
37
38
|
setToken: (_token: TokenObject) => void;
|
|
38
39
|
getToken: () => Promise<TokenObject>;
|
|
@@ -42,6 +43,7 @@ export declare class TinaCloudAuthProvider extends AbstractAuthProvider {
|
|
|
42
43
|
tokenStorage?: 'MEMORY' | 'LOCAL_STORAGE' | 'CUSTOM';
|
|
43
44
|
getTokenFn?: () => Promise<TokenObject>;
|
|
44
45
|
frontendUrl: string;
|
|
46
|
+
oauth2?: boolean;
|
|
45
47
|
});
|
|
46
48
|
authenticate(): Promise<TokenObject>;
|
|
47
49
|
getUser(): Promise<any>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TokenObject } from '../auth/authenticate';
|
|
2
1
|
import { BranchData, EventBus } from '@tinacms/toolkit';
|
|
3
2
|
import { DocumentNode, GraphQLSchema } from 'graphql';
|
|
3
|
+
import { TokenObject } from '../auth/authenticate';
|
|
4
|
+
import { AuthProvider, Schema, TinaSchema } from '@tinacms/schema-tools';
|
|
5
|
+
import { SearchClient } from '@tinacms/search/dist/index-client';
|
|
4
6
|
import gql from 'graphql-tag';
|
|
5
|
-
import { TinaSchema, Schema, AuthProvider } from '@tinacms/schema-tools';
|
|
6
7
|
import { TinaCloudProject } from './types';
|
|
7
|
-
import { SearchClient } from '@tinacms/search/dist/index-client';
|
|
8
8
|
export * from './authProvider';
|
|
9
9
|
export type OnLoginFunc = (args: {
|
|
10
10
|
token?: TokenObject;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
const makeCacheDir = async (dir, fs, path, os) => {
|
|
2
|
+
const pathParts = dir.split(path.sep).filter(Boolean);
|
|
3
|
+
const cacheHash = pathParts[pathParts.length - 1];
|
|
4
|
+
const rootUser = pathParts[0];
|
|
5
|
+
let cacheDir = dir;
|
|
6
|
+
if (!fs.existsSync(path.join(path.sep, rootUser))) {
|
|
7
|
+
cacheDir = path.join(os.tmpdir(), cacheHash);
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
11
|
+
} catch (error) {
|
|
12
|
+
throw new Error(`Failed to create cache directory: ${error.message}`);
|
|
13
|
+
}
|
|
14
|
+
return cacheDir;
|
|
15
|
+
};
|
|
16
|
+
const NodeCache = async (dir) => {
|
|
17
|
+
const fs = require("node:fs");
|
|
18
|
+
const path = require("node:path");
|
|
19
|
+
const os = require("node:os");
|
|
20
|
+
const { createHash } = require("node:crypto");
|
|
21
|
+
const cacheDir = await makeCacheDir(dir, fs, path, os);
|
|
22
|
+
return {
|
|
23
|
+
makeKey: (key) => {
|
|
24
|
+
const input = key && key instanceof Object ? JSON.stringify(key) : key || "";
|
|
25
|
+
return createHash("sha256").update(input).digest("hex");
|
|
26
|
+
},
|
|
27
|
+
get: async (key) => {
|
|
28
|
+
let readValue;
|
|
29
|
+
const cacheFilename = `${cacheDir}/${key}`;
|
|
30
|
+
try {
|
|
31
|
+
const data = await fs.promises.readFile(cacheFilename, "utf-8");
|
|
32
|
+
readValue = JSON.parse(data);
|
|
33
|
+
} catch (e) {
|
|
34
|
+
if (e.code !== "ENOENT") {
|
|
35
|
+
console.error(
|
|
36
|
+
`Failed to read cache file to ${cacheFilename}: ${e.message}`
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return readValue;
|
|
41
|
+
},
|
|
42
|
+
set: async (key, value) => {
|
|
43
|
+
const cacheFilename = `${cacheDir}/${key}`;
|
|
44
|
+
try {
|
|
45
|
+
await fs.promises.writeFile(cacheFilename, JSON.stringify(value), {
|
|
46
|
+
encoding: "utf-8",
|
|
47
|
+
flag: "wx"
|
|
48
|
+
// Don't overwrite existing caches
|
|
49
|
+
});
|
|
50
|
+
} catch (e) {
|
|
51
|
+
if (e.code !== "EEXIST") {
|
|
52
|
+
console.error(
|
|
53
|
+
`Failed to write cache file to ${cacheFilename}: ${e.message}`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
NodeCache,
|
|
62
|
+
makeCacheDir
|
|
63
|
+
};
|
package/dist/react.d.ts
CHANGED
|
@@ -1,33 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
query: string;
|
|
3
|
-
variables: object;
|
|
4
|
-
data: T;
|
|
5
|
-
}): {
|
|
6
|
-
data: T;
|
|
7
|
-
isClient: boolean;
|
|
8
|
-
};
|
|
9
|
-
export declare function useEditState(): {
|
|
10
|
-
edit: boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Grab the field name for the given attribute
|
|
14
|
-
* to signal to Tina which DOM element the field
|
|
15
|
-
* is working with.
|
|
16
|
-
*/
|
|
17
|
-
export declare const tinaField: <T extends (object & {
|
|
18
|
-
_content_source?: {
|
|
19
|
-
queryId: string;
|
|
20
|
-
path: (number | string)[];
|
|
21
|
-
};
|
|
22
|
-
}) | undefined | null>(object: T, property?: keyof Omit<NonNullable<T>, "__typename" | "_sys">, index?: number) => string;
|
|
23
|
-
export declare const addMetadata: <T extends object>(id: string, object: T & {
|
|
24
|
-
type?: string;
|
|
25
|
-
_content_source?: unknown;
|
|
26
|
-
}, path: (string | number)[]) => T;
|
|
27
|
-
/**
|
|
28
|
-
* This is a pretty rudimentary approach to hashing the query and variables to
|
|
29
|
-
* ensure we treat multiple queries on the page uniquely. It's possible
|
|
30
|
-
* that we would have collisions, and I'm not sure of the likeliness but seems
|
|
31
|
-
* like it'd be rare.
|
|
32
|
-
*/
|
|
33
|
-
export declare const hashFromQuery: (input: string) => string;
|
|
1
|
+
export * from "../src/react"
|
package/dist/react.js
CHANGED
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
React.useEffect(() => {
|
|
19
19
|
setIsClient(true);
|
|
20
20
|
setData(props.data);
|
|
21
|
+
parent.postMessage({
|
|
22
|
+
type: "url-changed"
|
|
23
|
+
});
|
|
21
24
|
}, [id]);
|
|
22
25
|
React.useEffect(() => {
|
|
23
26
|
if (quickEditEnabled) {
|
|
@@ -100,7 +103,16 @@
|
|
|
100
103
|
}
|
|
101
104
|
}, [quickEditEnabled, isInTinaIframe]);
|
|
102
105
|
React.useEffect(() => {
|
|
103
|
-
|
|
106
|
+
if (props == null ? void 0 : props.experimental___selectFormByFormId) {
|
|
107
|
+
parent.postMessage({
|
|
108
|
+
type: "user-select-form",
|
|
109
|
+
formId: props.experimental___selectFormByFormId()
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}, [id]);
|
|
113
|
+
React.useEffect(() => {
|
|
114
|
+
const { experimental___selectFormByFormId, ...rest } = props;
|
|
115
|
+
parent.postMessage({ type: "open", ...rest, id }, window.location.origin);
|
|
104
116
|
window.addEventListener("message", (event) => {
|
|
105
117
|
if (event.data.type === "quickEditEnabled") {
|
|
106
118
|
setQuickEditEnabled(event.data.value);
|
package/dist/react.mjs
CHANGED
|
@@ -15,6 +15,9 @@ function useTina(props) {
|
|
|
15
15
|
React.useEffect(() => {
|
|
16
16
|
setIsClient(true);
|
|
17
17
|
setData(props.data);
|
|
18
|
+
parent.postMessage({
|
|
19
|
+
type: "url-changed"
|
|
20
|
+
});
|
|
18
21
|
}, [id]);
|
|
19
22
|
React.useEffect(() => {
|
|
20
23
|
if (quickEditEnabled) {
|
|
@@ -97,7 +100,16 @@ function useTina(props) {
|
|
|
97
100
|
}
|
|
98
101
|
}, [quickEditEnabled, isInTinaIframe]);
|
|
99
102
|
React.useEffect(() => {
|
|
100
|
-
|
|
103
|
+
if (props == null ? void 0 : props.experimental___selectFormByFormId) {
|
|
104
|
+
parent.postMessage({
|
|
105
|
+
type: "user-select-form",
|
|
106
|
+
formId: props.experimental___selectFormByFormId()
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}, [id]);
|
|
110
|
+
React.useEffect(() => {
|
|
111
|
+
const { experimental___selectFormByFormId, ...rest } = props;
|
|
112
|
+
parent.postMessage({ type: "open", ...rest, id }, window.location.origin);
|
|
101
113
|
window.addEventListener("message", (event) => {
|
|
102
114
|
if (event.data.type === "quickEditEnabled") {
|
|
103
115
|
setQuickEditEnabled(event.data.value);
|
|
@@ -1,142 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
type BaseComponents = {
|
|
6
|
-
h1?: {
|
|
7
|
-
children: JSX.Element;
|
|
8
|
-
};
|
|
9
|
-
h2?: {
|
|
10
|
-
children: JSX.Element;
|
|
11
|
-
};
|
|
12
|
-
h3?: {
|
|
13
|
-
children: JSX.Element;
|
|
14
|
-
};
|
|
15
|
-
h4?: {
|
|
16
|
-
children: JSX.Element;
|
|
17
|
-
};
|
|
18
|
-
h5?: {
|
|
19
|
-
children: JSX.Element;
|
|
20
|
-
};
|
|
21
|
-
h6?: {
|
|
22
|
-
children: JSX.Element;
|
|
23
|
-
};
|
|
24
|
-
p?: {
|
|
25
|
-
children: JSX.Element;
|
|
26
|
-
};
|
|
27
|
-
a?: {
|
|
28
|
-
url: string;
|
|
29
|
-
children: JSX.Element;
|
|
30
|
-
};
|
|
31
|
-
italic?: {
|
|
32
|
-
children: JSX.Element;
|
|
33
|
-
};
|
|
34
|
-
bold?: {
|
|
35
|
-
children: JSX.Element;
|
|
36
|
-
};
|
|
37
|
-
strikethrough?: {
|
|
38
|
-
children: JSX.Element;
|
|
39
|
-
};
|
|
40
|
-
underline?: {
|
|
41
|
-
children: JSX.Element;
|
|
42
|
-
};
|
|
43
|
-
code?: {
|
|
44
|
-
children: JSX.Element;
|
|
45
|
-
};
|
|
46
|
-
text?: {
|
|
47
|
-
children: string;
|
|
48
|
-
};
|
|
49
|
-
ul?: {
|
|
50
|
-
children: JSX.Element;
|
|
51
|
-
};
|
|
52
|
-
ol?: {
|
|
53
|
-
children: JSX.Element;
|
|
54
|
-
};
|
|
55
|
-
li?: {
|
|
56
|
-
children: JSX.Element;
|
|
57
|
-
};
|
|
58
|
-
lic?: {
|
|
59
|
-
children: JSX.Element;
|
|
60
|
-
};
|
|
61
|
-
block_quote?: {
|
|
62
|
-
children: JSX.Element;
|
|
63
|
-
};
|
|
64
|
-
code_block?: {
|
|
65
|
-
lang?: string;
|
|
66
|
-
value: string;
|
|
67
|
-
};
|
|
68
|
-
mermaid?: {
|
|
69
|
-
value: string;
|
|
70
|
-
};
|
|
71
|
-
img?: {
|
|
72
|
-
url: string;
|
|
73
|
-
caption?: string;
|
|
74
|
-
alt?: string;
|
|
75
|
-
};
|
|
76
|
-
hr?: {};
|
|
77
|
-
break?: {};
|
|
78
|
-
maybe_mdx?: {
|
|
79
|
-
children: JSX.Element;
|
|
80
|
-
};
|
|
81
|
-
html?: {
|
|
82
|
-
value: string;
|
|
83
|
-
};
|
|
84
|
-
html_inline?: {
|
|
85
|
-
value: string;
|
|
86
|
-
};
|
|
87
|
-
table?: {
|
|
88
|
-
align?: ('left' | 'right' | 'center')[];
|
|
89
|
-
tableRows: {
|
|
90
|
-
tableCells: {
|
|
91
|
-
value: TinaMarkdownContent;
|
|
92
|
-
}[];
|
|
93
|
-
}[];
|
|
94
|
-
};
|
|
95
|
-
component_missing?: {
|
|
96
|
-
name: string;
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
type BaseComponentSignature = {
|
|
100
|
-
[BK in keyof BaseComponents]: (props: BaseComponents[BK]) => JSX.Element;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Define the allowed components and their props
|
|
104
|
-
* ```ts
|
|
105
|
-
* const components:
|
|
106
|
-
* Components<{
|
|
107
|
-
* BlockQuote: {
|
|
108
|
-
* children: TinaMarkdownContent;
|
|
109
|
-
* authorName: string;
|
|
110
|
-
* };
|
|
111
|
-
* }> = {
|
|
112
|
-
* BlockQuote: (props: {
|
|
113
|
-
* children: TinaMarkdownContent;
|
|
114
|
-
* authorName: string;
|
|
115
|
-
* }) => {
|
|
116
|
-
* return (
|
|
117
|
-
* <div>
|
|
118
|
-
* <blockquote>
|
|
119
|
-
* <TinaMarkdown content={props.children} />
|
|
120
|
-
* {props.authorName}
|
|
121
|
-
* </blockquote>
|
|
122
|
-
* </div>
|
|
123
|
-
* );
|
|
124
|
-
* }
|
|
125
|
-
* }
|
|
126
|
-
* }
|
|
127
|
-
* ```
|
|
128
|
-
*/
|
|
129
|
-
export type Components<ComponentAndProps extends object> = {
|
|
130
|
-
[K in keyof ComponentAndProps]: (props: ComponentAndProps[K]) => JSX.Element;
|
|
131
|
-
} & BaseComponentSignature;
|
|
132
|
-
export type TinaMarkdownContent = {
|
|
133
|
-
type: string;
|
|
134
|
-
children: TinaMarkdownContent[];
|
|
135
|
-
};
|
|
136
|
-
export declare const TinaMarkdown: <CustomComponents extends {
|
|
137
|
-
[key: string]: object;
|
|
138
|
-
} = any>({ content, components, }: {
|
|
139
|
-
content: TinaMarkdownContent | TinaMarkdownContent[];
|
|
140
|
-
components?: Components<{}> | Components<{ [BK in keyof CustomComponents]: (props: CustomComponents[BK]) => JSX.Element; }>;
|
|
141
|
-
}) => React.JSX.Element;
|
|
142
|
-
export {};
|
|
1
|
+
export * from "../../src/rich-text/index"
|
package/dist/rich-text/index.js
CHANGED
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
return MNode;
|
|
73
73
|
};
|
|
74
74
|
const Node = ({ components, child }) => {
|
|
75
|
-
var _a, _b, _c, _d, _e, _f;
|
|
75
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
76
76
|
const { children, ...props } = child;
|
|
77
77
|
switch (child.type) {
|
|
78
78
|
case "h1":
|
|
@@ -152,33 +152,33 @@
|
|
|
152
152
|
} else {
|
|
153
153
|
if (child.name === "table") {
|
|
154
154
|
const firstRowHeader = (_a = child.props) == null ? void 0 : _a.firstRowHeader;
|
|
155
|
-
const
|
|
155
|
+
const rows2 = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
|
|
156
156
|
const header = (_e = (_d = child.props) == null ? void 0 : _d.tableRows) == null ? void 0 : _e.at(0);
|
|
157
|
-
const
|
|
158
|
-
const
|
|
157
|
+
const TableComponent2 = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
|
|
158
|
+
const TrComponent2 = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
159
159
|
const ThComponent = components["th"] || ((props2) => /* @__PURE__ */ React.createElement("th", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
160
|
-
const
|
|
161
|
-
const
|
|
162
|
-
return /* @__PURE__ */ React.createElement(
|
|
160
|
+
const TdComponent2 = components["td"] || ((props2) => /* @__PURE__ */ React.createElement("td", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
161
|
+
const align2 = ((_f = child.props) == null ? void 0 : _f.align) || [];
|
|
162
|
+
return /* @__PURE__ */ React.createElement(TableComponent2, null, firstRowHeader && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement(TrComponent2, null, header.tableCells.map((c, i) => {
|
|
163
163
|
return /* @__PURE__ */ React.createElement(
|
|
164
164
|
TinaMarkdown,
|
|
165
165
|
{
|
|
166
166
|
key: i,
|
|
167
167
|
components: {
|
|
168
|
-
p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align:
|
|
168
|
+
p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align2[i], ...props2 })
|
|
169
169
|
},
|
|
170
170
|
content: c.value
|
|
171
171
|
}
|
|
172
172
|
);
|
|
173
|
-
}))), /* @__PURE__ */ React.createElement("tbody", null,
|
|
173
|
+
}))), /* @__PURE__ */ React.createElement("tbody", null, rows2.map((row, i) => {
|
|
174
174
|
var _a2;
|
|
175
|
-
return /* @__PURE__ */ React.createElement(
|
|
175
|
+
return /* @__PURE__ */ React.createElement(TrComponent2, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
|
|
176
176
|
return /* @__PURE__ */ React.createElement(
|
|
177
177
|
TinaMarkdown,
|
|
178
178
|
{
|
|
179
179
|
key: i2,
|
|
180
180
|
components: {
|
|
181
|
-
p: (props2) => /* @__PURE__ */ React.createElement(
|
|
181
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent2, { align: align2[i2], ...props2 })
|
|
182
182
|
},
|
|
183
183
|
content: c.value
|
|
184
184
|
}
|
|
@@ -193,6 +193,37 @@
|
|
|
193
193
|
return /* @__PURE__ */ React.createElement("span", null, `No component provided for ${child.name}`);
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
+
case "table":
|
|
197
|
+
const rows = child.children || [];
|
|
198
|
+
const TableComponent = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { style: { border: "1px solid #EDECF3" }, ...props2 }));
|
|
199
|
+
const TrComponent = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
200
|
+
const TdComponent = components["td"] || ((props2) => /* @__PURE__ */ React.createElement(
|
|
201
|
+
"td",
|
|
202
|
+
{
|
|
203
|
+
style: {
|
|
204
|
+
textAlign: (props2 == null ? void 0 : props2.align) || "auto",
|
|
205
|
+
border: "1px solid #EDECF3",
|
|
206
|
+
padding: "0.25rem"
|
|
207
|
+
},
|
|
208
|
+
...props2
|
|
209
|
+
}
|
|
210
|
+
));
|
|
211
|
+
const align = ((_g = child.props) == null ? void 0 : _g.align) || [];
|
|
212
|
+
return /* @__PURE__ */ React.createElement(TableComponent, null, /* @__PURE__ */ React.createElement("tbody", null, rows.map((row, i) => {
|
|
213
|
+
var _a2;
|
|
214
|
+
return /* @__PURE__ */ React.createElement(TrComponent, { key: i }, (_a2 = row.children) == null ? void 0 : _a2.map((cell, i2) => {
|
|
215
|
+
return /* @__PURE__ */ React.createElement(
|
|
216
|
+
TinaMarkdown,
|
|
217
|
+
{
|
|
218
|
+
key: i2,
|
|
219
|
+
components: {
|
|
220
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent, { align: align[i2], ...props2 })
|
|
221
|
+
},
|
|
222
|
+
content: cell.children
|
|
223
|
+
}
|
|
224
|
+
);
|
|
225
|
+
}));
|
|
226
|
+
})));
|
|
196
227
|
case "maybe_mdx":
|
|
197
228
|
return null;
|
|
198
229
|
case "html":
|
package/dist/rich-text/index.mjs
CHANGED
|
@@ -69,7 +69,7 @@ const MemoNode = (props) => {
|
|
|
69
69
|
return MNode;
|
|
70
70
|
};
|
|
71
71
|
const Node = ({ components, child }) => {
|
|
72
|
-
var _a, _b, _c, _d, _e, _f;
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
73
73
|
const { children, ...props } = child;
|
|
74
74
|
switch (child.type) {
|
|
75
75
|
case "h1":
|
|
@@ -149,33 +149,33 @@ const Node = ({ components, child }) => {
|
|
|
149
149
|
} else {
|
|
150
150
|
if (child.name === "table") {
|
|
151
151
|
const firstRowHeader = (_a = child.props) == null ? void 0 : _a.firstRowHeader;
|
|
152
|
-
const
|
|
152
|
+
const rows2 = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
|
|
153
153
|
const header = (_e = (_d = child.props) == null ? void 0 : _d.tableRows) == null ? void 0 : _e.at(0);
|
|
154
|
-
const
|
|
155
|
-
const
|
|
154
|
+
const TableComponent2 = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
|
|
155
|
+
const TrComponent2 = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
156
156
|
const ThComponent = components["th"] || ((props2) => /* @__PURE__ */ React.createElement("th", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
return /* @__PURE__ */ React.createElement(
|
|
157
|
+
const TdComponent2 = components["td"] || ((props2) => /* @__PURE__ */ React.createElement("td", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
|
|
158
|
+
const align2 = ((_f = child.props) == null ? void 0 : _f.align) || [];
|
|
159
|
+
return /* @__PURE__ */ React.createElement(TableComponent2, null, firstRowHeader && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement(TrComponent2, null, header.tableCells.map((c, i) => {
|
|
160
160
|
return /* @__PURE__ */ React.createElement(
|
|
161
161
|
TinaMarkdown,
|
|
162
162
|
{
|
|
163
163
|
key: i,
|
|
164
164
|
components: {
|
|
165
|
-
p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align:
|
|
165
|
+
p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align2[i], ...props2 })
|
|
166
166
|
},
|
|
167
167
|
content: c.value
|
|
168
168
|
}
|
|
169
169
|
);
|
|
170
|
-
}))), /* @__PURE__ */ React.createElement("tbody", null,
|
|
170
|
+
}))), /* @__PURE__ */ React.createElement("tbody", null, rows2.map((row, i) => {
|
|
171
171
|
var _a2;
|
|
172
|
-
return /* @__PURE__ */ React.createElement(
|
|
172
|
+
return /* @__PURE__ */ React.createElement(TrComponent2, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
|
|
173
173
|
return /* @__PURE__ */ React.createElement(
|
|
174
174
|
TinaMarkdown,
|
|
175
175
|
{
|
|
176
176
|
key: i2,
|
|
177
177
|
components: {
|
|
178
|
-
p: (props2) => /* @__PURE__ */ React.createElement(
|
|
178
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent2, { align: align2[i2], ...props2 })
|
|
179
179
|
},
|
|
180
180
|
content: c.value
|
|
181
181
|
}
|
|
@@ -190,6 +190,37 @@ const Node = ({ components, child }) => {
|
|
|
190
190
|
return /* @__PURE__ */ React.createElement("span", null, `No component provided for ${child.name}`);
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
+
case "table":
|
|
194
|
+
const rows = child.children || [];
|
|
195
|
+
const TableComponent = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { style: { border: "1px solid #EDECF3" }, ...props2 }));
|
|
196
|
+
const TrComponent = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
|
|
197
|
+
const TdComponent = components["td"] || ((props2) => /* @__PURE__ */ React.createElement(
|
|
198
|
+
"td",
|
|
199
|
+
{
|
|
200
|
+
style: {
|
|
201
|
+
textAlign: (props2 == null ? void 0 : props2.align) || "auto",
|
|
202
|
+
border: "1px solid #EDECF3",
|
|
203
|
+
padding: "0.25rem"
|
|
204
|
+
},
|
|
205
|
+
...props2
|
|
206
|
+
}
|
|
207
|
+
));
|
|
208
|
+
const align = ((_g = child.props) == null ? void 0 : _g.align) || [];
|
|
209
|
+
return /* @__PURE__ */ React.createElement(TableComponent, null, /* @__PURE__ */ React.createElement("tbody", null, rows.map((row, i) => {
|
|
210
|
+
var _a2;
|
|
211
|
+
return /* @__PURE__ */ React.createElement(TrComponent, { key: i }, (_a2 = row.children) == null ? void 0 : _a2.map((cell, i2) => {
|
|
212
|
+
return /* @__PURE__ */ React.createElement(
|
|
213
|
+
TinaMarkdown,
|
|
214
|
+
{
|
|
215
|
+
key: i2,
|
|
216
|
+
components: {
|
|
217
|
+
p: (props2) => /* @__PURE__ */ React.createElement(TdComponent, { align: align[i2], ...props2 })
|
|
218
|
+
},
|
|
219
|
+
content: cell.children
|
|
220
|
+
}
|
|
221
|
+
);
|
|
222
|
+
}));
|
|
223
|
+
})));
|
|
193
224
|
case "maybe_mdx":
|
|
194
225
|
return null;
|
|
195
226
|
case "html":
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { themes } from 'prism-react-renderer';
|
|
6
|
-
export declare const Prism: (props: {
|
|
7
|
-
value: string;
|
|
8
|
-
lang?: string;
|
|
9
|
-
theme?: keyof typeof themes;
|
|
10
|
-
}) => React.JSX.Element;
|
|
1
|
+
export * from "../../src/rich-text/prism"
|
|
@@ -7,5 +7,5 @@ interface ReferenceSelectProps {
|
|
|
7
7
|
input: any;
|
|
8
8
|
field: ReferenceFieldProps & Field;
|
|
9
9
|
}
|
|
10
|
-
declare const
|
|
11
|
-
export default
|
|
10
|
+
declare const Combobox: React.FC<ReferenceSelectProps>;
|
|
11
|
+
export default Combobox;
|
|
@@ -2,16 +2,18 @@ import React from 'react';
|
|
|
2
2
|
import { type InputFieldType } from '../wrap-field-with-meta';
|
|
3
3
|
import type { MdxTemplate } from './plate/types';
|
|
4
4
|
import type { InputProps } from '../../../fields/components';
|
|
5
|
-
import type { ToolbarOverrideType } from './plate/toolbar/toolbar-overrides';
|
|
5
|
+
import type { ToolbarOverrides, ToolbarOverrideType } from './plate/toolbar/toolbar-overrides';
|
|
6
6
|
export type RichTextType = React.PropsWithChildren<InputFieldType<InputProps, {
|
|
7
7
|
templates: MdxTemplate[];
|
|
8
8
|
toolbarOverride?: ToolbarOverrideType[];
|
|
9
|
+
overrides?: ToolbarOverrides;
|
|
9
10
|
}>>;
|
|
10
11
|
export declare const MdxFieldPlugin: {
|
|
11
12
|
name: string;
|
|
12
13
|
Component: (props: InputFieldType<InputProps, {
|
|
13
14
|
templates: MdxTemplate[];
|
|
14
15
|
toolbarOverride?: ToolbarOverrideType[];
|
|
16
|
+
overrides?: ToolbarOverrides;
|
|
15
17
|
}>) => React.JSX.Element;
|
|
16
18
|
};
|
|
17
19
|
export declare const MdxFieldPluginExtendible: {
|
|
@@ -20,5 +22,6 @@ export declare const MdxFieldPluginExtendible: {
|
|
|
20
22
|
Component: (props: InputFieldType<InputProps, {
|
|
21
23
|
templates: MdxTemplate[];
|
|
22
24
|
toolbarOverride?: ToolbarOverrideType[];
|
|
25
|
+
overrides?: ToolbarOverrides;
|
|
23
26
|
}>) => React.JSX.Element;
|
|
24
27
|
};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export declare const IndentListToolbarButton: React.ForwardRefExoticComponent<{
|
|
4
|
-
nodeType?: typeof ELEMENT_UL | typeof ELEMENT_OL;
|
|
5
|
-
} & Omit<Omit<{
|
|
2
|
+
export declare const UnorderedListToolbarButton: React.ForwardRefExoticComponent<Omit<Omit<{
|
|
6
3
|
tooltip?: React.ReactNode;
|
|
7
4
|
tooltipContentProps?: Omit<React.ComponentPropsWithoutRef<React.ForwardRefExoticComponent<import("@radix-ui/react-tooltip").TooltipContentProps & React.RefAttributes<HTMLDivElement>>>, "children">;
|
|
8
5
|
tooltipProps?: Omit<React.ComponentPropsWithoutRef<React.FC<import("@radix-ui/react-tooltip").TooltipProps>>, "children">;
|
|
@@ -16,4 +13,19 @@ export declare const IndentListToolbarButton: React.ForwardRefExoticComponent<{
|
|
|
16
13
|
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref">, "value" | "asChild"> & import("class-variance-authority").VariantProps<(props?: {
|
|
17
14
|
size?: "default" | "sm" | "lg";
|
|
18
15
|
variant?: "default" | "outline";
|
|
19
|
-
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">,
|
|
16
|
+
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">, never> & React.RefAttributes<HTMLButtonElement>>;
|
|
17
|
+
export declare const OrderedListToolbarButton: React.ForwardRefExoticComponent<Omit<Omit<{
|
|
18
|
+
tooltip?: React.ReactNode;
|
|
19
|
+
tooltipContentProps?: Omit<React.ComponentPropsWithoutRef<React.ForwardRefExoticComponent<import("@radix-ui/react-tooltip").TooltipContentProps & React.RefAttributes<HTMLDivElement>>>, "children">;
|
|
20
|
+
tooltipProps?: Omit<React.ComponentPropsWithoutRef<React.FC<import("@radix-ui/react-tooltip").TooltipProps>>, "children">;
|
|
21
|
+
} & Omit<{
|
|
22
|
+
isDropdown?: boolean;
|
|
23
|
+
pressed?: boolean;
|
|
24
|
+
showArrow?: boolean;
|
|
25
|
+
} & Omit<Omit<Omit<import("@radix-ui/react-toolbar").ToolbarToggleItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & import("class-variance-authority").VariantProps<(props?: {
|
|
26
|
+
size?: "default" | "sm" | "lg";
|
|
27
|
+
variant?: "default" | "outline";
|
|
28
|
+
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref">, "value" | "asChild"> & import("class-variance-authority").VariantProps<(props?: {
|
|
29
|
+
size?: "default" | "sm" | "lg";
|
|
30
|
+
variant?: "default" | "outline";
|
|
31
|
+
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">, never> & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
tooltip?: React.ReactNode;
|
|
7
|
-
tooltipContentProps?: Omit<React.ComponentPropsWithoutRef<React.ForwardRefExoticComponent<import("@radix-ui/react-tooltip").TooltipContentProps & React.RefAttributes<HTMLDivElement>>>, "children">;
|
|
8
|
-
tooltipProps?: Omit<React.ComponentPropsWithoutRef<React.FC<import("@radix-ui/react-tooltip").TooltipProps>>, "children">;
|
|
9
|
-
} & Omit<{
|
|
10
|
-
isDropdown?: boolean;
|
|
11
|
-
pressed?: boolean;
|
|
12
|
-
showArrow?: boolean;
|
|
13
|
-
} & Omit<Omit<Omit<import("@radix-ui/react-toolbar").ToolbarToggleItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & import("class-variance-authority").VariantProps<(props?: {
|
|
14
|
-
size?: "default" | "sm" | "lg";
|
|
15
|
-
variant?: "default" | "outline";
|
|
16
|
-
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref">, "value" | "asChild"> & import("class-variance-authority").VariantProps<(props?: {
|
|
17
|
-
size?: "default" | "sm" | "lg";
|
|
18
|
-
variant?: "default" | "outline";
|
|
19
|
-
} & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">, "clear" | "nodeType"> & React.RefAttributes<HTMLButtonElement>>;
|
|
2
|
+
export declare const BoldToolbarButton: () => React.JSX.Element;
|
|
3
|
+
export declare const StrikethroughToolbarButton: () => React.JSX.Element;
|
|
4
|
+
export declare const ItalicToolbarButton: () => React.JSX.Element;
|
|
5
|
+
export declare const CodeToolbarButton: () => React.JSX.Element;
|