tinacms 0.0.0-bf22bf8-20241004045704 → 0.0.0-c312c38-20250414065513

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 (59) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/api.d.ts +1 -0
  3. package/dist/admin/components/GetCollection.d.ts +2 -2
  4. package/dist/admin/types.d.ts +3 -0
  5. package/dist/auth/TinaCloudProvider.d.ts +1 -1
  6. package/dist/cache/node-cache.d.ts +1 -0
  7. package/dist/client.d.ts +1 -4
  8. package/dist/client.js +100 -62
  9. package/dist/client.mjs +59 -36
  10. package/dist/hooks/create-page-plugin.d.ts +1 -1
  11. package/dist/index.d.ts +1 -61
  12. package/dist/index.js +4207 -2267
  13. package/dist/index.mjs +4203 -2259
  14. package/dist/internalClient/index.d.ts +3 -3
  15. package/dist/node-cache-5e8db9f0.mjs +63 -0
  16. package/dist/react.d.ts +1 -33
  17. package/dist/react.js +13 -1
  18. package/dist/react.mjs +13 -1
  19. package/dist/rich-text/index.d.ts +1 -139
  20. package/dist/rich-text/index.js +45 -12
  21. package/dist/rich-text/index.mjs +45 -12
  22. package/dist/rich-text/prism.d.ts +1 -10
  23. package/dist/toolkit/components/media/media-manager.d.ts +1 -1
  24. package/dist/toolkit/fields/components/reference/reference-select.d.ts +2 -2
  25. package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +4 -1
  26. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/fixed-toolbar-buttons.d.ts +0 -4
  27. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/icons.d.ts +2 -0
  28. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +17 -5
  29. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mark-toolbar-button.d.ts +4 -18
  30. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-element.d.ts +11 -0
  31. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-toolbar-button.d.ts +20 -0
  32. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/resizable.d.ts +39 -0
  33. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-cell-element.d.ts +27 -0
  34. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-dropdown-menu.d.ts +3 -0
  35. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-element.d.ts +14 -0
  36. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-row-element.d.ts +13 -0
  37. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/text-area.d.ts +5 -0
  38. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/index.d.ts +1 -1
  39. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/common.d.ts +1 -0
  40. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/custom/mermaid-plugin.d.ts +2 -0
  41. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/index.d.ts +4 -2
  42. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/use-monaco.d.ts +3 -0
  43. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +64 -11
  44. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +11 -3
  45. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-provider.d.ts +3 -3
  46. package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +8 -0
  47. package/dist/toolkit/plugin-branch-switcher/branch-switcher-legacy.d.ts +1 -1
  48. package/dist/toolkit/plugin-branch-switcher/branch-switcher.d.ts +1 -1
  49. package/dist/toolkit/react-cloud-config/cloud-config-plugin.d.ts +3 -3
  50. package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +5 -4
  51. package/dist/toolkit/react-sidebar/components/sidebar-loading-placeholder.d.ts +2 -0
  52. package/dist/toolkit/react-sidebar/components/sidebar-no-forms-placeholder.d.ts +2 -0
  53. package/dist/toolkit/react-sidebar/sidebar.d.ts +2 -2
  54. package/dist/toolkit/tina-state.d.ts +4 -0
  55. package/dist/unifiedClient/index.d.ts +8 -1
  56. package/package.json +43 -41
  57. package/dist/__vite-browser-external-d06ac358.mjs +0 -4
  58. package/dist/node-cache-7fa2452c.mjs +0 -43
  59. 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
@@ -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"
@@ -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":
@@ -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];
@@ -150,33 +152,33 @@
150
152
  } else {
151
153
  if (child.name === "table") {
152
154
  const firstRowHeader = (_a = child.props) == null ? void 0 : _a.firstRowHeader;
153
- const rows = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
155
+ const rows2 = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
154
156
  const header = (_e = (_d = child.props) == null ? void 0 : _d.tableRows) == null ? void 0 : _e.at(0);
155
- const TableComponent = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
156
- const TrComponent = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
157
+ const TableComponent2 = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
158
+ const TrComponent2 = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
157
159
  const ThComponent = components["th"] || ((props2) => /* @__PURE__ */ React.createElement("th", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
158
- const TdComponent = components["td"] || ((props2) => /* @__PURE__ */ React.createElement("td", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
159
- const align = ((_f = child.props) == null ? void 0 : _f.align) || [];
160
- return /* @__PURE__ */ React.createElement(TableComponent, null, firstRowHeader && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement(TrComponent, null, header.tableCells.map((c, i) => {
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) => {
161
163
  return /* @__PURE__ */ React.createElement(
162
164
  TinaMarkdown,
163
165
  {
164
166
  key: i,
165
167
  components: {
166
- p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align[i], ...props2 })
168
+ p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align2[i], ...props2 })
167
169
  },
168
170
  content: c.value
169
171
  }
170
172
  );
171
- }))), /* @__PURE__ */ React.createElement("tbody", null, rows.map((row, i) => {
173
+ }))), /* @__PURE__ */ React.createElement("tbody", null, rows2.map((row, i) => {
172
174
  var _a2;
173
- return /* @__PURE__ */ React.createElement(TrComponent, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
175
+ return /* @__PURE__ */ React.createElement(TrComponent2, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
174
176
  return /* @__PURE__ */ React.createElement(
175
177
  TinaMarkdown,
176
178
  {
177
179
  key: i2,
178
180
  components: {
179
- p: (props2) => /* @__PURE__ */ React.createElement(TdComponent, { align: align[i2], ...props2 })
181
+ p: (props2) => /* @__PURE__ */ React.createElement(TdComponent2, { align: align2[i2], ...props2 })
180
182
  },
181
183
  content: c.value
182
184
  }
@@ -191,6 +193,37 @@
191
193
  return /* @__PURE__ */ React.createElement("span", null, `No component provided for ${child.name}`);
192
194
  }
193
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
+ })));
194
227
  case "maybe_mdx":
195
228
  return null;
196
229
  case "html":
@@ -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":
@@ -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];
@@ -147,33 +149,33 @@ const Node = ({ components, child }) => {
147
149
  } else {
148
150
  if (child.name === "table") {
149
151
  const firstRowHeader = (_a = child.props) == null ? void 0 : _a.firstRowHeader;
150
- const rows = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
152
+ const rows2 = (firstRowHeader ? (_b = child.props) == null ? void 0 : _b.tableRows.filter((_, i) => i !== 0) : (_c = child.props) == null ? void 0 : _c.tableRows) || [];
151
153
  const header = (_e = (_d = child.props) == null ? void 0 : _d.tableRows) == null ? void 0 : _e.at(0);
152
- const TableComponent = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
153
- const TrComponent = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
154
+ const TableComponent2 = components["table"] || ((props2) => /* @__PURE__ */ React.createElement("table", { ...props2 }));
155
+ const TrComponent2 = components["tr"] || ((props2) => /* @__PURE__ */ React.createElement("tr", { ...props2 }));
154
156
  const ThComponent = components["th"] || ((props2) => /* @__PURE__ */ React.createElement("th", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
155
- const TdComponent = components["td"] || ((props2) => /* @__PURE__ */ React.createElement("td", { style: { textAlign: (props2 == null ? void 0 : props2.align) || "auto" }, ...props2 }));
156
- const align = ((_f = child.props) == null ? void 0 : _f.align) || [];
157
- return /* @__PURE__ */ React.createElement(TableComponent, null, firstRowHeader && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement(TrComponent, null, header.tableCells.map((c, i) => {
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) => {
158
160
  return /* @__PURE__ */ React.createElement(
159
161
  TinaMarkdown,
160
162
  {
161
163
  key: i,
162
164
  components: {
163
- p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align[i], ...props2 })
165
+ p: (props2) => /* @__PURE__ */ React.createElement(ThComponent, { align: align2[i], ...props2 })
164
166
  },
165
167
  content: c.value
166
168
  }
167
169
  );
168
- }))), /* @__PURE__ */ React.createElement("tbody", null, rows.map((row, i) => {
170
+ }))), /* @__PURE__ */ React.createElement("tbody", null, rows2.map((row, i) => {
169
171
  var _a2;
170
- return /* @__PURE__ */ React.createElement(TrComponent, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
172
+ return /* @__PURE__ */ React.createElement(TrComponent2, { key: i }, (_a2 = row == null ? void 0 : row.tableCells) == null ? void 0 : _a2.map((c, i2) => {
171
173
  return /* @__PURE__ */ React.createElement(
172
174
  TinaMarkdown,
173
175
  {
174
176
  key: i2,
175
177
  components: {
176
- p: (props2) => /* @__PURE__ */ React.createElement(TdComponent, { align: align[i2], ...props2 })
178
+ p: (props2) => /* @__PURE__ */ React.createElement(TdComponent2, { align: align2[i2], ...props2 })
177
179
  },
178
180
  content: c.value
179
181
  }
@@ -188,6 +190,37 @@ const Node = ({ components, child }) => {
188
190
  return /* @__PURE__ */ React.createElement("span", null, `No component provided for ${child.name}`);
189
191
  }
190
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
+ })));
191
224
  case "maybe_mdx":
192
225
  return null;
193
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"
@@ -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>>;