tinacms 0.0.0-a4a2eeb-20250102014725 → 0.0.0-a4e58da-20250221000426
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/admin/api.d.ts +1 -0
- package/dist/client.js +71 -41
- package/dist/client.mjs +48 -30
- package/dist/index.js +1406 -185
- package/dist/index.mjs +1411 -190
- package/dist/{node-cache-4c336858.mjs → node-cache-5e8db9f0.mjs} +23 -10
- package/dist/react.d.ts +1 -0
- package/dist/react.js +10 -1
- package/dist/react.mjs +10 -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/index.d.ts +1 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +6 -11
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +5 -1
- package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-provider.d.ts +2 -2
- package/dist/unifiedClient/index.d.ts +8 -1
- package/package.json +37 -36
|
@@ -25,22 +25,35 @@ const NodeCache = async (dir) => {
|
|
|
25
25
|
return createHash("sha256").update(input).digest("hex");
|
|
26
26
|
},
|
|
27
27
|
get: async (key) => {
|
|
28
|
+
let readValue;
|
|
29
|
+
const cacheFilename = `${cacheDir}/${key}`;
|
|
28
30
|
try {
|
|
29
|
-
const data = await fs.promises.readFile(
|
|
30
|
-
|
|
31
|
+
const data = await fs.promises.readFile(cacheFilename, "utf-8");
|
|
32
|
+
readValue = JSON.parse(data);
|
|
31
33
|
} catch (e) {
|
|
32
|
-
if (e.code
|
|
33
|
-
|
|
34
|
+
if (e.code !== "ENOENT") {
|
|
35
|
+
console.error(
|
|
36
|
+
`Failed to read cache file to ${cacheFilename}: ${e.message}`
|
|
37
|
+
);
|
|
34
38
|
}
|
|
35
|
-
throw e;
|
|
36
39
|
}
|
|
40
|
+
return readValue;
|
|
37
41
|
},
|
|
38
42
|
set: async (key, value) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
JSON.stringify(value),
|
|
42
|
-
|
|
43
|
-
|
|
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
|
+
}
|
|
44
57
|
}
|
|
45
58
|
};
|
|
46
59
|
};
|
package/dist/react.d.ts
CHANGED
package/dist/react.js
CHANGED
|
@@ -100,7 +100,16 @@
|
|
|
100
100
|
}
|
|
101
101
|
}, [quickEditEnabled, isInTinaIframe]);
|
|
102
102
|
React.useEffect(() => {
|
|
103
|
-
|
|
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);
|
|
104
113
|
window.addEventListener("message", (event) => {
|
|
105
114
|
if (event.data.type === "quickEditEnabled") {
|
|
106
115
|
setQuickEditEnabled(event.data.value);
|
package/dist/react.mjs
CHANGED
|
@@ -97,7 +97,16 @@ function useTina(props) {
|
|
|
97
97
|
}
|
|
98
98
|
}, [quickEditEnabled, isInTinaIframe]);
|
|
99
99
|
React.useEffect(() => {
|
|
100
|
-
|
|
100
|
+
if (props == null ? void 0 : props.experimental___selectFormByFormId) {
|
|
101
|
+
parent.postMessage({
|
|
102
|
+
type: "user-select-form",
|
|
103
|
+
formId: props.experimental___selectFormByFormId()
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}, [id]);
|
|
107
|
+
React.useEffect(() => {
|
|
108
|
+
const { experimental___selectFormByFormId, ...rest } = props;
|
|
109
|
+
parent.postMessage({ type: "open", ...rest, id }, window.location.origin);
|
|
101
110
|
window.addEventListener("message", (event) => {
|
|
102
111
|
if (event.data.type === "quickEditEnabled") {
|
|
103
112
|
setQuickEditEnabled(event.data.value);
|
|
@@ -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
|
};
|
|
@@ -189,17 +189,12 @@ export declare const Components: () => {
|
|
|
189
189
|
} & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
|
|
190
190
|
ref?: React.Ref<any>;
|
|
191
191
|
} & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<any>>;
|
|
192
|
-
strikethrough:
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
leaf:
|
|
196
|
-
text:
|
|
197
|
-
}
|
|
198
|
-
as?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
|
|
199
|
-
asChild?: boolean | undefined;
|
|
200
|
-
} & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
|
|
201
|
-
ref?: React.Ref<any>;
|
|
202
|
-
} & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<any>>;
|
|
192
|
+
strikethrough: ({ editor, leaf, text, ...props }: {
|
|
193
|
+
[x: string]: any;
|
|
194
|
+
editor: any;
|
|
195
|
+
leaf: any;
|
|
196
|
+
text: any;
|
|
197
|
+
}) => React.JSX.Element;
|
|
203
198
|
italic: React.ForwardRefExoticComponent<Omit<{
|
|
204
199
|
leafToAttributes?: (leaf: import("@udecode/plate-common").TText) => any;
|
|
205
200
|
} & import("@udecode/plate-common").PlateRenderNodeProps<import("@udecode/plate-common").Value, import("@udecode/plate-common").PlateEditor<import("@udecode/plate-common").Value>> & Omit<import("slate-react").RenderLeafProps, "text" | "leaf"> & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'italic' | 'mermaid' | 'raw' | 'embed' | 'table';
|
|
1
|
+
export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'strikethrough' | 'italic' | 'mermaid' | 'raw' | 'embed' | 'table';
|
|
2
2
|
export declare const STANDARD_ICON_WIDTH = 32;
|
|
3
3
|
export declare const HEADING_ICON_WITH_TEXT = 127;
|
|
4
4
|
export declare const HEADING_ICON_ONLY = 58;
|
|
@@ -6,3 +6,7 @@ export declare const EMBED_ICON_WIDTH = 78;
|
|
|
6
6
|
export declare const CONTAINER_MD_BREAKPOINT = 448;
|
|
7
7
|
export declare const FLOAT_BUTTON_WIDTH = 25;
|
|
8
8
|
export declare const HEADING_LABEL = "Headings";
|
|
9
|
+
export type ToolbarOverrides = {
|
|
10
|
+
toolbar?: ToolbarOverrideType[];
|
|
11
|
+
showFloatingToolbar?: boolean;
|
|
12
|
+
};
|
|
@@ -2,11 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { type ReactNode } from 'react';
|
|
3
3
|
import type { Form } from '../../../../../forms';
|
|
4
4
|
import type { MdxTemplate } from '../types';
|
|
5
|
-
import type { ToolbarOverrideType } from './toolbar-overrides';
|
|
5
|
+
import type { ToolbarOverrides, ToolbarOverrideType } from './toolbar-overrides';
|
|
6
6
|
interface ToolbarContextProps {
|
|
7
7
|
tinaForm: Form;
|
|
8
8
|
templates: MdxTemplate[];
|
|
9
|
-
overrides: ToolbarOverrideType[];
|
|
9
|
+
overrides: ToolbarOverrideType[] | ToolbarOverrides;
|
|
10
10
|
}
|
|
11
11
|
interface ToolbarProviderProps extends ToolbarContextProps {
|
|
12
12
|
children: ReactNode;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import AsyncLock from 'async-lock';
|
|
2
|
+
import type { GraphQLError } from 'graphql';
|
|
1
3
|
import type { Config } from '@tinacms/schema-tools';
|
|
2
4
|
import type { Cache } from '../cache/index';
|
|
3
5
|
export declare const TINA_HOST = "content.tinajs.io";
|
|
@@ -25,12 +27,17 @@ export declare class TinaClient<GenQueries> {
|
|
|
25
27
|
queries: GenQueries;
|
|
26
28
|
errorPolicy: Config['client']['errorPolicy'];
|
|
27
29
|
initialized: boolean;
|
|
30
|
+
cacheLock: AsyncLock | undefined;
|
|
28
31
|
cacheDir: string;
|
|
29
32
|
cache: Cache;
|
|
30
33
|
constructor({ token, url, queries, errorPolicy, cacheDir, }: TinaClientArgs<GenQueries>);
|
|
31
34
|
init(): Promise<void>;
|
|
32
35
|
request<DataType extends Record<string, any> = any>({ errorPolicy, ...args }: TinaClientRequestArgs, options: {
|
|
33
36
|
fetchOptions?: Parameters<typeof fetch>[1];
|
|
34
|
-
}): Promise<
|
|
37
|
+
}): Promise<{
|
|
38
|
+
data: DataType;
|
|
39
|
+
errors: GraphQLError[] | null;
|
|
40
|
+
query: string;
|
|
41
|
+
}>;
|
|
35
42
|
}
|
|
36
43
|
export declare function createClient<GenQueries>(args: TinaClientArgs<GenQueries>): TinaClient<GenQueries>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinacms",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-a4e58da-20250221000426",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -60,21 +60,21 @@
|
|
|
60
60
|
"typings": "dist/index.d.ts",
|
|
61
61
|
"license": "Apache-2.0",
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@ariakit/react": "^0.4.
|
|
64
|
-
"@floating-ui/dom": "^1.6.
|
|
63
|
+
"@ariakit/react": "^0.4.15",
|
|
64
|
+
"@floating-ui/dom": "^1.6.13",
|
|
65
65
|
"@floating-ui/react-dom": "^2.1.2",
|
|
66
|
-
"@graphql-inspector/core": "^6.2.
|
|
66
|
+
"@graphql-inspector/core": "^6.2.1",
|
|
67
67
|
"@headlessui/react": "2.1.8",
|
|
68
68
|
"@heroicons/react": "^1.0.6",
|
|
69
69
|
"@monaco-editor/react": "4.4.5",
|
|
70
|
-
"@radix-ui/react-checkbox": "^1.1.
|
|
71
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
72
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
73
|
-
"@radix-ui/react-popover": "^1.1.
|
|
74
|
-
"@radix-ui/react-separator": "^1.1.
|
|
75
|
-
"@radix-ui/react-slot": "^1.1.
|
|
76
|
-
"@radix-ui/react-toolbar": "^1.1.
|
|
77
|
-
"@radix-ui/react-tooltip": "^1.1.
|
|
70
|
+
"@radix-ui/react-checkbox": "^1.1.4",
|
|
71
|
+
"@radix-ui/react-dialog": "^1.1.6",
|
|
72
|
+
"@radix-ui/react-dropdown-menu": "^2.1.6",
|
|
73
|
+
"@radix-ui/react-popover": "^1.1.6",
|
|
74
|
+
"@radix-ui/react-separator": "^1.1.2",
|
|
75
|
+
"@radix-ui/react-slot": "^1.1.2",
|
|
76
|
+
"@radix-ui/react-toolbar": "^1.1.2",
|
|
77
|
+
"@radix-ui/react-tooltip": "^1.1.8",
|
|
78
78
|
"@react-hook/window-size": "^3.1.1",
|
|
79
79
|
"@udecode/cn": "^33.0.0",
|
|
80
80
|
"@udecode/plate": "^36.5.9",
|
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
"@udecode/plate-resizable": "36.0.0",
|
|
93
93
|
"@udecode/plate-slash-command": "^36.0.0",
|
|
94
94
|
"@udecode/plate-table": "36.5.8",
|
|
95
|
-
"
|
|
95
|
+
"async-lock": "^1.4.1",
|
|
96
|
+
"class-variance-authority": "^0.7.1",
|
|
96
97
|
"clsx": "^2.1.1",
|
|
97
98
|
"cmdk": "^1.0.4",
|
|
98
99
|
"color-string": "^1.9.1",
|
|
@@ -110,45 +111,45 @@
|
|
|
110
111
|
"mermaid": "9.3.0",
|
|
111
112
|
"moment": "2.29.4",
|
|
112
113
|
"monaco-editor": "0.31.0",
|
|
113
|
-
"prism-react-renderer": "^2.4.
|
|
114
|
+
"prism-react-renderer": "^2.4.1",
|
|
114
115
|
"prop-types": "15.7.2",
|
|
115
116
|
"react-beautiful-dnd": "^13.1.1",
|
|
116
117
|
"react-color": "^2.19.3",
|
|
117
|
-
"react-datetime": "^3.
|
|
118
|
+
"react-datetime": "^3.3.1",
|
|
118
119
|
"react-dropzone": "14.2.3",
|
|
119
120
|
"react-final-form": "^6.5.9",
|
|
120
|
-
"react-icons": "^5.
|
|
121
|
+
"react-icons": "^5.4.0",
|
|
121
122
|
"react-router-dom": "6.3.0",
|
|
122
123
|
"react-use": "^17.6.0",
|
|
123
124
|
"slate": "^0.103.0",
|
|
124
125
|
"slate-history": "^0.100.0",
|
|
125
126
|
"slate-hyperscript": "^0.100.0",
|
|
126
127
|
"slate-react": "^0.107.1",
|
|
127
|
-
"tailwind-merge": "^2.
|
|
128
|
+
"tailwind-merge": "^2.6.0",
|
|
128
129
|
"webfontloader": "1.6.28",
|
|
129
|
-
"yup": "^1.
|
|
130
|
-
"zod": "^3.
|
|
131
|
-
"@tinacms/mdx": "
|
|
132
|
-
"@tinacms/schema-tools": "1.
|
|
133
|
-
"@tinacms/search": "
|
|
130
|
+
"yup": "^1.6.1",
|
|
131
|
+
"zod": "^3.24.2",
|
|
132
|
+
"@tinacms/mdx": "1.6.0",
|
|
133
|
+
"@tinacms/schema-tools": "1.7.1",
|
|
134
|
+
"@tinacms/search": "1.0.40"
|
|
134
135
|
},
|
|
135
136
|
"devDependencies": {
|
|
136
|
-
"@graphql-tools/utils": "^10.
|
|
137
|
+
"@graphql-tools/utils": "^10.8.1",
|
|
137
138
|
"@testing-library/dom": "^10.4.0",
|
|
138
139
|
"@testing-library/jest-dom": "^6.6.3",
|
|
139
|
-
"@testing-library/react": "^16.0
|
|
140
|
-
"@testing-library/user-event": "^14.
|
|
140
|
+
"@testing-library/react": "^16.2.0",
|
|
141
|
+
"@testing-library/user-event": "^14.6.1",
|
|
141
142
|
"@types/atob": "^2.1.4",
|
|
142
143
|
"@types/codemirror": "^5.60.15",
|
|
143
144
|
"@types/color-string": "^1.5.5",
|
|
144
145
|
"@types/lodash.debounce": "^4.0.9",
|
|
145
146
|
"@types/lodash.get": "^4.4.9",
|
|
146
|
-
"@types/node": "^22.
|
|
147
|
-
"@types/prop-types": "^15.7.
|
|
148
|
-
"@types/react": "^18.3.
|
|
147
|
+
"@types/node": "^22.13.1",
|
|
148
|
+
"@types/prop-types": "^15.7.14",
|
|
149
|
+
"@types/react": "^18.3.18",
|
|
149
150
|
"@types/react-beautiful-dnd": "^13.1.8",
|
|
150
|
-
"@types/react-color": "^3.0.
|
|
151
|
-
"@types/react-dom": "^18.3.
|
|
151
|
+
"@types/react-color": "^3.0.13",
|
|
152
|
+
"@types/react-dom": "^18.3.5",
|
|
152
153
|
"@types/yup": "^0.32.0",
|
|
153
154
|
"happy-dom": "15.10.2",
|
|
154
155
|
"identity-obj-proxy": "^3.0.0",
|
|
@@ -160,14 +161,14 @@
|
|
|
160
161
|
"react-is": "^18.3.1",
|
|
161
162
|
"tsc-alias": "^1.8.10",
|
|
162
163
|
"tslib": "^2.8.1",
|
|
163
|
-
"typescript": "^5.
|
|
164
|
-
"vite": "^5.4.
|
|
165
|
-
"vitest": "^2.1.
|
|
166
|
-
"@tinacms/scripts": "1.3.
|
|
164
|
+
"typescript": "^5.7.3",
|
|
165
|
+
"vite": "^5.4.14",
|
|
166
|
+
"vitest": "^2.1.9",
|
|
167
|
+
"@tinacms/scripts": "1.3.2"
|
|
167
168
|
},
|
|
168
169
|
"peerDependencies": {
|
|
169
|
-
"react": ">=16.14.0",
|
|
170
|
-
"react-dom": ">=16.14.0"
|
|
170
|
+
"react": ">=16.14.0 <19.0.0",
|
|
171
|
+
"react-dom": ">=16.14.0 <19.0.0"
|
|
171
172
|
},
|
|
172
173
|
"publishConfig": {
|
|
173
174
|
"registry": "https://registry.npmjs.org"
|