tinacms 0.0.0-bbf2f81-20241024004604 → 0.0.0-bc47f93-20250609000942
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/components/ui/tooltip.d.ts +7 -0
- package/dist/admin/pages/CollectionListPage.d.ts +2 -2
- package/dist/admin/types.d.ts +3 -0
- package/dist/auth/TinaCloudProvider.d.ts +1 -1
- package/dist/cache/node-cache.d.ts +1 -0
- 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 -1
- package/dist/index.js +4675 -3330
- package/dist/index.mjs +4763 -3418
- package/dist/internalClient/index.d.ts +3 -3
- package/dist/node-cache-5e8db9f0.mjs +63 -0
- package/dist/react.d.ts +1 -0
- package/dist/react.js +13 -1
- package/dist/react.mjs +13 -1
- package/dist/rich-text/prism.js +1 -1
- package/dist/rich-text/prism.mjs +1 -1
- 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/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/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/toolkit/fields/plugins/mdx-field-plugin/plate/transforms/is-url.d.ts +1 -2
- package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +8 -0
- package/dist/toolkit/form-builder/form-builder.d.ts +11 -0
- package/dist/toolkit/git-client/git-client.d.ts +25 -2
- package/dist/toolkit/git-client/git-file.d.ts +18 -0
- package/dist/toolkit/git-client/git-media-store.d.ts +13 -0
- package/dist/toolkit/git-client/use-git-file.d.ts +4 -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-cms.d.ts +3 -3
- package/dist/toolkit/tina-state.d.ts +4 -0
- package/dist/unifiedClient/index.d.ts +8 -1
- package/package.json +41 -41
- package/dist/__vite-browser-external-d06ac358.mjs +0 -4
- package/dist/node-cache-7fa2452c.mjs +0 -43
- package/dist/toolkit/react-sidebar/components/no-forms-placeholder.d.ts +0 -8
|
@@ -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
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);
|
package/dist/rich-text/prism.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
prismReactRenderer.Highlight,
|
|
8
8
|
{
|
|
9
9
|
theme: prismReactRenderer.themes[props.theme || "github"],
|
|
10
|
-
code: props.value,
|
|
10
|
+
code: props.value || "",
|
|
11
11
|
language: props.lang || ""
|
|
12
12
|
},
|
|
13
13
|
({ className, style, tokens, getLineProps, getTokenProps }) => /* @__PURE__ */ React.createElement("pre", { className, style }, tokens.map((line, i) => /* @__PURE__ */ React.createElement("div", { ...getLineProps({ line, key: i }) }, line.map((token, key) => /* @__PURE__ */ React.createElement("span", { ...getTokenProps({ token, key }) })))))
|
package/dist/rich-text/prism.mjs
CHANGED
|
@@ -5,7 +5,7 @@ const Prism = (props) => {
|
|
|
5
5
|
Highlight,
|
|
6
6
|
{
|
|
7
7
|
theme: themes[props.theme || "github"],
|
|
8
|
-
code: props.value,
|
|
8
|
+
code: props.value || "",
|
|
9
9
|
language: props.lang || ""
|
|
10
10
|
},
|
|
11
11
|
({ className, style, tokens, getLineProps, getTokenProps }) => /* @__PURE__ */ React.createElement("pre", { className, style }, tokens.map((line, i) => /* @__PURE__ */ React.createElement("div", { ...getLineProps({ line, key: i }) }, line.map((token, key) => /* @__PURE__ */ React.createElement("span", { ...getTokenProps({ token, key }) })))))
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -3,6 +3,14 @@ import { FieldProps } from './field-props';
|
|
|
3
3
|
import { Form } from '../../forms';
|
|
4
4
|
export type InputFieldType<ExtraFieldProps, InputProps> = FieldProps<InputProps> & ExtraFieldProps;
|
|
5
5
|
export declare function wrapFieldsWithMeta<ExtraFieldProps = {}, InputProps = {}>(Field: React.FunctionComponent<InputFieldType<ExtraFieldProps, InputProps>> | React.ComponentClass<InputFieldType<ExtraFieldProps, InputProps>>): (props: InputFieldType<ExtraFieldProps, InputProps>) => React.JSX.Element;
|
|
6
|
+
/**
|
|
7
|
+
* Same as wrapFieldsWithMeta but excludes the label, and description useful for fields that render their label and description
|
|
8
|
+
*/
|
|
9
|
+
export declare function wrapFieldWithNoHeader<ExtraFieldProps = {}, InputProps = {}>(Field: React.FunctionComponent<InputFieldType<ExtraFieldProps, InputProps>> | React.ComponentClass<InputFieldType<ExtraFieldProps, InputProps>>): (props: InputFieldType<ExtraFieldProps, InputProps>) => React.JSX.Element;
|
|
10
|
+
/**
|
|
11
|
+
* Same as above but excludes the label, useful for fields that have their own label
|
|
12
|
+
* @deprecated This function is deprecated and will be removed in future versions.
|
|
13
|
+
*/
|
|
6
14
|
export declare function wrapFieldWithError<ExtraFieldProps = {}, InputProps = {}>(Field: React.FunctionComponent<InputFieldType<ExtraFieldProps, InputProps>> | React.ComponentClass<InputFieldType<ExtraFieldProps, InputProps>>): (props: InputFieldType<ExtraFieldProps, InputProps>) => React.JSX.Element;
|
|
7
15
|
interface FieldMetaProps extends React.HTMLAttributes<HTMLElement> {
|
|
8
16
|
name: string;
|
|
@@ -19,6 +19,10 @@ export declare const FormWrapper: ({ header, children, id, }: {
|
|
|
19
19
|
children: React.ReactNode;
|
|
20
20
|
id: string;
|
|
21
21
|
}) => React.JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
* Original misspelt version of CreateBranchModal
|
|
25
|
+
*/
|
|
22
26
|
export declare const CreateBranchModel: ({ close, safeSubmit, relativePath, values, crudType, }: {
|
|
23
27
|
safeSubmit: () => Promise<void>;
|
|
24
28
|
close: () => void;
|
|
@@ -26,6 +30,13 @@ export declare const CreateBranchModel: ({ close, safeSubmit, relativePath, valu
|
|
|
26
30
|
values: Record<string, unknown>;
|
|
27
31
|
crudType: string;
|
|
28
32
|
}) => React.JSX.Element;
|
|
33
|
+
export declare const CreateBranchModal: ({ close, safeSubmit, path, values, crudType, }: {
|
|
34
|
+
safeSubmit: () => Promise<void>;
|
|
35
|
+
close: () => void;
|
|
36
|
+
path: string;
|
|
37
|
+
values: Record<string, unknown>;
|
|
38
|
+
crudType: string;
|
|
39
|
+
}) => React.JSX.Element;
|
|
29
40
|
export declare const PrefixedTextField: ({ prefix, ...props }: {
|
|
30
41
|
[x: string]: any;
|
|
31
42
|
prefix?: string;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated as the API is clunky and hard to use. Mutations should now be
|
|
3
|
+
* done via Graphql. This will be removed by July 2025.
|
|
4
|
+
*/
|
|
1
5
|
export declare class GitClient {
|
|
2
6
|
private baseUrl;
|
|
3
7
|
constructor(baseUrl: string);
|
|
@@ -29,6 +33,9 @@ export declare class GitClient {
|
|
|
29
33
|
* @deprecated
|
|
30
34
|
*/
|
|
31
35
|
isAuthenticated(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated
|
|
38
|
+
*/
|
|
32
39
|
commit(data: {
|
|
33
40
|
files: string[];
|
|
34
41
|
message?: string;
|
|
@@ -36,15 +43,17 @@ export declare class GitClient {
|
|
|
36
43
|
email?: string;
|
|
37
44
|
}): Promise<Response>;
|
|
38
45
|
/**
|
|
39
|
-
*
|
|
40
46
|
* TODO: Add return type.
|
|
41
47
|
* TODO: Remove `catch`
|
|
48
|
+
*
|
|
49
|
+
* @deprecated
|
|
42
50
|
*/
|
|
43
51
|
push(): Promise<any>;
|
|
44
52
|
/**
|
|
45
|
-
*
|
|
46
53
|
* TODO: Add return type.
|
|
47
54
|
* TODO: Remove `catch`
|
|
55
|
+
*
|
|
56
|
+
* @deprecated
|
|
48
57
|
*/
|
|
49
58
|
writeToDisk(data: {
|
|
50
59
|
fileRelativePath: string;
|
|
@@ -53,6 +62,8 @@ export declare class GitClient {
|
|
|
53
62
|
/**
|
|
54
63
|
* Uploads a File to disk
|
|
55
64
|
* TODO: Remove `catch`
|
|
65
|
+
*
|
|
66
|
+
* @deprecated
|
|
56
67
|
*/
|
|
57
68
|
writeMediaToDisk(data: {
|
|
58
69
|
directory: string;
|
|
@@ -62,31 +73,43 @@ export declare class GitClient {
|
|
|
62
73
|
* TODO: rename `data.relPath` to `data.fileRelativePath`
|
|
63
74
|
* TODO: Add return type.
|
|
64
75
|
* TODO: Remove `catch`
|
|
76
|
+
*
|
|
77
|
+
* @deprecated
|
|
65
78
|
*/
|
|
66
79
|
deleteFromDisk(data: {
|
|
67
80
|
relPath: string;
|
|
68
81
|
}): Promise<any>;
|
|
69
82
|
/**
|
|
70
83
|
* Resets the given files.
|
|
84
|
+
*
|
|
85
|
+
* @deprecated
|
|
71
86
|
*/
|
|
72
87
|
reset(data: {
|
|
73
88
|
files: string[];
|
|
74
89
|
}): Promise<Response>;
|
|
75
90
|
/**
|
|
76
91
|
* Get the contents of a file or directory on disk.
|
|
92
|
+
*
|
|
93
|
+
* @deprecated
|
|
77
94
|
*/
|
|
78
95
|
getFile(fileRelativePath: string): Promise<any>;
|
|
79
96
|
/**
|
|
80
97
|
* Get the contents of a file for the most recent commit.
|
|
98
|
+
*
|
|
99
|
+
* @deprecated
|
|
81
100
|
*/
|
|
82
101
|
show(fileRelativePath: string): Promise<any>;
|
|
83
102
|
/**
|
|
84
103
|
* Get information about a local branch by name, or the current branch if no
|
|
85
104
|
* name is specified.
|
|
105
|
+
*
|
|
106
|
+
* @deprecated
|
|
86
107
|
*/
|
|
87
108
|
branch(name?: string): Promise<any>;
|
|
88
109
|
/**
|
|
89
110
|
* Get a list of the names of all local branches.
|
|
111
|
+
*
|
|
112
|
+
* @deprecated
|
|
90
113
|
*/
|
|
91
114
|
branches(): Promise<any>;
|
|
92
115
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { CMS } from '../core';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated as the API is clunky and hard to use. Mutations should now be
|
|
4
|
+
* done via Graphql. This will be removed by July 2025.
|
|
5
|
+
*/
|
|
2
6
|
export declare class GitFile {
|
|
3
7
|
private cms;
|
|
4
8
|
relativePath: string;
|
|
@@ -7,10 +11,24 @@ export declare class GitFile {
|
|
|
7
11
|
constructor(cms: CMS, relativePath: string, format: (file: any) => string, parse: (content: string) => any);
|
|
8
12
|
/**
|
|
9
13
|
* Load the contents of this file at HEAD
|
|
14
|
+
*
|
|
15
|
+
* @deprecated
|
|
10
16
|
*/
|
|
11
17
|
show: () => Promise<any>;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated
|
|
20
|
+
*/
|
|
12
21
|
commit: () => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
13
25
|
reset: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated
|
|
28
|
+
*/
|
|
14
29
|
write: (values: any) => void;
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated
|
|
32
|
+
*/
|
|
15
33
|
private get git();
|
|
16
34
|
}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { MediaStore, MediaUploadOptions, Media, MediaListOptions, MediaList } from '../core';
|
|
2
2
|
import { GitClient } from './git-client';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated as the API is clunky and hard to use. Mutations should now be
|
|
5
|
+
* done via Graphql. This will be removed by July 2025.
|
|
6
|
+
*/
|
|
3
7
|
export declare class GitMediaStore implements MediaStore {
|
|
4
8
|
private client;
|
|
5
9
|
accept: string;
|
|
6
10
|
constructor(client: GitClient);
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated
|
|
13
|
+
*/
|
|
7
14
|
persist(files: MediaUploadOptions[]): Promise<Media[]>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated
|
|
17
|
+
*/
|
|
8
18
|
list(options?: MediaListOptions): Promise<MediaList>;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated
|
|
21
|
+
*/
|
|
9
22
|
delete(media: Media): Promise<void>;
|
|
10
23
|
}
|
|
11
24
|
export declare const nextOffset: (offset: number, limit: number, count: number) => number;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import { GitFile } from './git-file';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated as the API is clunky and hard to use. Mutations should now be
|
|
4
|
+
* done via Graphql. This will be removed by July 2025.
|
|
5
|
+
*/
|
|
2
6
|
export declare function useGitFile(relativePath: string, format: (file: any) => string, parse: (content: string) => any): GitFile;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Branch, BranchSwitcherProps } from './types';
|
|
3
3
|
export declare function formatBranchName(str: string): string;
|
|
4
4
|
export declare const BranchSwitcherLegacy: ({ listBranches, createBranch, chooseBranch, }: BranchSwitcherProps) => React.JSX.Element;
|
|
5
5
|
export declare const getFilteredBranchList: (branchList: Branch[], filter: string, currentBranchName: string) => Branch[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Branch, BranchSwitcherProps } from './types';
|
|
3
3
|
export declare function formatBranchName(str: string): string;
|
|
4
4
|
export declare const BranchSwitcher: (props: BranchSwitcherProps) => React.JSX.Element;
|
|
5
5
|
export declare const EditoralBranchSwitcher: ({ listBranches, createBranch, chooseBranch, setModalTitle, }: BranchSwitcherProps) => React.JSX.Element;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Plugin } from '../core';
|
|
2
2
|
import type { IconType } from 'react-icons';
|
|
3
3
|
/**
|
|
4
|
-
* Represents a
|
|
4
|
+
* Represents a TinaCloud Config that should be accessible via the CMS.
|
|
5
5
|
*
|
|
6
6
|
* The purpose of these configs is to give a way to display & edit information
|
|
7
|
-
* about
|
|
7
|
+
* about TinaCloud Configuration
|
|
8
8
|
* cases may include:
|
|
9
9
|
*
|
|
10
|
-
* *
|
|
10
|
+
* * TinaCloud Project Configuration
|
|
11
11
|
* * User Management
|
|
12
12
|
*/
|
|
13
13
|
export interface CloudConfigPlugin extends Plugin {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import type { Form } from '../../forms';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export interface FormsViewProps {
|
|
4
|
+
loadingPlaceholder?: React.FC;
|
|
5
|
+
}
|
|
6
|
+
export declare const FormsView: ({ loadingPlaceholder }?: FormsViewProps) => React.JSX.Element;
|
|
6
7
|
export interface MultiformFormHeaderProps {
|
|
7
8
|
activeForm: {
|
|
8
9
|
activeFieldName?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EventBus, Callback } from '../core';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { Callback, EventBus } from '../core';
|
|
3
3
|
export interface SidebarStateOptions {
|
|
4
4
|
position?: SidebarPosition;
|
|
5
5
|
buttons?: SidebarButtons;
|
|
@@ -22,7 +22,7 @@ export declare type DefaultSidebarState = 'open' | 'closed';
|
|
|
22
22
|
export declare class SidebarState {
|
|
23
23
|
private events;
|
|
24
24
|
private _isOpen;
|
|
25
|
-
|
|
25
|
+
loadingPlaceholder: React.FC;
|
|
26
26
|
defaultState: DefaultSidebarState;
|
|
27
27
|
position: SidebarPosition;
|
|
28
28
|
renderNav: boolean;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { Alerts, type EventsToAlerts } from './alerts';
|
|
1
2
|
import { CMS, type CMSConfig, type PluginType } from './core';
|
|
2
3
|
import type { FieldPlugin } from './form-builder';
|
|
3
|
-
import type { ScreenPlugin } from './react-screens';
|
|
4
4
|
import type { Form } from './forms';
|
|
5
|
-
import {
|
|
5
|
+
import type { ScreenPlugin } from './react-screens';
|
|
6
6
|
import { SidebarState, type SidebarStateOptions } from './react-sidebar';
|
|
7
|
-
import type { TinaAction, TinaState } from './tina-state';
|
|
8
7
|
import type { Client } from '../internalClient';
|
|
8
|
+
import type { TinaAction, TinaState } from './tina-state';
|
|
9
9
|
export interface TinaCMSConfig extends CMSConfig {
|
|
10
10
|
sidebar?: SidebarStateOptions | boolean;
|
|
11
11
|
alerts?: EventsToAlerts;
|