tinacms 0.0.0-dced6ab-20250611061422 → 0.0.0-dde3eb3-20251028070343

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 (64) 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 +58270 -57117
  12. package/dist/index.mjs +58224 -57070
  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/static.d.ts +148 -0
  18. package/dist/rich-text/static.js +239 -0
  19. package/dist/rich-text/static.mjs +236 -0
  20. package/dist/tina-cms.d.ts +1 -1
  21. package/dist/toolkit/components/ProgressBar.d.ts +11 -0
  22. package/dist/toolkit/components/media/media-item.d.ts +11 -1
  23. package/dist/toolkit/components/ui/breadcrumb.d.ts +11 -0
  24. package/dist/toolkit/components/ui/dropdown-menu.d.ts +25 -0
  25. package/dist/toolkit/fields/components/password-field.d.ts +1 -1
  26. package/dist/toolkit/fields/components/reference/components/button.d.ts +1 -1
  27. package/dist/toolkit/fields/components/reference/components/popover.d.ts +1 -1
  28. package/dist/toolkit/fields/components/reference/model/reference-link-props.d.ts +2 -0
  29. package/dist/toolkit/fields/components/select.d.ts +2 -2
  30. package/dist/toolkit/fields/components/text-field.d.ts +1 -1
  31. package/dist/toolkit/fields/plugins/dnd-kit-wrapper.d.ts +49 -0
  32. package/dist/toolkit/fields/plugins/group-field-plugin.d.ts +1 -1
  33. package/dist/toolkit/fields/plugins/group-list-field-plugin.d.ts +1 -0
  34. package/dist/toolkit/fields/plugins/list-field-meta.d.ts +1 -1
  35. package/dist/toolkit/fields/plugins/list-field-plugin.d.ts +1 -0
  36. package/dist/toolkit/fields/plugins/mdx-field-plugin/index.d.ts +2 -2
  37. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-html-block/index.d.ts +4 -0
  38. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/editor-plugins.d.ts +2 -2
  39. package/dist/toolkit/form-builder/editorial-workflow-constants.d.ts +17 -0
  40. package/dist/toolkit/form-builder/fields-builder.d.ts +1 -1
  41. package/dist/toolkit/form-builder/form-builder.d.ts +4 -5
  42. package/dist/toolkit/forms/field.d.ts +3 -0
  43. package/dist/toolkit/forms/form.d.ts +22 -3
  44. package/dist/toolkit/icons/Tina.d.ts +0 -5
  45. package/dist/toolkit/index.d.ts +1 -1
  46. package/dist/toolkit/plugin-branch-switcher/branch-button.d.ts +1 -0
  47. package/dist/toolkit/plugin-branch-switcher/index.d.ts +0 -1
  48. package/dist/toolkit/react-modals/modal/modal-header.d.ts +1 -1
  49. package/dist/toolkit/react-sidebar/components/VersionInfo.d.ts +2 -0
  50. package/dist/toolkit/react-sidebar/components/badge.d.ts +5 -0
  51. package/dist/toolkit/react-sidebar/components/callout.d.ts +5 -0
  52. package/dist/toolkit/react-sidebar/components/form-list.d.ts +1 -1
  53. package/dist/toolkit/react-sidebar/components/nav.d.ts +6 -3
  54. package/dist/toolkit/react-sidebar/components/resize-handle.d.ts +0 -5
  55. package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +3 -7
  56. package/dist/toolkit/react-sidebar/components/sidebar.d.ts +0 -7
  57. package/dist/toolkit/react-sidebar/components/sync-status.d.ts +5 -8
  58. package/dist/toolkit/react-sidebar/index.d.ts +1 -1
  59. package/dist/toolkit/styles/button.d.ts +2 -2
  60. package/dist/toolkit/tina-state.d.ts +11 -0
  61. package/dist/utils/cn.d.ts +2 -0
  62. package/package.json +14 -7
  63. package/dist/admin/pages/IndexingPage.d.ts +0 -2
  64. package/dist/toolkit/plugin-branch-switcher/branch-banner.d.ts +0 -2
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ export interface DropResult {
3
+ destination: {
4
+ index: number;
5
+ } | null;
6
+ source: {
7
+ index: number;
8
+ };
9
+ type: string;
10
+ }
11
+ export interface DragDropContextProps {
12
+ onDragEnd: (result: DropResult) => void;
13
+ children: React.ReactNode;
14
+ }
15
+ export interface DroppableProps {
16
+ droppableId: string;
17
+ type: string;
18
+ children: (provided: {
19
+ innerRef: React.RefObject<HTMLDivElement>;
20
+ placeholder: React.ReactNode;
21
+ }) => React.ReactNode;
22
+ }
23
+ export interface DraggableProps {
24
+ draggableId: string;
25
+ index: number;
26
+ children: (provided: {
27
+ innerRef: React.RefObject<HTMLElement>;
28
+ draggableProps: {
29
+ style?: React.CSSProperties;
30
+ ref?: any;
31
+ [key: string]: any;
32
+ };
33
+ dragHandleProps: {
34
+ style?: React.CSSProperties;
35
+ [key: string]: any;
36
+ };
37
+ }, snapshot: {
38
+ isDragging: boolean;
39
+ }) => React.ReactNode;
40
+ }
41
+ export declare const DragDropContext: React.FC<DragDropContextProps>;
42
+ export declare const Droppable: React.FC<DroppableProps>;
43
+ export declare const Draggable: React.FC<DraggableProps>;
44
+ interface SortableProviderProps {
45
+ items: string[];
46
+ children: React.ReactNode;
47
+ }
48
+ export declare const SortableProvider: React.FC<SortableProviderProps>;
49
+ export {};
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { Field, Form } from '../../forms';
2
+ import * as React from 'react';
3
3
  export interface GroupFieldDefinititon extends Field {
4
4
  component: 'group';
5
5
  fields: Field[];
@@ -4,6 +4,7 @@ interface GroupFieldDefinititon extends Field {
4
4
  component: 'group';
5
5
  fields: Field[];
6
6
  defaultItem?: object | (() => object);
7
+ addItemBehavior?: 'append' | 'prepend';
7
8
  /**
8
9
  * An optional function which generates `props` for
9
10
  * this items's `li`.
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { Form } from '../../forms';
2
+ import * as React from 'react';
3
3
  interface FieldMetaProps extends React.HTMLAttributes<HTMLElement> {
4
4
  name: string;
5
5
  children: any;
@@ -10,6 +10,7 @@ interface ListFieldDefinititon extends Field {
10
10
  type?: string;
11
11
  list?: boolean;
12
12
  parentTypename?: string;
13
+ addItemBehavior?: 'append' | 'prepend';
13
14
  /**
14
15
  * An optional function which generates `props` for
15
16
  * this items's `li`.
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { type InputFieldType } from '../wrap-field-with-meta';
3
- import type { MdxTemplate } from './plate/types';
4
3
  import type { InputProps } from '../../../fields/components';
5
- import type { ToolbarOverrides, ToolbarOverrideType } from './plate/toolbar/toolbar-overrides';
4
+ import type { ToolbarOverrideType, ToolbarOverrides } from './plate/toolbar/toolbar-overrides';
5
+ import type { MdxTemplate } from './plate/types';
6
6
  export type RichTextType = React.PropsWithChildren<InputFieldType<InputProps, {
7
7
  templates: MdxTemplate[];
8
8
  toolbarOverride?: ToolbarOverrideType[];
@@ -1,2 +1,6 @@
1
1
  export declare const createHTMLBlockPlugin: import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html", {}, {}, {}, {}>>;
2
2
  export declare const createHTMLInlinePlugin: import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html_inline", {}, {}, {}, {}>>;
3
+ export declare const KEY_BLOCKQUOTE_ENTER_BREAK = "blockquote-enter-break";
4
+ export declare const createBlockquoteEnterBreakPlugin: import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"blockquote-enter-break", {}, {}, {}, {}>>;
5
+ export declare const ELEMENT_BREAK = "break";
6
+ export declare const createBreakPlugin: import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"break", {}, {}, {}, {}>>;
@@ -9,7 +9,7 @@ export declare const viewPlugins: readonly [import("@udecode/plate/react").Plate
9
9
  defaultLanguage?: string | null;
10
10
  lowlight?: ReturnType<typeof createLowlight> | null;
11
11
  }, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"blockquote", {}, {}, {}, {}>>];
12
- export declare const editorPlugins: readonly [import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"mdxJsxFlowElement", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"mdxJsxTextElement", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"img", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html_inline", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"invalid_markdown", {
12
+ export declare const editorPlugins: readonly [import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"mdxJsxFlowElement", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"mdxJsxTextElement", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"img", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"html_inline", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"blockquote-enter-break", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"invalid_markdown", {
13
13
  isElement: boolean;
14
14
  isVoid: boolean;
15
15
  isInline: boolean;
@@ -506,7 +506,7 @@ export declare const editorPlugins: readonly [import("@udecode/plate/react").Pla
506
506
  } & {
507
507
  level?: number;
508
508
  type?: string;
509
- } & import("@udecode/plate").QueryNodeOptions, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"floating-toolbar", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"autoformat", {
509
+ } & import("@udecode/plate").QueryNodeOptions, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"break", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"floating-toolbar", {}, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"autoformat", {
510
510
  enableUndoOnDelete?: boolean;
511
511
  rules?: AutoformatRule[];
512
512
  }, {}, {}, {}>>, import("@udecode/plate/react").PlatePlugin<import("@udecode/plate").PluginConfig<"exitBreak", {
@@ -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
@@ -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,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;
@@ -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,3 @@
1
1
  import * as React from 'react';
2
2
  export declare const BranchButton: () => React.JSX.Element;
3
+ 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,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,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;
@@ -15,6 +15,12 @@ type FormList = {
15
15
  items: FormListItem[];
16
16
  formIds: string[];
17
17
  };
18
+ type Breadcrumb = {
19
+ label: string;
20
+ formId: string;
21
+ formName: string;
22
+ namespace: string[];
23
+ };
18
24
  export type TinaAction = {
19
25
  type: 'forms:add';
20
26
  value: Form;
@@ -63,6 +69,7 @@ export type TinaAction = {
63
69
  value: boolean;
64
70
  };
65
71
  export interface TinaState {
72
+ breadcrumbs: Breadcrumb[];
66
73
  activeFormId: string | null;
67
74
  /**
68
75
  * Forms are wrapped here because we need `activeFieldName` to be reactive, so adding it as a propery
@@ -85,4 +92,8 @@ export interface TinaState {
85
92
  }
86
93
  export declare const initialState: (cms: TinaCMS) => TinaState;
87
94
  export declare function tinaReducer(state: TinaState, action: TinaAction): TinaState;
95
+ export declare function calculateBreadcrumbs(forms: {
96
+ activeFieldName?: string | null;
97
+ tinaForm: Form;
98
+ }[], activeFormId: string, activeFieldName?: string): Breadcrumb[];
88
99
  export {};
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinacms",
3
- "version": "0.0.0-dced6ab-20250611061422",
3
+ "version": "0.0.0-dde3eb3-20251028070343",
4
4
  "main": "dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "exports": {
@@ -29,6 +29,11 @@
29
29
  "import": "./dist/rich-text/index.mjs",
30
30
  "require": "./dist/rich-text/index.js"
31
31
  },
32
+ "./dist/rich-text/static": {
33
+ "types": "./dist/rich-text/static.d.ts",
34
+ "import": "./dist/rich-text/static.mjs",
35
+ "require": "./dist/rich-text/static.js"
36
+ },
32
37
  "./dist/rich-text/prism": {
33
38
  "types": "./dist/rich-text/prism.d.ts",
34
39
  "import": "./dist/rich-text/prism.mjs",
@@ -42,6 +47,7 @@
42
47
  "entryPoints": [
43
48
  "src/index.ts",
44
49
  "src/rich-text/index.tsx",
50
+ "src/rich-text/static.tsx",
45
51
  "src/rich-text/prism.tsx",
46
52
  "src/react.tsx",
47
53
  "src/client.ts"
@@ -121,7 +127,9 @@
121
127
  "monaco-editor": "0.31.0",
122
128
  "prism-react-renderer": "^2.4.1",
123
129
  "prop-types": "15.7.2",
124
- "react-beautiful-dnd": "^13.1.1",
130
+ "@dnd-kit/core": "^6.1.0",
131
+ "@dnd-kit/sortable": "^8.0.0",
132
+ "@dnd-kit/utilities": "^3.2.2",
125
133
  "react-color": "^2.19.3",
126
134
  "react-datetime": "^3.3.1",
127
135
  "react-dropzone": "14.2.3",
@@ -133,9 +141,9 @@
133
141
  "webfontloader": "1.6.28",
134
142
  "yup": "^1.6.1",
135
143
  "zod": "^3.24.2",
136
- "@tinacms/mdx": "0.0.0-dced6ab-20250611061422",
137
- "@tinacms/schema-tools": "0.0.0-dced6ab-20250611061422",
138
- "@tinacms/search": "0.0.0-dced6ab-20250611061422"
144
+ "@tinacms/mdx": "0.0.0-dde3eb3-20251028070343",
145
+ "@tinacms/schema-tools": "0.0.0-dde3eb3-20251028070343",
146
+ "@tinacms/search": "0.0.0-dde3eb3-20251028070343"
139
147
  },
140
148
  "devDependencies": {
141
149
  "@graphql-tools/utils": "^10.8.1",
@@ -151,7 +159,6 @@
151
159
  "@types/node": "^22.13.1",
152
160
  "@types/prop-types": "^15.7.14",
153
161
  "@types/react": "^18.3.18",
154
- "@types/react-beautiful-dnd": "^13.1.8",
155
162
  "@types/react-color": "^3.0.13",
156
163
  "@types/react-dom": "^18.3.5",
157
164
  "@types/yup": "^0.32.0",
@@ -169,7 +176,7 @@
169
176
  "typescript": "^5.7.3",
170
177
  "vite": "^5.4.14",
171
178
  "vitest": "^2.1.9",
172
- "@tinacms/scripts": "0.0.0-dced6ab-20250611061422"
179
+ "@tinacms/scripts": "0.0.0-dde3eb3-20251028070343"
173
180
  },
174
181
  "peerDependencies": {
175
182
  "react": ">=16.14.0",
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const IndexingPage: FC;
@@ -1,2 +0,0 @@
1
- import * as React from 'react';
2
- export declare const BranchBanner: () => React.JSX.Element;