tinacms 0.0.0-c0f1b7d-20250702023438 → 0.0.0-c19d29e-20251224001156

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 (156) hide show
  1. package/dist/admin/api.d.ts +4 -1
  2. package/dist/auth/AuthModal.d.ts +1 -4
  3. package/dist/auth/TinaCloudProvider.d.ts +0 -1
  4. package/dist/cache/node-cache.d.ts +6 -2
  5. package/dist/client.js +240 -181
  6. package/dist/index.js +122442 -34450
  7. package/dist/internalClient/index.d.ts +42 -30
  8. package/dist/react.js +297 -204
  9. package/dist/rich-text/index.d.ts +6 -0
  10. package/dist/rich-text/index.js +234 -224
  11. package/dist/rich-text/prism.js +16 -18
  12. package/dist/rich-text/static.d.ts +6 -0
  13. package/dist/rich-text/static.js +229 -225
  14. package/dist/tina-cms.d.ts +1 -1
  15. package/dist/toolkit/components/ProgressBar.d.ts +11 -0
  16. package/dist/toolkit/components/active-field-indicator.d.ts +1 -0
  17. package/dist/toolkit/components/media/media-item.d.ts +10 -0
  18. package/dist/toolkit/components/ui/button.d.ts +11 -0
  19. package/dist/toolkit/components/ui/calendar.d.ts +8 -0
  20. package/dist/toolkit/components/ui/date-time-picker.d.ts +111 -0
  21. package/dist/toolkit/components/ui/input.d.ts +3 -0
  22. package/dist/toolkit/components/ui/popover.d.ts +7 -0
  23. package/dist/toolkit/components/ui/select.d.ts +13 -0
  24. package/dist/toolkit/fields/components/color-picker/block-widget.d.ts +3 -0
  25. package/dist/toolkit/fields/components/color-picker/color-input.d.ts +35 -0
  26. package/dist/toolkit/fields/components/color-picker/color-picker.d.ts +6 -2
  27. package/dist/toolkit/fields/components/color-picker/color-utils.d.ts +37 -0
  28. package/dist/toolkit/fields/components/color-picker/sketch-widget.d.ts +3 -0
  29. package/dist/toolkit/fields/components/password-field.d.ts +1 -1
  30. package/dist/toolkit/fields/components/reference/components/button.d.ts +1 -1
  31. package/dist/toolkit/fields/components/reference/components/command.d.ts +21 -33
  32. package/dist/toolkit/fields/components/select.d.ts +1 -1
  33. package/dist/toolkit/fields/components/text-field.d.ts +1 -1
  34. package/dist/toolkit/fields/plugins/button-toggle-field-plugin.d.ts +2 -2
  35. package/dist/toolkit/fields/plugins/checkbox-group-field-plugin.d.ts +2 -2
  36. package/dist/toolkit/fields/plugins/color-field-plugin.d.ts +1 -0
  37. package/dist/toolkit/fields/plugins/date-field-plugin.d.ts +0 -2
  38. package/dist/toolkit/fields/plugins/dnd-kit-wrapper.d.ts +49 -0
  39. package/dist/toolkit/fields/plugins/group-list-field-plugin.d.ts +3 -1
  40. package/dist/toolkit/fields/plugins/list-field-plugin.d.ts +3 -0
  41. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/editor.d.ts +20 -18
  42. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/blockquote-element.d.ts +14 -10
  43. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/button.d.ts +5 -5
  44. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/code-block-element.d.ts +17 -0
  45. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block/error-message.d.ts +6 -0
  46. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-combobox.d.ts +6 -0
  47. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-toolbar-button.d.ts +6 -6
  48. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-leaf.d.ts +2 -11
  49. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-line-element.d.ts +14 -10
  50. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-syntax-leaf.d.ts +2 -11
  51. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/command.d.ts +112 -0
  52. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dialog.d.ts +12 -0
  53. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/dropdown-menu.d.ts +10 -10
  54. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/floating-toolbar.d.ts +2 -2
  55. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-element.d.ts +3 -0
  56. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/hr-toolbar-button.d.ts +18 -0
  57. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/icons.d.ts +2 -1
  58. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/image-toolbar-button.d.ts +6 -6
  59. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/indent-list-toolbar-button.d.ts +6 -19
  60. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/inline-combobox.d.ts +1 -1
  61. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/input.d.ts +3 -3
  62. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-element.d.ts +4 -11
  63. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-floating-toolbar.d.ts +4 -5
  64. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/link-toolbar-button.d.ts +4 -4
  65. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/list-element.d.ts +28 -11
  66. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-element.d.ts +3 -10
  67. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/mermaid-toolbar-button.d.ts +6 -8
  68. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/paragraph-element.d.ts +15 -0
  69. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/popover.d.ts +7 -2
  70. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/quote-toolbar-button.d.ts +6 -6
  71. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/raw-markdown-toolbar-button.d.ts +6 -6
  72. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/resizable.d.ts +24 -21
  73. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/separator.d.ts +2 -2
  74. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/slash-input-element.d.ts +15 -11
  75. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/block-selection.d.ts +6 -0
  76. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-cell-element.d.ts +33 -0
  77. 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
  78. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-element.d.ts +20 -0
  79. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table/table-row-element.d.ts +15 -0
  80. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/toolbar.d.ts +7 -7
  81. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-hook.d.ts +10 -0
  82. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/use-floating-toolbar-state.d.ts +22 -0
  83. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/hooks/use-create-editor.d.ts +6 -0
  84. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-block.d.ts +1 -1
  85. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-lists.d.ts +1 -1
  86. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-marks.d.ts +1 -1
  87. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/autoformat/autoformat-utils.d.ts +3 -5
  88. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/common.d.ts +11 -6
  89. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/formatting.d.ts +18 -2
  90. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/index.d.ts +0 -1
  91. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-html-block/index.d.ts +6 -0
  92. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-img-plugin/index.d.ts +2 -2
  93. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-invalid-markdown-plugin/index.d.ts +5 -5
  94. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/component.d.ts +7 -4
  95. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-mdx-plugins/index.d.ts +3 -5
  96. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/editor-plugins.d.ts +520 -0
  97. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/components.d.ts +263 -207
  98. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/floating-toolbar-plugin.d.ts +1 -0
  99. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/toolbar/toolbar-overrides.d.ts +1 -1
  100. package/dist/toolkit/fields/plugins/radio-group-field-plugin.d.ts +2 -2
  101. package/dist/toolkit/fields/plugins/select-field-plugin.d.ts +2 -2
  102. package/dist/toolkit/fields/plugins/toggle-field-plugin.d.ts +2 -2
  103. package/dist/toolkit/fields/plugins/wrap-field-with-meta.d.ts +6 -2
  104. package/dist/toolkit/form-builder/create-branch-modal.d.ts +13 -0
  105. package/dist/toolkit/form-builder/editorial-workflow-constants.d.ts +17 -0
  106. package/dist/toolkit/form-builder/fields-builder.d.ts +2 -1
  107. package/dist/toolkit/form-builder/form-builder.d.ts +1 -11
  108. package/dist/toolkit/form-builder/index.d.ts +1 -0
  109. package/dist/toolkit/forms/field.d.ts +3 -2
  110. package/dist/toolkit/icons/TinaExtended.d.ts +4 -0
  111. package/dist/toolkit/icons/index.d.ts +1 -0
  112. package/dist/toolkit/index.d.ts +1 -1
  113. package/dist/toolkit/plugin-branch-switcher/branch-button.d.ts +3 -1
  114. package/dist/toolkit/react-modals/modal/modal-actions.d.ts +2 -1
  115. package/dist/toolkit/react-modals/modal/modal-header.d.ts +1 -1
  116. package/dist/toolkit/react-sidebar/components/NavMenuTrigger.d.ts +11 -0
  117. package/dist/toolkit/react-sidebar/components/badge.d.ts +6 -0
  118. package/dist/toolkit/react-sidebar/components/callout.d.ts +5 -0
  119. package/dist/toolkit/react-sidebar/components/local-warning.d.ts +3 -1
  120. package/dist/toolkit/react-sidebar/components/nav-components.d.ts +11 -0
  121. package/dist/toolkit/react-sidebar/components/nav-context.d.ts +15 -0
  122. package/dist/toolkit/react-sidebar/components/nav.d.ts +3 -2
  123. package/dist/toolkit/react-sidebar/components/sidebar-body.d.ts +26 -1
  124. package/dist/toolkit/react-sidebar/index.d.ts +3 -0
  125. package/dist/toolkit/styles/button.d.ts +1 -1
  126. package/dist/toolkit/styles/dropdown-button.d.ts +75 -0
  127. package/dist/toolkit/styles/index.d.ts +1 -0
  128. package/dist/toolkit/tina-state.d.ts +42 -16
  129. package/dist/unifiedClient/index.d.ts +1 -1
  130. package/dist/utils/index.d.ts +1 -0
  131. package/package.json +56 -87
  132. package/dist/admin/pages/IndexingPage.d.ts +0 -2
  133. package/dist/client.mjs +0 -132
  134. package/dist/index.mjs +0 -35827
  135. package/dist/node-cache-5e8db9f0.mjs +0 -63
  136. package/dist/react.mjs +0 -252
  137. package/dist/rich-text/index.mjs +0 -243
  138. package/dist/rich-text/prism.mjs +0 -16
  139. package/dist/rich-text/static.mjs +0 -236
  140. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/code-block-element.d.ts +0 -11
  141. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-cell-element.d.ts +0 -27
  142. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-element.d.ts +0 -14
  143. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/components/plate-ui/table-row-element.d.ts +0 -13
  144. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/core/with-correct-void-behavior.d.ts +0 -8
  145. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-code-block/index.d.ts +0 -3
  146. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/create-link-plugin/index.d.ts +0 -15
  147. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/custom/mermaid-plugin.d.ts +0 -2
  148. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/create-soft-break-plugin.d.ts +0 -7
  149. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/index.d.ts +0 -6
  150. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/on-key-down-soft-break.d.ts +0 -5
  151. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/soft-break/types.d.ts +0 -11
  152. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/plugins/ui/code-block/index.d.ts +0 -11
  153. package/dist/toolkit/fields/plugins/mdx-field-plugin/plate/transforms/insert-empty-block.d.ts +0 -2
  154. package/dist/toolkit/react-datetime/DateTime.d.ts +0 -135
  155. package/dist/toolkit/react-sidebar/components/alert.d.ts +0 -5
  156. /package/dist/admin/components/{Sidebar.d.ts → AdminNav.d.ts} +0 -0
@@ -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;
@@ -1,6 +1,6 @@
1
- export declare const RadioGroupField: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").RadioGroupProps, {}>) => import("react").JSX.Element;
1
+ export declare const RadioGroupField: (props: import("./wrap-field-with-meta").InputFieldType<import("..").RadioGroupProps, {}>) => import("react").JSX.Element;
2
2
  export declare const RadioGroupFieldPlugin: {
3
3
  name: string;
4
- Component: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").RadioGroupProps, {}>) => import("react").JSX.Element;
4
+ Component: (props: import("./wrap-field-with-meta").InputFieldType<import("..").RadioGroupProps, {}>) => import("react").JSX.Element;
5
5
  validate(value: any, values: any, meta: any, field: any): string;
6
6
  };
@@ -1,8 +1,8 @@
1
- export declare const SelectField: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").SelectProps, {}>) => import("react").JSX.Element;
1
+ export declare const SelectField: (props: import("./wrap-field-with-meta").InputFieldType<import("..").SelectProps, {}>) => import("react").JSX.Element;
2
2
  export declare const SelectFieldPlugin: {
3
3
  name: string;
4
4
  type: string;
5
- Component: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").SelectProps, {}>) => import("react").JSX.Element;
5
+ Component: (props: import("./wrap-field-with-meta").InputFieldType<import("..").SelectProps, {}>) => import("react").JSX.Element;
6
6
  parse: (value?: string) => string;
7
7
  validate(value: any, values: any, meta: any, field: any): string;
8
8
  };
@@ -1,7 +1,7 @@
1
- export declare const ToggleField: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").ToggleProps, {}>) => import("react").JSX.Element;
1
+ export declare const ToggleField: (props: import("./wrap-field-with-meta").InputFieldType<import("..").ToggleProps, {}>) => import("react").JSX.Element;
2
2
  export declare const ToggleFieldPlugin: {
3
3
  name: string;
4
4
  type: string;
5
- Component: (props: import("./wrap-field-with-meta").InputFieldType<import("../components").ToggleProps, {}>) => import("react").JSX.Element;
5
+ Component: (props: import("./wrap-field-with-meta").InputFieldType<import("..").ToggleProps, {}>) => import("react").JSX.Element;
6
6
  validate(value: any, values: any, meta: any, field: any): string;
7
7
  };
@@ -21,11 +21,15 @@ interface FieldMetaProps extends React.HTMLAttributes<HTMLElement> {
21
21
  margin?: boolean;
22
22
  index?: number;
23
23
  tinaForm: Form;
24
+ focusIntent?: boolean;
25
+ hoverIntent?: boolean;
24
26
  }
25
- export declare const FieldMeta: ({ name, label, description, error, margin, children, index, tinaForm, ...props }: FieldMetaProps) => React.JSX.Element;
26
- export declare const FieldWrapper: ({ margin, children, ...props }: {
27
+ export declare const FieldMeta: ({ name, label, description, error, margin, children, index, tinaForm, focusIntent, hoverIntent, ...props }: FieldMetaProps) => React.JSX.Element;
28
+ export declare const FieldWrapper: ({ margin, children, "data-tina-field-active": dataActive, "data-tina-field-hovering": dataHovering, ...restProps }: {
27
29
  margin: boolean;
28
30
  children: React.ReactNode;
31
+ "data-tina-field-active"?: string;
32
+ "data-tina-field-hovering"?: string;
29
33
  } & Partial<React.ComponentPropsWithoutRef<"div">>) => React.JSX.Element;
30
34
  export interface FieldLabel extends React.HTMLAttributes<HTMLLabelElement> {
31
35
  children?: any | any[];
@@ -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];
@@ -3,10 +3,11 @@ import * as React from 'react';
3
3
  export interface FieldsBuilderProps {
4
4
  form: Form;
5
5
  activeFieldName?: string;
6
+ hoveringFieldName?: string;
6
7
  fields: Field[];
7
8
  padding?: boolean;
8
9
  }
9
- export declare function FieldsBuilder({ form, fields, activeFieldName, padding, }: FieldsBuilderProps): React.JSX.Element;
10
+ export declare function FieldsBuilder({ form, fields, activeFieldName, hoveringFieldName, padding, }: FieldsBuilderProps): React.JSX.Element;
10
11
  export declare const FieldsGroup: ({ padding, children, }: {
11
12
  padding?: boolean;
12
13
  children?: any | any[];
@@ -5,6 +5,7 @@ export interface FormBuilderProps {
5
5
  form: {
6
6
  tinaForm: Form;
7
7
  activeFieldName?: string;
8
+ hoveringFieldName?: string;
8
9
  };
9
10
  hideFooter?: boolean;
10
11
  label?: string;
@@ -29,14 +30,3 @@ export declare const CreateBranchModel: ({ close, safeSubmit, relativePath, valu
29
30
  values: Record<string, unknown>;
30
31
  crudType: string;
31
32
  }) => React.JSX.Element;
32
- export declare const CreateBranchModal: ({ close, safeSubmit, path, values, crudType, }: {
33
- safeSubmit: () => Promise<void>;
34
- close: () => void;
35
- path: string;
36
- values: Record<string, unknown>;
37
- crudType: string;
38
- }) => React.JSX.Element;
39
- export declare const PrefixedTextField: ({ prefix, ...props }: {
40
- [x: string]: any;
41
- prefix?: string;
42
- }) => 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';
@@ -20,9 +20,10 @@ export interface Field<F extends Field = AnyField> {
20
20
  * a guarantee that the given field will receive focus since that functionality
21
21
  * needs to be built on a per-component basis.
22
22
  *
23
- * This is also a one-way stree. The "active field" for a given form isn't
23
+ * This is also a one-way street. The "active field" for a given form isn't
24
24
  * necessarily updated when a user clicks on a new field. So you can have a
25
25
  * field which is marked as the active field, and have focus on another field
26
26
  */
27
- experimental_focusIntent?: boolean;
27
+ focusIntent?: boolean;
28
+ hoverIntent?: boolean;
28
29
  }
@@ -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, SyncStatusButton, } from './react-sidebar';
22
+ export { Nav, NavCloudLink, NavProvider, NavMenuTrigger, useNav, LocalWarning, BillingWarning, SyncStatusButton, } from './react-sidebar';
23
23
  export { useCMS } from './react-core';
24
24
  /**
25
25
  * Custom `tinacms` things
@@ -1,3 +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;
3
5
  export declare const BranchPreviewButton: (props: React.ButtonHTMLAttributes<HTMLButtonElement>) => React.JSX.Element;
@@ -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,11 @@
1
+ import React from 'react';
2
+ interface NavMenuTriggerProps {
3
+ className?: string;
4
+ label?: string;
5
+ }
6
+ /**
7
+ * A button component that triggers the navigation menu
8
+ * Can be used anywhere within the NavProvider hierarchy
9
+ */
10
+ export declare const NavMenuTrigger: React.FC<NavMenuTriggerProps>;
11
+ export {};
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ export declare const Badge: ({ children, calloutStyle, className, displayIcon, ...props }: {
3
+ children?: React.ReactNode;
4
+ calloutStyle?: "warning" | "info" | "success" | "error";
5
+ displayIcon?: boolean;
6
+ } & 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,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;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { CloudConfigPlugin } from '../../react-cloud-config';
3
+ interface NavCloudLinkProps {
4
+ config: CloudConfigPlugin;
5
+ }
6
+ /**
7
+ * Shared component for rendering cloud configuration links
8
+ * Used across both admin and sidebar navigation
9
+ */
10
+ export declare const NavCloudLink: React.FC<NavCloudLinkProps>;
11
+ export {};
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface NavContextValue {
3
+ menuIsOpen: boolean;
4
+ toggleMenu: () => void;
5
+ openMenu: () => void;
6
+ closeMenu: () => void;
7
+ }
8
+ export declare const NavContext: React.Context<NavContextValue>;
9
+ export declare const useNav: () => NavContextValue;
10
+ interface NavProviderProps {
11
+ children: ReactNode;
12
+ defaultOpen?: boolean;
13
+ }
14
+ export declare const NavProvider: React.FC<NavProviderProps>;
15
+ export {};
@@ -9,7 +9,8 @@ interface NavCollection {
9
9
  interface NavProps {
10
10
  isLocalMode: boolean;
11
11
  showHamburger?: boolean;
12
- toggleMenu: () => void;
12
+ menuIsOpen?: boolean;
13
+ toggleMenu?: () => void;
13
14
  children?: any;
14
15
  className?: string;
15
16
  userName?: string;
@@ -40,5 +41,5 @@ interface NavProps {
40
41
  };
41
42
  }>;
42
43
  }
43
- export declare const Nav: ({ isLocalMode, showHamburger, toggleMenu, 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: menuIsOpenProp, toggleMenu: toggleMenuProp, className, children, showCollections, collectionsInfo, screens, cloudConfigs, contentCreators, sidebarWidth, RenderNavSite, RenderNavCloud, RenderNavCollection, AuthRenderNavCollection, ...props }: NavProps) => React.JSX.Element;
44
45
  export {};
@@ -9,8 +9,33 @@ export interface FormHeaderProps {
9
9
  activeFieldName?: string;
10
10
  tinaForm: Form;
11
11
  };
12
+ branch?: string;
13
+ isLocalMode?: boolean;
14
+ repoProvider?: {
15
+ defaultBranchName?: string;
16
+ historyUrl?: (context: {
17
+ relativePath: string;
18
+ branch: string;
19
+ }) => {
20
+ url: string;
21
+ };
22
+ };
23
+ }
24
+ export declare const FormHeader: ({ activeForm, repoProvider, branch, isLocalMode, }: FormHeaderProps) => React.JSX.Element;
25
+ interface RepositoryProviderProps {
26
+ contentRelativePath: string;
27
+ tinaBranch?: string;
28
+ isLocalMode?: boolean;
29
+ defaultBranchName?: string;
30
+ historyUrl?: (context: {
31
+ relativePath: string;
32
+ branch: string;
33
+ }) => {
34
+ url: string;
35
+ };
12
36
  }
13
- export declare const FormHeader: ({ activeForm }: FormHeaderProps) => React.JSX.Element;
37
+ export declare const FileHistoryProvider: ({ contentRelativePath, tinaBranch, defaultBranchName, historyUrl, isLocalMode, }: RepositoryProviderProps) => React.JSX.Element;
14
38
  export declare const FormBreadcrumbs: ({ rootBreadcrumbName, ...props }: {
15
39
  rootBreadcrumbName?: string;
16
40
  } & React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
41
+ export {};
@@ -3,3 +3,6 @@ export { SidebarProvider } from './components/sidebar';
3
3
  export { Nav } from './components/nav';
4
4
  export { LocalWarning, BillingWarning } from './components/local-warning';
5
5
  export { SyncStatusButton } from './components/sync-status';
6
+ export { NavCloudLink } from './components/nav-components';
7
+ export { NavProvider, useNav } from './components/nav-context';
8
+ export { NavMenuTrigger } from './components/NavMenuTrigger';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
- variant?: 'primary' | 'secondary' | 'white' | 'ghost' | 'danger' | 'custom';
3
+ variant?: 'primary' | 'secondary' | 'white' | 'ghost' | 'danger' | 'accent' | 'custom';
4
4
  as?: React.ElementType;
5
5
  href?: string;
6
6
  target?: string;
@@ -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';
@@ -1,5 +1,24 @@
1
1
  import { Form } from './react-tinacms';
2
2
  import { TinaCMS } from './tina-cms';
3
+ export declare const ACTION_TYPES: {
4
+ readonly FORMS_ADD: "forms:add";
5
+ readonly FORMS_REMOVE: "forms:remove";
6
+ readonly FORMS_CLEAR: "forms:clear";
7
+ readonly FORMS_SET_ACTIVE_FORM_ID: "forms:set-active-form-id";
8
+ readonly FORMS_SET_ACTIVE_FIELD_NAME: "forms:set-active-field-name";
9
+ readonly FORMS_SET_HOVERED_FIELD_NAME: "forms:set-hovered-field-name";
10
+ readonly FORM_LISTS_ADD: "form-lists:add";
11
+ readonly FORM_LISTS_REMOVE: "form-lists:remove";
12
+ readonly FORM_LISTS_CLEAR: "form-lists:clear";
13
+ readonly SET_EDIT_MODE: "set-edit-mode";
14
+ readonly INCREMENT_OPERATION_INDEX: "increment-operation-index";
15
+ readonly SET_QUICK_EDITING_SUPPORTED: "set-quick-editing-supported";
16
+ readonly SET_QUICK_EDITING_ENABLED: "set-quick-editing-enabled";
17
+ readonly TOGGLE_QUICK_EDITING_ENABLED: "toggle-quick-editing-enabled";
18
+ readonly TOGGLE_EDIT_STATE: "toggle-edit-state";
19
+ readonly SIDEBAR_SET_DISPLAY_STATE: "sidebar:set-display-state";
20
+ readonly SIDEBAR_SET_LOADING_STATE: "sidebar:set-loading-state";
21
+ };
3
22
  type FormListItem = {
4
23
  type: 'document';
5
24
  path: string;
@@ -22,50 +41,56 @@ type Breadcrumb = {
22
41
  namespace: string[];
23
42
  };
24
43
  export type TinaAction = {
25
- type: 'forms:add';
44
+ type: typeof ACTION_TYPES.FORMS_ADD;
26
45
  value: Form;
27
46
  } | {
28
- type: 'forms:remove';
47
+ type: typeof ACTION_TYPES.FORMS_REMOVE;
29
48
  value: string;
30
49
  } | {
31
- type: 'forms:clear';
50
+ type: typeof ACTION_TYPES.FORMS_CLEAR;
32
51
  } | {
33
- type: 'form-lists:add';
52
+ type: typeof ACTION_TYPES.FORM_LISTS_ADD;
34
53
  value: FormList;
35
54
  } | {
36
- type: 'form-lists:remove';
55
+ type: typeof ACTION_TYPES.FORM_LISTS_REMOVE;
37
56
  value: string;
38
57
  } | {
39
- type: 'forms:set-active-form-id';
58
+ type: typeof ACTION_TYPES.FORMS_SET_ACTIVE_FORM_ID;
40
59
  value: string;
41
60
  } | {
42
- type: 'forms:set-active-field-name';
61
+ type: typeof ACTION_TYPES.FORMS_SET_ACTIVE_FIELD_NAME;
43
62
  value: {
44
63
  formId: string;
45
64
  fieldName: string;
46
65
  };
47
66
  } | {
48
- type: 'form-lists:clear';
67
+ type: typeof ACTION_TYPES.FORMS_SET_HOVERED_FIELD_NAME;
68
+ value: {
69
+ formId: string;
70
+ fieldName: string | null;
71
+ };
72
+ } | {
73
+ type: typeof ACTION_TYPES.FORM_LISTS_CLEAR;
49
74
  } | {
50
- type: 'set-edit-mode';
75
+ type: typeof ACTION_TYPES.SET_EDIT_MODE;
51
76
  value: 'visual' | 'basic';
52
77
  } | {
53
- type: 'increment-operation-index';
78
+ type: typeof ACTION_TYPES.INCREMENT_OPERATION_INDEX;
54
79
  } | {
55
- type: 'set-quick-editing-supported';
80
+ type: typeof ACTION_TYPES.SET_QUICK_EDITING_SUPPORTED;
56
81
  value: boolean;
57
82
  } | {
58
- type: 'set-quick-editing-enabled';
83
+ type: typeof ACTION_TYPES.SET_QUICK_EDITING_ENABLED;
59
84
  value?: boolean;
60
85
  } | {
61
- type: 'toggle-quick-editing-enabled';
86
+ type: typeof ACTION_TYPES.TOGGLE_QUICK_EDITING_ENABLED;
62
87
  } | {
63
- type: 'toggle-edit-state';
88
+ type: typeof ACTION_TYPES.TOGGLE_EDIT_STATE;
64
89
  } | {
65
- type: 'sidebar:set-display-state';
90
+ type: typeof ACTION_TYPES.SIDEBAR_SET_DISPLAY_STATE;
66
91
  value: TinaState['sidebarDisplayState'] | 'openOrFull';
67
92
  } | {
68
- type: 'sidebar:set-loading-state';
93
+ type: typeof ACTION_TYPES.SIDEBAR_SET_LOADING_STATE;
69
94
  value: boolean;
70
95
  };
71
96
  export interface TinaState {
@@ -83,6 +108,7 @@ export interface TinaState {
83
108
  forms: {
84
109
  activeFieldName?: string | null;
85
110
  tinaForm: Form;
111
+ hoveringFieldName?: string | null;
86
112
  }[];
87
113
  formLists: FormList[];
88
114
  editingMode: 'visual' | 'basic';
@@ -29,7 +29,7 @@ export declare class TinaClient<GenQueries> {
29
29
  initialized: boolean;
30
30
  cacheLock: AsyncLock | undefined;
31
31
  cacheDir: string;
32
- cache: Cache;
32
+ cache: Cache | null;
33
33
  constructor({ token, url, queries, errorPolicy, cacheDir, }: TinaClientArgs<GenQueries>);
34
34
  init(): Promise<void>;
35
35
  request<DataType extends Record<string, any> = any>({ errorPolicy, ...args }: TinaClientRequestArgs, options: {
@@ -20,3 +20,4 @@ export interface CreateClientProps {
20
20
  export declare const createClient: ({ clientId, isLocalClient, branch, tinaioConfig, schema, apiUrl, tinaGraphQLVersion, }: CreateClientProps) => Client;
21
21
  export declare function assertShape<T>(value: unknown, yupSchema: (args: typeof yup) => yup.AnySchema, errorMessage?: string): asserts value is T;
22
22
  export declare function safeAssertShape<T>(value: unknown, yupSchema: (args: typeof yup) => yup.AnySchema): boolean;
23
+ export declare const get: (obj: any, path: any, defaultValue?: any) => any;