tinacms 0.0.0-c5dad82-20241009225242 → 0.0.0-c6915ea-20250421012527

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.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/api.d.ts +1 -0
  3. package/dist/admin/components/AuthCallback.d.ts +5 -0
  4. package/dist/admin/components/GetCollection.d.ts +2 -2
  5. package/dist/admin/types.d.ts +3 -0
  6. package/dist/auth/TinaCloudProvider.d.ts +1 -1
  7. package/dist/auth/authenticate.d.ts +1 -1
  8. package/dist/cache/node-cache.d.ts +1 -0
  9. package/dist/client.d.ts +1 -4
  10. package/dist/client.js +100 -62
  11. package/dist/client.mjs +59 -36
  12. package/dist/hooks/create-page-plugin.d.ts +1 -1
  13. package/dist/index.d.ts +1 -61
  14. package/dist/index.js +3820 -2242
  15. package/dist/index.mjs +3811 -2232
  16. package/dist/internalClient/authProvider.d.ts +2 -0
  17. package/dist/internalClient/index.d.ts +3 -3
  18. package/dist/node-cache-5e8db9f0.mjs +63 -0
  19. package/dist/react.d.ts +1 -33
  20. package/dist/react.js +13 -1
  21. package/dist/react.mjs +13 -1
  22. package/dist/rich-text/index.d.ts +1 -139
  23. package/dist/rich-text/index.js +3 -1
  24. package/dist/rich-text/index.mjs +3 -1
  25. package/dist/rich-text/prism.d.ts +1 -10
  26. package/dist/toolkit/components/media/media-manager.d.ts +1 -1
  27. package/dist/toolkit/fields/components/reference/reference-select.d.ts +2 -2
  28. package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +4 -1
  29. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/fixed-toolbar-buttons.d.ts +0 -4
  30. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/icons.d.ts +2 -0
  31. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +17 -5
  32. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mark-toolbar-button.d.ts +4 -18
  33. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-element.d.ts +11 -0
  34. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-toolbar-button.d.ts +20 -0
  35. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/text-area.d.ts +5 -0
  36. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/index.d.ts +1 -1
  37. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/custom/mermaid-plugin.d.ts +2 -0
  38. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/index.d.ts +4 -2
  39. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +16 -11
  40. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +11 -3
  41. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-provider.d.ts +3 -3
  42. package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +8 -0
  43. package/dist/toolkit/plugin-branch-switcher/branch-switcher-legacy.d.ts +1 -1
  44. package/dist/toolkit/plugin-branch-switcher/branch-switcher.d.ts +1 -1
  45. package/dist/toolkit/react-cloud-config/cloud-config-plugin.d.ts +3 -3
  46. package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +5 -4
  47. package/dist/toolkit/react-sidebar/components/sidebar-loading-placeholder.d.ts +2 -0
  48. package/dist/toolkit/react-sidebar/components/sidebar-no-forms-placeholder.d.ts +2 -0
  49. package/dist/toolkit/react-sidebar/sidebar.d.ts +2 -2
  50. package/dist/toolkit/tina-state.d.ts +4 -0
  51. package/dist/unifiedClient/index.d.ts +8 -1
  52. package/package.json +41 -40
  53. package/dist/__vite-browser-external-d06ac358.mjs +0 -4
  54. package/dist/node-cache-7fa2452c.mjs +0 -43
  55. 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 declare function useTina<T extends object>(props: {
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
- parent.postMessage({ type: "open", ...props, id }, window.location.origin);
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
- parent.postMessage({ type: "open", ...props, id }, window.location.origin);
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,139 +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
- img?: {
69
- url: string;
70
- caption?: string;
71
- alt?: string;
72
- };
73
- hr?: {};
74
- break?: {};
75
- maybe_mdx?: {
76
- children: JSX.Element;
77
- };
78
- html?: {
79
- value: string;
80
- };
81
- html_inline?: {
82
- value: string;
83
- };
84
- table?: {
85
- align?: ('left' | 'right' | 'center')[];
86
- tableRows: {
87
- tableCells: {
88
- value: TinaMarkdownContent;
89
- }[];
90
- }[];
91
- };
92
- component_missing?: {
93
- name: string;
94
- };
95
- };
96
- type BaseComponentSignature = {
97
- [BK in keyof BaseComponents]: (props: BaseComponents[BK]) => JSX.Element;
98
- };
99
- /**
100
- * Define the allowed components and their props
101
- * ```ts
102
- * const components:
103
- * Components<{
104
- * BlockQuote: {
105
- * children: TinaMarkdownContent;
106
- * authorName: string;
107
- * };
108
- * }> = {
109
- * BlockQuote: (props: {
110
- * children: TinaMarkdownContent;
111
- * authorName: string;
112
- * }) => {
113
- * return (
114
- * <div>
115
- * <blockquote>
116
- * <TinaMarkdown content={props.children} />
117
- * {props.authorName}
118
- * </blockquote>
119
- * </div>
120
- * );
121
- * }
122
- * }
123
- * }
124
- * ```
125
- */
126
- export type Components<ComponentAndProps extends object> = {
127
- [K in keyof ComponentAndProps]: (props: ComponentAndProps[K]) => JSX.Element;
128
- } & BaseComponentSignature;
129
- export type TinaMarkdownContent = {
130
- type: string;
131
- children: TinaMarkdownContent[];
132
- };
133
- export declare const TinaMarkdown: <CustomComponents extends {
134
- [key: string]: object;
135
- } = any>({ content, components, }: {
136
- content: TinaMarkdownContent | TinaMarkdownContent[];
137
- components?: Components<{}> | Components<{ [BK in keyof CustomComponents]: (props: CustomComponents[BK]) => JSX.Element; }>;
138
- }) => React.JSX.Element;
139
- export {};
1
+ export * from "../../src/rich-text/index"
@@ -117,7 +117,8 @@
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 "code_block":
120
+ case "mermaid":
121
+ case "code_block": {
121
122
  const value = child.value;
122
123
  if (components[child.type]) {
123
124
  const Component2 = components[child.type];
@@ -127,6 +128,7 @@
127
128
  );
128
129
  }
129
130
  return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null, value));
131
+ }
130
132
  case "hr":
131
133
  if (components[child.type]) {
132
134
  const Component2 = components[child.type];
@@ -114,7 +114,8 @@ 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 "code_block":
117
+ case "mermaid":
118
+ case "code_block": {
118
119
  const value = child.value;
119
120
  if (components[child.type]) {
120
121
  const Component2 = components[child.type];
@@ -124,6 +125,7 @@ const Node = ({ components, child }) => {
124
125
  );
125
126
  }
126
127
  return /* @__PURE__ */ React.createElement("pre", null, /* @__PURE__ */ React.createElement("code", null, value));
128
+ }
127
129
  case "hr":
128
130
  if (components[child.type]) {
129
131
  const Component2 = components[child.type];
@@ -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"
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import { Media } from '../../core';
2
+ import React from 'react';
3
3
  export interface MediaRequest {
4
4
  directory?: string;
5
5
  onSelect?(_media: Media): void;
@@ -7,5 +7,5 @@ interface ReferenceSelectProps {
7
7
  input: any;
8
8
  field: ReferenceFieldProps & Field;
9
9
  }
10
- declare const ComboboxDemo: React.FC<ReferenceSelectProps>;
11
- export default ComboboxDemo;
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,6 +1,2 @@
1
1
  import React from 'react';
2
- export type ToolbarItem = {
3
- label: string;
4
- Component: React.ReactNode;
5
- };
6
2
  export default function FixedToolbarButtons(): React.JSX.Element;
@@ -33,6 +33,7 @@ export declare const Icons: {
33
33
  chevronsUpDown: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
34
34
  clear: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
35
35
  close: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
36
+ paint: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
36
37
  codeblock: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
37
38
  color: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
38
39
  column: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
@@ -55,6 +56,7 @@ export declare const Icons: {
55
56
  kbd: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
56
57
  lineHeight: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
57
58
  minus: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
59
+ mermaid: () => React.JSX.Element;
58
60
  more: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
59
61
  outdent: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
60
62
  paragraph: React.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
@@ -1,8 +1,5 @@
1
1
  import React from 'react';
2
- import { type ELEMENT_OL, ELEMENT_UL } from '@udecode/plate';
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">, "nodeType"> & React.RefAttributes<HTMLButtonElement>>;
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 MarkToolbarButton: React.ForwardRefExoticComponent<{
3
- clear?: string | string[];
4
- nodeType: string;
5
- } & Omit<Omit<{
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;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export declare const MermaidElement: React.ForwardRefExoticComponent<Omit<Omit<{
3
+ elementToAttributes?: (element: import("@udecode/plate-common").TElement) => any;
4
+ } & Omit<{
5
+ as?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
6
+ asChild?: boolean | undefined;
7
+ } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
8
+ ref?: React.Ref<any>;
9
+ } & import("@udecode/plate-common").PlateRenderNodeProps<import("@udecode/plate-common").Value, import("@udecode/plate-common").PlateEditor<import("@udecode/plate-common").Value>> & {
10
+ element: import("@udecode/plate-common").TElement;
11
+ } & Omit<import("slate-react").RenderElementProps, "element"> & React.RefAttributes<HTMLDivElement>, "ref">, never> & React.RefAttributes<any>>;
@@ -0,0 +1,20 @@
1
+ import { type PlateEditor } from '@udecode/plate-common';
2
+ import React from 'react';
3
+ export declare const insertEmptyMermaid: (editor: PlateEditor) => void;
4
+ export declare const MermaidToolbarButton: React.ForwardRefExoticComponent<{
5
+ clear?: string | string[];
6
+ } & Omit<Omit<{
7
+ tooltip?: React.ReactNode;
8
+ tooltipContentProps?: Omit<React.ComponentPropsWithoutRef<React.ForwardRefExoticComponent<import("@radix-ui/react-tooltip").TooltipContentProps & React.RefAttributes<HTMLDivElement>>>, "children">;
9
+ tooltipProps?: Omit<React.ComponentPropsWithoutRef<React.FC<import("@radix-ui/react-tooltip").TooltipProps>>, "children">;
10
+ } & Omit<{
11
+ isDropdown?: boolean;
12
+ pressed?: boolean;
13
+ showArrow?: boolean;
14
+ } & Omit<Omit<Omit<import("@radix-ui/react-toolbar").ToolbarToggleItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & import("class-variance-authority").VariantProps<(props?: {
15
+ size?: "default" | "sm" | "lg";
16
+ variant?: "default" | "outline";
17
+ } & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref">, "value" | "asChild"> & import("class-variance-authority").VariantProps<(props?: {
18
+ size?: "default" | "sm" | "lg";
19
+ variant?: "default" | "outline";
20
+ } & import("class-variance-authority/dist/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref">, "clear"> & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ }
4
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
+ export { Textarea };
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import type { RichTextType } from '..';
3
- export declare const RichEditor: (props: RichTextType) => React.JSX.Element;
3
+ export declare const RichEditor: ({ input, tinaForm, field }: RichTextType) => React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare const ELEMENT_MERMAID = "mermaid";
2
+ export declare const createMermaidPlugin: <OP = import("@udecode/plate-common").AnyObject, OV extends import("@udecode/plate-common").Value = import("@udecode/plate-common").Value, OE extends import("@udecode/plate-common").PlateEditor<OV> = import("@udecode/plate-common").PlateEditor<OV>>(override?: Partial<import("@udecode/plate-common").PlatePlugin<import("@udecode/plate-common").NoInfer<OP>, OV, OE>>, overrideByKey?: import("@udecode/plate-common").OverrideByKey<OV, OE>) => import("@udecode/plate-common").PlatePlugin<import("@udecode/plate-common").NoInfer<OP>, OV, OE>;
@@ -1,9 +1,11 @@
1
- import React from 'react';
2
1
  import { type PlateEditor, type TElement } from '@udecode/plate-common';
3
- export declare const CodeBlock: ({ attributes, editor, element, language: restrictLanguage, ...props }: {
2
+ import React from 'react';
3
+ export declare const CodeBlock: ({ attributes, editor, element, language: restrictLanguage, onChangeCallback, defaultValue, ...props }: {
4
4
  attributes: Record<string, unknown>;
5
5
  element: TElement;
6
6
  editor: PlateEditor;
7
7
  language?: string;
8
8
  children: React.ReactNode;
9
+ defaultValue?: unknown;
10
+ onChangeCallback?: (value: string) => void;
9
11
  }) => React.JSX.Element;
@@ -60,6 +60,16 @@ export declare const Components: () => {
60
60
  editor: any;
61
61
  element: any;
62
62
  }) => React.JSX.Element;
63
+ mermaid: React.ForwardRefExoticComponent<Omit<Omit<{
64
+ elementToAttributes?: (element: import("@udecode/plate-common").TElement) => any;
65
+ } & Omit<{
66
+ as?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
67
+ asChild?: boolean | undefined;
68
+ } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
69
+ ref?: React.Ref<any>;
70
+ } & import("@udecode/plate-common").PlateRenderNodeProps<import("@udecode/plate-common").Value, import("@udecode/plate-common").PlateEditor<import("@udecode/plate-common").Value>> & {
71
+ element: import("@udecode/plate-common").TElement;
72
+ } & Omit<import("slate-react").RenderElementProps, "element"> & React.RefAttributes<HTMLDivElement>, "ref">, never> & React.RefAttributes<any>>;
63
73
  blockquote: React.ForwardRefExoticComponent<Omit<Omit<{
64
74
  elementToAttributes?: (element: import("@udecode/plate-common").TElement) => any;
65
75
  } & Omit<{
@@ -179,17 +189,12 @@ export declare const Components: () => {
179
189
  } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
180
190
  ref?: React.Ref<any>;
181
191
  } & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<any>>;
182
- strikethrough: React.ForwardRefExoticComponent<Omit<{
183
- leafToAttributes?: (leaf: import("@udecode/plate-common").TText) => any;
184
- } & 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"> & {
185
- leaf: import("@udecode/plate-common").TText;
186
- text: import("@udecode/plate-common").TText;
187
- } & Omit<{
188
- as?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
189
- asChild?: boolean | undefined;
190
- } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<any>, "ref"> & {
191
- ref?: React.Ref<any>;
192
- } & 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;
193
198
  italic: React.ForwardRefExoticComponent<Omit<{
194
199
  leafToAttributes?: (leaf: import("@udecode/plate-common").TText) => any;
195
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,12 @@
1
- export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'italic' | 'raw' | 'embed' | 'table';
2
- export declare const ICON_WIDTH = 32;
1
+ export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'strikethrough' | 'italic' | 'mermaid' | 'raw' | 'embed' | 'table';
2
+ export declare const STANDARD_ICON_WIDTH = 32;
3
+ export declare const HEADING_ICON_WITH_TEXT = 127;
4
+ export declare const HEADING_ICON_ONLY = 58;
3
5
  export declare const EMBED_ICON_WIDTH = 78;
4
- export declare const HEADING = 138;
6
+ export declare const CONTAINER_MD_BREAKPOINT = 448;
7
+ export declare const FLOAT_BUTTON_WIDTH = 25;
8
+ export declare const HEADING_LABEL = "Headings";
9
+ export type ToolbarOverrides = {
10
+ toolbar?: ToolbarOverrideType[];
11
+ showFloatingToolbar?: boolean;
12
+ };