tinacms 0.0.0-e024aec-20250526035050 → 0.0.0-e1b6d05-20251114052813

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 (150) hide show
  1. package/dist/admin/api.d.ts +3 -0
  2. package/dist/admin/components/Page.d.ts +3 -9
  3. package/dist/admin/components/Sidebar.d.ts +0 -3
  4. package/dist/admin/pages/CollectionCreatePage.d.ts +1 -1
  5. package/dist/admin/pages/DashboardPage.d.ts +0 -3
  6. package/dist/admin/pages/ScreenPage.d.ts +0 -3
  7. package/dist/auth/AuthModal.d.ts +1 -4
  8. package/dist/auth/TinaCloudProvider.d.ts +0 -1
  9. package/dist/client.js +2 -2
  10. package/dist/client.mjs +2 -2
  11. package/dist/index.js +102643 -14901
  12. package/dist/index.mjs +102909 -15167
  13. package/dist/internalClient/index.d.ts +25 -0
  14. package/dist/react.d.ts +13 -6
  15. package/dist/react.js +60 -52
  16. package/dist/react.mjs +60 -52
  17. package/dist/rich-text/index.d.ts +6 -0
  18. package/dist/rich-text/index.js +18 -5
  19. package/dist/rich-text/index.mjs +18 -5
  20. package/dist/rich-text/static.d.ts +154 -0
  21. package/dist/rich-text/static.js +246 -0
  22. package/dist/rich-text/static.mjs +243 -0
  23. package/dist/tina-cms.d.ts +1 -1
  24. package/dist/toolkit/components/ProgressBar.d.ts +11 -0
  25. package/dist/toolkit/components/media/media-item.d.ts +11 -1
  26. package/dist/toolkit/components/ui/breadcrumb.d.ts +11 -0
  27. package/dist/toolkit/components/ui/dropdown-menu.d.ts +25 -0
  28. package/dist/toolkit/fields/components/password-field.d.ts +1 -1
  29. package/dist/toolkit/fields/components/reference/components/button.d.ts +2 -2
  30. package/dist/toolkit/fields/components/reference/components/command.d.ts +21 -33
  31. package/dist/toolkit/fields/components/reference/components/popover.d.ts +1 -1
  32. package/dist/toolkit/fields/components/reference/model/reference-link-props.d.ts +2 -0
  33. package/dist/toolkit/fields/components/select.d.ts +2 -2
  34. package/dist/toolkit/fields/components/text-field.d.ts +1 -1
  35. package/dist/toolkit/fields/plugins/group-field-plugin.d.ts +1 -1
  36. package/dist/toolkit/fields/plugins/group-list-field-plugin.d.ts +1 -0
  37. package/dist/toolkit/fields/plugins/list-field-meta.d.ts +1 -1
  38. package/dist/toolkit/fields/plugins/list-field-plugin.d.ts +1 -0
  39. package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +2 -2
  40. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/editor.d.ts +20 -18
  41. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/blockquote-element.d.ts +14 -10
  42. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/button.d.ts +5 -5
  43. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/code-block-element.d.ts +17 -0
  44. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/error-message.d.ts +6 -0
  45. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-combobox.d.ts +6 -0
  46. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-toolbar-button.d.ts +6 -6
  47. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-leaf.d.ts +2 -11
  48. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-line-element.d.ts +14 -10
  49. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-syntax-leaf.d.ts +2 -11
  50. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/command.d.ts +112 -0
  51. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dialog.d.ts +12 -0
  52. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dropdown-menu.d.ts +10 -10
  53. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/floating-toolbar.d.ts +2 -2
  54. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-element.d.ts +3 -0
  55. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-toolbar-button.d.ts +18 -0
  56. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/icons.d.ts +2 -1
  57. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/image-toolbar-button.d.ts +6 -6
  58. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +6 -19
  59. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/inline-combobox.d.ts +1 -1
  60. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/input.d.ts +3 -3
  61. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-element.d.ts +4 -11
  62. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-floating-toolbar.d.ts +4 -5
  63. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-toolbar-button.d.ts +4 -4
  64. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/list-element.d.ts +28 -11
  65. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-element.d.ts +3 -10
  66. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-toolbar-button.d.ts +6 -8
  67. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/paragraph-element.d.ts +15 -0
  68. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/popover.d.ts +7 -2
  69. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/quote-toolbar-button.d.ts +6 -6
  70. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/raw-markdown-toolbar-button.d.ts +6 -6
  71. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/resizable.d.ts +24 -21
  72. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/separator.d.ts +2 -2
  73. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/slash-input-element.d.ts +15 -11
  74. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/block-selection.d.ts +6 -0
  75. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-cell-element.d.ts +33 -0
  76. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/{table-dropdown-menu.d.ts → table/table-dropdown-menu.d.ts} +1 -0
  77. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-element.d.ts +20 -0
  78. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-row-element.d.ts +15 -0
  79. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/toolbar.d.ts +7 -7
  80. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-hook.d.ts +10 -0
  81. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-state.d.ts +22 -0
  82. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/hooks/use-create-editor.d.ts +6 -0
  83. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-block.d.ts +1 -1
  84. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-lists.d.ts +1 -1
  85. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-marks.d.ts +1 -1
  86. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-utils.d.ts +3 -5
  87. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/common.d.ts +11 -6
  88. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/formatting.d.ts +18 -2
  89. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/index.d.ts +0 -1
  90. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-html-block/index.d.ts +6 -0
  91. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-img-plugin/index.d.ts +2 -2
  92. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-invalid-markdown-plugin/index.d.ts +5 -5
  93. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/component.d.ts +7 -4
  94. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/index.d.ts +3 -5
  95. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/editor-plugins.d.ts +520 -0
  96. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +262 -207
  97. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/floating-toolbar-plugin.d.ts +1 -0
  98. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +1 -1
  99. package/dist/toolkit/form-builder/create-branch-modal.d.ts +13 -0
  100. package/dist/toolkit/form-builder/editorial-workflow-constants.d.ts +17 -0
  101. package/dist/toolkit/form-builder/fields-builder.d.ts +1 -1
  102. package/dist/toolkit/form-builder/form-builder.d.ts +4 -16
  103. package/dist/toolkit/form-builder/index.d.ts +1 -0
  104. package/dist/toolkit/forms/field.d.ts +3 -0
  105. package/dist/toolkit/forms/form.d.ts +22 -3
  106. package/dist/toolkit/git-client/git-client.d.ts +25 -2
  107. package/dist/toolkit/git-client/git-file.d.ts +18 -0
  108. package/dist/toolkit/git-client/git-media-store.d.ts +13 -0
  109. package/dist/toolkit/git-client/use-git-file.d.ts +4 -0
  110. package/dist/toolkit/icons/Tina.d.ts +0 -5
  111. package/dist/toolkit/icons/TinaExtended.d.ts +4 -0
  112. package/dist/toolkit/icons/index.d.ts +1 -0
  113. package/dist/toolkit/index.d.ts +1 -1
  114. package/dist/toolkit/plugin-branch-switcher/branch-button.d.ts +4 -1
  115. package/dist/toolkit/plugin-branch-switcher/index.d.ts +0 -1
  116. package/dist/toolkit/react-modals/modal/modal-actions.d.ts +2 -1
  117. package/dist/toolkit/react-modals/modal/modal-header.d.ts +1 -1
  118. package/dist/toolkit/react-sidebar/components/VersionInfo.d.ts +2 -0
  119. package/dist/toolkit/react-sidebar/components/badge.d.ts +5 -0
  120. package/dist/toolkit/react-sidebar/components/callout.d.ts +5 -0
  121. package/dist/toolkit/react-sidebar/components/form-list.d.ts +1 -1
  122. package/dist/toolkit/react-sidebar/components/local-warning.d.ts +3 -1
  123. package/dist/toolkit/react-sidebar/components/nav.d.ts +6 -3
  124. package/dist/toolkit/react-sidebar/components/resize-handle.d.ts +0 -5
  125. package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +3 -7
  126. package/dist/toolkit/react-sidebar/components/sidebar.d.ts +0 -7
  127. package/dist/toolkit/react-sidebar/components/sync-status.d.ts +5 -8
  128. package/dist/toolkit/react-sidebar/index.d.ts +1 -1
  129. package/dist/toolkit/styles/button.d.ts +2 -2
  130. package/dist/toolkit/styles/dropdown-button.d.ts +75 -0
  131. package/dist/toolkit/styles/index.d.ts +1 -0
  132. package/dist/toolkit/tina-state.d.ts +11 -0
  133. package/dist/utils/cn.d.ts +2 -0
  134. package/package.json +38 -25
  135. package/dist/admin/pages/IndexingPage.d.ts +0 -2
  136. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-element.d.ts +0 -11
  137. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-cell-element.d.ts +0 -27
  138. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-element.d.ts +0 -14
  139. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-row-element.d.ts +0 -13
  140. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/with-correct-void-behavior.d.ts +0 -8
  141. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-code-block/index.d.ts +0 -3
  142. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-link-plugin/index.d.ts +0 -15
  143. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/custom/mermaid-plugin.d.ts +0 -2
  144. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/create-soft-break-plugin.d.ts +0 -7
  145. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/index.d.ts +0 -6
  146. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/on-key-down-soft-break.d.ts +0 -5
  147. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/types.d.ts +0 -11
  148. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/index.d.ts +0 -11
  149. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/transforms/insert-empty-block.d.ts +0 -2
  150. package/dist/toolkit/plugin-branch-switcher/branch-banner.d.ts +0 -2
@@ -0,0 +1 @@
1
+ export declare const FloatingToolbarPlugin: import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"floating-toolbar", {}, {}, {}, {}>>;
@@ -1,4 +1,4 @@
1
- export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'strikethrough' | 'italic' | 'mermaid' | 'raw' | 'embed' | 'table';
1
+ export type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'strikethrough' | 'italic' | 'mermaid' | 'raw' | 'embed' | 'table' | 'hr';
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;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export declare const CreateBranchModal: ({ close, safeSubmit, path, values, crudType, }: {
3
+ safeSubmit: () => Promise<void>;
4
+ close: () => void;
5
+ path: string;
6
+ values: Record<string, unknown>;
7
+ crudType: string;
8
+ }) => React.JSX.Element;
9
+ export declare const PrefixedTextField: ({ label, prefix, ...props }: {
10
+ [x: string]: any;
11
+ label?: any;
12
+ prefix?: string;
13
+ }) => React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Editorial Workflow Status Constants
3
+ * These match the server-side constants in tinacloud/js/content-api/src/editorial-workflow.ts
4
+ */
5
+ export declare const EDITORIAL_WORKFLOW_STATUS: {
6
+ readonly QUEUED: "queued";
7
+ readonly PROCESSING: "processing";
8
+ readonly SETTING_UP: "setting_up";
9
+ readonly CREATING_BRANCH: "creating_branch";
10
+ readonly INDEXING: "indexing";
11
+ readonly CONTENT_GENERATION: "content_generation";
12
+ readonly CREATING_PR: "creating_pr";
13
+ readonly COMPLETE: "complete";
14
+ readonly ERROR: "error";
15
+ readonly TIMEOUT: "timeout";
16
+ };
17
+ export type EditorialWorkflowStatus = (typeof EDITORIAL_WORKFLOW_STATUS)[keyof typeof EDITORIAL_WORKFLOW_STATUS];
@@ -1,5 +1,5 @@
1
+ import { Field, Form } from '../forms';
1
2
  import * as React from 'react';
2
- import { Form, Field } from '../forms';
3
3
  export interface FieldsBuilderProps {
4
4
  form: Form;
5
5
  activeFieldName?: string;
@@ -1,6 +1,6 @@
1
+ import type { Form } from '../forms';
1
2
  import * as React from 'react';
2
3
  import { type FC } from 'react';
3
- import type { Form } from '../forms';
4
4
  export interface FormBuilderProps {
5
5
  form: {
6
6
  tinaForm: Form;
@@ -12,12 +12,11 @@ export interface FormBuilderProps {
12
12
  }
13
13
  export declare const FormBuilder: FC<FormBuilderProps>;
14
14
  export declare const FormStatus: ({ pristine }: {
15
- pristine: any;
15
+ pristine: boolean;
16
16
  }) => React.JSX.Element;
17
- export declare const FormWrapper: ({ header, children, id, }: {
18
- header?: React.ReactNode;
19
- children: React.ReactNode;
17
+ export declare const FormWrapper: ({ id, children, }: {
20
18
  id: string;
19
+ children: React.ReactNode;
21
20
  }) => React.JSX.Element;
22
21
  /**
23
22
  * @deprecated
@@ -30,14 +29,3 @@ export declare const CreateBranchModel: ({ close, safeSubmit, relativePath, valu
30
29
  values: Record<string, unknown>;
31
30
  crudType: string;
32
31
  }) => 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;
40
- export declare const PrefixedTextField: ({ prefix, ...props }: {
41
- [x: string]: any;
42
- prefix?: string;
43
- }) => React.JSX.Element;
@@ -7,4 +7,5 @@ export * from './form-portal';
7
7
  export * from './loading-dots';
8
8
  export * from './reset-form';
9
9
  export * from './form-actions';
10
+ export * from './create-branch-modal';
10
11
  export type { FieldRenderProps } from 'react-final-form';
@@ -1,3 +1,4 @@
1
+ import { Parser } from '@tinacms/schema-tools';
1
2
  export type AnyField = Field & {
2
3
  [key: string]: any;
3
4
  };
@@ -7,10 +8,12 @@ export interface Field<F extends Field = AnyField> {
7
8
  description?: string;
8
9
  component: React.FC<any> | string | null;
9
10
  inlineComponent?: React.FC<any>;
11
+ parser?: Parser;
10
12
  parse?: (value: any, name: string, field: F) => any;
11
13
  format?: (value: any, name: string, field: F) => any;
12
14
  validate?(value: any, allValues: any, meta: any, field: Field): string | object | undefined;
13
15
  defaultValue?: any;
16
+ namespace?: string[];
14
17
  fields?: F[];
15
18
  /**
16
19
  * Focus events can come from outside of the component, this is not
@@ -1,7 +1,7 @@
1
- import { FormApi, Config, FormState } from 'final-form';
2
- import type { FormSubscription } from 'final-form';
3
1
  import type { Plugin } from '../core';
4
- import { Field, AnyField } from './field';
2
+ import { Config, FormApi, FormState } from 'final-form';
3
+ import type { FormSubscription } from 'final-form';
4
+ import { AnyField, Field } from './field';
5
5
  export type { FormApi };
6
6
  type GlobalOptions = {
7
7
  global: true;
@@ -25,7 +25,16 @@ export interface FormOptions<S, F extends Field = AnyField> extends Config<S> {
25
25
  extraSubscribeValues?: FormSubscription;
26
26
  queries?: string[];
27
27
  crudType?: 'create' | 'update';
28
+ /**
29
+ * @deprecated
30
+ * Misleading name as per https://github.com/tinacms/tinacms/issues/5686#issuecomment-2899840518
31
+ * Use path property instead.
32
+ */
28
33
  relativePath?: string;
34
+ /**
35
+ * Where to save the form within the content directory on next submission.
36
+ */
37
+ path?: string;
29
38
  }
30
39
  export declare class Form<S = any, F extends Field = AnyField> implements Plugin {
31
40
  private _reset;
@@ -42,7 +51,16 @@ export declare class Form<S = any, F extends Field = AnyField> implements Plugin
42
51
  queries: string[];
43
52
  global: GlobalOptions | null;
44
53
  loading: boolean;
54
+ /**
55
+ * @deprecated
56
+ * Misleading name as per https://github.com/tinacms/tinacms/issues/5686#issuecomment-2899840518
57
+ * Use path property instead.
58
+ */
45
59
  relativePath: string;
60
+ /**
61
+ * Where to save the form within the content directory on next submission.
62
+ */
63
+ path: string;
46
64
  crudType?: 'create' | 'update';
47
65
  beforeSubmit?: (values: S) => Promise<void | S>;
48
66
  constructor({ id, label, fields, actions, buttons, global, reset, loadInitialValues, onChange, queries, ...options }: FormOptions<S, F>);
@@ -134,6 +152,7 @@ export declare class Form<S = any, F extends Field = AnyField> implements Plugin
134
152
  label?: string;
135
153
  name?: string;
136
154
  fields: Field[];
155
+ namespace?: string[];
137
156
  };
138
157
  private getFieldGroup;
139
158
  }
@@ -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,8 +1,3 @@
1
- /**
2
-
3
-
4
-
5
- */
6
1
  import * as React from 'react';
7
2
  export declare const TinaIcon: ({ ...props }: {
8
3
  [x: string]: any;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export declare const TinaExtendedIcon: ({ ...props }: {
3
+ [x: string]: any;
4
+ }) => React.JSX.Element;
@@ -52,3 +52,4 @@ export * from './Folder';
52
52
  export * from './File';
53
53
  export * from './Circle';
54
54
  export * from './CircleCheck';
55
+ export * from './TinaExtended';
@@ -19,7 +19,7 @@ export type { TinaState } from './tina-state';
19
19
  export * from './forms';
20
20
  export * from './icons';
21
21
  export * from './react-dismissible';
22
- export { Nav, LocalWarning, BillingWarning, SyncStatus, } from './react-sidebar';
22
+ export { Nav, LocalWarning, BillingWarning, SyncStatusButton, } from './react-sidebar';
23
23
  export { useCMS } from './react-core';
24
24
  /**
25
25
  * Custom `tinacms` things
@@ -1,2 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare const BranchButton: () => React.JSX.Element;
2
+ export declare const BranchButton: ({ className }: {
3
+ className?: string;
4
+ }) => React.JSX.Element;
5
+ export declare const BranchPreviewButton: (props: React.ButtonHTMLAttributes<HTMLButtonElement>) => React.JSX.Element;
@@ -2,5 +2,4 @@ export * from './plugin';
2
2
  export * from './types';
3
3
  export * from './branch-switcher';
4
4
  export * from './branch-data';
5
- export * from './branch-banner';
6
5
  export * from './branch-button';
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare const ModalActions: ({ children }: {
2
+ export declare const ModalActions: ({ align, children }: {
3
+ align?: string;
3
4
  children: any;
4
5
  }) => React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export interface ModalHeaderProps {
3
- children: React.ReactChild | React.ReactChild[];
3
+ children: React.ReactNode;
4
4
  close?(): void;
5
5
  }
6
6
  export declare const ModalHeader: ({ children, close }: ModalHeaderProps) => React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const VersionInfo: () => React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export declare const Badge: ({ children, calloutStyle, className, ...props }: {
3
+ children?: React.ReactNode;
4
+ calloutStyle?: "warning" | "info" | "success" | "error";
5
+ } & React.HTMLProps<HTMLDivElement>) => React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export declare const Callout: ({ children, calloutStyle, className, ...props }: {
3
+ children?: React.ReactNode;
4
+ calloutStyle?: "warning" | "info" | "success" | "error";
5
+ } & React.HTMLProps<HTMLDivElement>) => React.JSX.Element;
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import type { TinaState } from '../../tina-state';
2
+ import * as React from 'react';
3
3
  type FormListItem = TinaState['formLists'][number]['items'][number];
4
4
  export interface FormsListProps {
5
5
  formList: FormListItem[];
@@ -1,3 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare const LocalWarning: () => React.JSX.Element;
2
+ export declare const LocalWarning: ({ className }: {
3
+ className?: string;
4
+ }) => React.JSX.Element;
3
5
  export declare const BillingWarning: () => React.JSX.Element;
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- import type { ScreenPlugin } from '../../react-screens';
3
1
  import type { CloudConfigPlugin } from '../../react-cloud-config';
2
+ import type { ScreenPlugin } from '../../react-screens';
3
+ import * as React from 'react';
4
4
  interface NavCollection {
5
5
  label?: string;
6
6
  name: string;
@@ -8,6 +8,9 @@ interface NavCollection {
8
8
  }
9
9
  interface NavProps {
10
10
  isLocalMode: boolean;
11
+ showHamburger?: boolean;
12
+ menuIsOpen: boolean;
13
+ toggleMenu: () => void;
11
14
  children?: any;
12
15
  className?: string;
13
16
  userName?: string;
@@ -38,5 +41,5 @@ interface NavProps {
38
41
  };
39
42
  }>;
40
43
  }
41
- export declare const Nav: ({ isLocalMode, className, children, showCollections, collectionsInfo, screens, cloudConfigs, contentCreators, sidebarWidth, RenderNavSite, RenderNavCloud, RenderNavCollection, AuthRenderNavCollection, ...props }: NavProps) => React.JSX.Element;
44
+ export declare const Nav: ({ isLocalMode, showHamburger, menuIsOpen, toggleMenu, className, children, showCollections, collectionsInfo, screens, cloudConfigs, contentCreators, sidebarWidth, RenderNavSite, RenderNavCloud, RenderNavCollection, AuthRenderNavCollection, ...props }: NavProps) => React.JSX.Element;
42
45
  export {};
@@ -1,7 +1,2 @@
1
- /**
2
-
3
-
4
-
5
- */
6
1
  import * as React from 'react';
7
2
  export declare const ResizeHandle: () => React.JSX.Element;
@@ -4,13 +4,6 @@ export interface FormsViewProps {
4
4
  loadingPlaceholder?: React.FC;
5
5
  }
6
6
  export declare const FormsView: ({ loadingPlaceholder }?: FormsViewProps) => React.JSX.Element;
7
- export interface MultiformFormHeaderProps {
8
- activeForm: {
9
- activeFieldName?: string;
10
- tinaForm: Form;
11
- };
12
- }
13
- export declare const MultiformFormHeader: ({ activeForm, }: MultiformFormHeaderProps) => React.JSX.Element;
14
7
  export interface FormHeaderProps {
15
8
  activeForm: {
16
9
  activeFieldName?: string;
@@ -18,3 +11,6 @@ export interface FormHeaderProps {
18
11
  };
19
12
  }
20
13
  export declare const FormHeader: ({ activeForm }: FormHeaderProps) => React.JSX.Element;
14
+ export declare const FormBreadcrumbs: ({ rootBreadcrumbName, ...props }: {
15
+ rootBreadcrumbName?: string;
16
+ } & React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
@@ -3,7 +3,6 @@ import type { SidebarState, SidebarStateOptions } from '../sidebar';
3
3
  export declare const SidebarContext: React.Context<any>;
4
4
  export declare const minPreviewWidth = 440;
5
5
  export declare const minSidebarWidth = 360;
6
- export declare const navBreakpoint = 1279;
7
6
  export interface SidebarProviderProps {
8
7
  sidebar: SidebarState;
9
8
  resizingSidebar: boolean;
@@ -13,9 +12,3 @@ export interface SidebarProviderProps {
13
12
  defaultState?: SidebarStateOptions['defaultState'];
14
13
  }
15
14
  export declare function SidebarProvider({ position, resizingSidebar, setResizingSidebar, defaultWidth, sidebar, }: SidebarProviderProps): React.JSX.Element;
16
- export declare const updateBodyDisplacement: ({ position, displayState, sidebarWidth, resizingSidebar, }: {
17
- position?: string;
18
- displayState: any;
19
- sidebarWidth: any;
20
- resizingSidebar: any;
21
- }) => void;
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { TinaCMS } from '../../tina-cms';
2
+ import * as React from 'react';
3
3
  export declare const useGetEvents: (cms: TinaCMS, cursor?: string, existingEvents?: {
4
4
  message: string;
5
5
  id: string;
@@ -18,14 +18,11 @@ export declare const useGetEvents: (cms: TinaCMS, cursor?: string, existingEvent
18
18
  loading: boolean;
19
19
  error: Error;
20
20
  };
21
- export declare const SyncErrorWidget: ({ cms }: {
22
- cms: any;
23
- }) => React.JSX.Element;
24
21
  export declare const SyncStatusModal: ({ closeEventsModal, cms }: {
25
22
  closeEventsModal: any;
26
23
  cms: any;
27
24
  }) => React.JSX.Element;
28
- export declare const SyncStatus: ({ cms, setEventsOpen }: {
29
- cms: any;
30
- setEventsOpen: any;
31
- }) => React.JSX.Element;
25
+ export declare const SyncStatusButton: ({ cms, setEventsOpen, ...buttonProps }: {
26
+ cms: TinaCMS;
27
+ setEventsOpen: (open: boolean) => void;
28
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>) => React.JSX.Element;
@@ -2,4 +2,4 @@ export * from './sidebar';
2
2
  export { SidebarProvider } from './components/sidebar';
3
3
  export { Nav } from './components/nav';
4
4
  export { LocalWarning, BillingWarning } from './components/local-warning';
5
- export { SyncStatus } from './components/sync-status';
5
+ export { SyncStatusButton } from './components/sync-status';
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
2
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
- variant?: 'primary' | 'secondary' | 'white' | 'ghost' | 'danger';
3
+ variant?: 'primary' | 'secondary' | 'white' | 'ghost' | 'danger' | 'accent' | 'custom';
4
4
  as?: React.ElementType;
5
5
  href?: string;
6
6
  target?: string;
7
7
  size?: 'small' | 'medium' | 'custom';
8
8
  busy?: boolean;
9
- rounded?: 'full' | 'left' | 'right' | 'custom';
9
+ rounded?: 'full' | 'left' | 'right' | 'custom' | 'none';
10
10
  disabled?: boolean;
11
11
  className?: string;
12
12
  children?: React.ReactNode;
@@ -0,0 +1,75 @@
1
+ import * as React from 'react';
2
+ import { ButtonProps } from './button';
3
+ export interface DropdownButtonItem {
4
+ label: string;
5
+ onClick: () => void;
6
+ variant?: 'default' | 'destructive';
7
+ icon?: React.ReactNode;
8
+ disabled?: boolean;
9
+ }
10
+ export interface DropdownButtonProps extends Omit<ButtonProps, 'onClick'> {
11
+ /**
12
+ * The main action to perform when the button is clicked
13
+ */
14
+ onMainAction?: () => void;
15
+ /**
16
+ * Array of dropdown menu items
17
+ */
18
+ items: DropdownButtonItem[];
19
+ /**
20
+ * Whether to show the dropdown arrow in a split button style
21
+ * @default true
22
+ */
23
+ showSplitButton?: boolean;
24
+ /**
25
+ * Alignment of the dropdown menu
26
+ * @default 'end'
27
+ */
28
+ align?: 'start' | 'center' | 'end';
29
+ }
30
+ /**
31
+ * A button component that combines a primary action with a dropdown menu of additional options.
32
+ *
33
+ * This component follows the split-button pattern found in TinaCMS, where the main button
34
+ * performs a primary action and a small arrow button opens a dropdown menu with additional options.
35
+ *
36
+ * @example
37
+ * // Basic usage with split button
38
+ * <DropdownButton
39
+ * variant="primary"
40
+ * onMainAction={() => console.log('Save to new branch')}
41
+ * items={[
42
+ * { label: 'Save to protected branch', onClick: () => console.log('Protected') },
43
+ * { label: 'Save and publish', onClick: () => console.log('Publish') },
44
+ * ]}
45
+ * >
46
+ * Save to new branch
47
+ * </DropdownButton>
48
+ *
49
+ * @example
50
+ * // Dropdown-only button (no main action)
51
+ * <DropdownButton
52
+ * variant="secondary"
53
+ * showSplitButton={false}
54
+ * items={[
55
+ * { label: 'Save to new branch', onClick: () => console.log('New branch') },
56
+ * { label: 'Save to protected branch', onClick: () => console.log('Protected') },
57
+ * ]}
58
+ * >
59
+ * Save options
60
+ * </DropdownButton>
61
+ *
62
+ * @example
63
+ * // With icons and destructive action
64
+ * <DropdownButton
65
+ * variant="primary"
66
+ * onMainAction={() => console.log('Save')}
67
+ * items={[
68
+ * { label: 'Duplicate', onClick: () => console.log('Duplicate'), icon: <CopyIcon /> },
69
+ * { label: 'Delete', onClick: () => console.log('Delete'), variant: 'destructive', icon: <TrashIcon /> },
70
+ * ]}
71
+ * >
72
+ * Save
73
+ * </DropdownButton>
74
+ */
75
+ export declare const DropdownButton: React.ForwardRefExoticComponent<DropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -2,3 +2,4 @@ export * from './button';
2
2
  export * from './font-loader';
3
3
  export * from './overflow-menu';
4
4
  export * from './message';
5
+ export * from './dropdown-button';