@tinacms/schema-tools 0.0.0-d08af95-20241024210716 → 0.0.0-d1bd1a1-20251124051649

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.
@@ -28,6 +28,7 @@ export declare class TinaSchema {
28
28
  } & Schema);
29
29
  getIsTitleFieldName: (collection: string) => string;
30
30
  getCollectionsByName: (collectionNames: string[]) => Collection<true>[];
31
+ findReferencesFromCollection(name: string): Record<string, string[]>;
31
32
  getCollection: (collectionName: string) => Collection<true>;
32
33
  getCollections: () => Collection<true>[];
33
34
  getCollectionByFullPath: (filepath: string) => Collection<true>;
@@ -59,7 +60,26 @@ export declare class TinaSchema {
59
60
  *
60
61
  */
61
62
  getTemplatesForCollectable: (collection: Collectable) => CollectionTemplateable;
62
- walkFields: (cb: (args: {
63
+ /**
64
+ * Walk all fields in tina schema
65
+ *
66
+ * @param cb callback function invoked for each field
67
+ */
68
+ walkFields(cb: (args: {
69
+ field: any;
70
+ collection: any;
71
+ path: string;
72
+ isListItem?: boolean;
73
+ }) => void): void;
74
+ /**
75
+ * Walk all fields in Tina Schema
76
+ *
77
+ * This is a legacy version to preserve backwards compatibility for the tina generated schema. It does not
78
+ * traverse fields in object lists in rich-text templates.
79
+ *
80
+ * @param cb callback function invoked for each field
81
+ */
82
+ legacyWalkFields: (cb: (args: {
63
83
  field: TinaField;
64
84
  collection: Collection;
65
85
  path: string[];
@@ -1,4 +1,8 @@
1
- /**
2
-
3
- */
4
- export declare function addNamespaceToSchema<T extends object | string>(maybeNode: T, namespace?: string[]): T;
1
+ type Node = {
2
+ name?: string;
3
+ value?: string;
4
+ namespace?: string[];
5
+ [key: string]: any;
6
+ };
7
+ export declare function addNamespaceToSchema<T extends Node | string>(maybeNode: T, namespace?: string[]): T;
8
+ export {};
@@ -1,5 +1,23 @@
1
1
  import type { FC } from 'react';
2
2
  import type React from 'react';
3
+ export declare const CONTENT_FORMATS: readonly ["mdx", "md", "markdown", "json", "yaml", "yml", "toml"];
4
+ export type ContentFormat = (typeof CONTENT_FORMATS)[number];
5
+ export type ContentFrontmatterFormat = 'yaml' | 'toml' | 'json';
6
+ export type Parser = {
7
+ type: 'mdx';
8
+ } | {
9
+ type: 'markdown';
10
+ /**
11
+ * Tina will escape entities like `<` and `[` by default. You can choose to turn
12
+ * off all escaping, or specify HTML, so `<div>` will not be turned into `\<div>`
13
+ */
14
+ skipEscaping?: 'all' | 'html' | 'none';
15
+ } | {
16
+ /**
17
+ * Experimental: Returns the native Slate.js document as JSON. Ideal to retain the pure editor content structure.
18
+ */
19
+ type: 'slatejson';
20
+ };
3
21
  type Meta = {
4
22
  active?: boolean;
5
23
  dirty?: boolean;
@@ -111,6 +129,11 @@ export type UIField<Type, List extends boolean> = {
111
129
  type FieldGeneric<Type, List extends boolean | undefined, ExtraFieldUIProps = {}> = List extends true ? {
112
130
  list: true;
113
131
  ui?: UIField<Type, true> & ExtraFieldUIProps;
132
+ /**
133
+ * Defines where new items will be added in the list.
134
+ * If not specified, defaults to `append`.
135
+ */
136
+ addItemBehavior?: 'append' | 'prepend';
114
137
  } : List extends false ? {
115
138
  list?: false;
116
139
  ui?: UIField<Type, false> & ExtraFieldUIProps;
@@ -185,7 +208,7 @@ export type ReferenceField = (FieldGeneric<string, undefined, ReferenceFieldOpti
185
208
  export type PasswordField = (FieldGeneric<string, undefined> | FieldGeneric<string, false>) & BaseField & {
186
209
  type: 'password';
187
210
  };
188
- type toolbarItemName = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'italic' | 'raw' | 'embed' | 'mermaid';
211
+ type ToolbarOverrideType = 'heading' | 'link' | 'image' | 'quote' | 'ul' | 'ol' | 'code' | 'codeBlock' | 'bold' | 'italic' | 'raw' | 'embed' | 'mermaid' | 'table';
189
212
  type RichTextAst = {
190
213
  type: 'root';
191
214
  children: Record<string, unknown>[];
@@ -198,24 +221,21 @@ export type RichTextField<WithNamespace extends boolean = false> = (FieldGeneric
198
221
  * will be stored as frontmatter
199
222
  */
200
223
  isBody?: boolean;
201
- toolbarOverride?: toolbarItemName[];
224
+ /**@deprecated use overrides.toolbar */
225
+ toolbarOverride?: ToolbarOverrideType[];
202
226
  templates?: RichTextTemplate<WithNamespace>[];
227
+ overrides?: {
228
+ toolbar?: ToolbarOverrideType[];
229
+ /**Default set to true */
230
+ showFloatingToolbar?: boolean;
231
+ };
203
232
  /**
204
233
  * By default, Tina parses markdown with MDX, this is a more strict parser
205
234
  * that allows you to use structured content inside markdown (via `templates`).
206
235
  *
207
236
  * Specify `"markdown"` if you're having problems with Tina parsing your content.
208
237
  */
209
- parser?: {
210
- type: 'markdown';
211
- /**
212
- * Tina will escape entities like `<` and `[` by default. You can choose to turn
213
- * off all escaping, or specify HTML, so `<div>` will not be turned into `\<div>`
214
- */
215
- skipEscaping?: 'all' | 'html' | 'none';
216
- } | {
217
- type: 'mdx';
218
- };
238
+ parser?: Parser;
219
239
  };
220
240
  export type RichTextTemplate<WithNamespace extends boolean = false> = Template<WithNamespace> & {
221
241
  inline?: boolean;
@@ -371,7 +391,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
371
391
  /**
372
392
  * The Schema is used to define the shape of the content.
373
393
  *
374
- * https://tina.io/docs/reference/schema/
394
+ * https://tina.io/docs/r/the-config-file/
375
395
  */
376
396
  schema: Schema;
377
397
  /**
@@ -394,7 +414,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
394
414
  token?: string | null;
395
415
  ui?: {
396
416
  /**
397
- * When using Tina Cloud's branching feature, provide the URL for your given branch
417
+ * When using TinaCloud's branching feature, provide the URL for your given branch
398
418
  *
399
419
  * Eg. If you're deplying to Vercel, and your repo name is 'my-app',
400
420
  * Vercel's preview URL would be based on the branch:
@@ -408,11 +428,27 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
408
428
  * ```
409
429
  * [more info](https://vercel.com/docs/concepts/deployments/generated-urls#url-with-git-branch)
410
430
  */
411
- previewUrl: (context: {
431
+ previewUrl?: (context: {
412
432
  branch: string;
413
433
  }) => {
414
434
  url: string;
415
435
  };
436
+ /**
437
+ * Opt out of update checks - this will prevent the CMS for checking for new versions
438
+ * If true, the CMS will not check for updates.
439
+ * Defaults to false if not specified.
440
+ */
441
+ optOutOfUpdateCheck?: boolean;
442
+ /**
443
+ * Regular expression pattern that folder names must match when creating new folders.
444
+ * Only applies to newly created folders, not existing ones.
445
+ *
446
+ * @example "^[a-z0-9-]+$" - allows lowercase letters, numbers, and hyphens only
447
+ * @example "^[A-Za-z0-9_-]+$" - allows letters, numbers, underscores, and hyphens
448
+ */
449
+ regexValidation?: {
450
+ folderNameRegex?: string;
451
+ };
416
452
  };
417
453
  /**
418
454
  * Configurations for the autogenerated GraphQL HTTP client
@@ -492,7 +528,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
492
528
  } | {
493
529
  /**
494
530
  * Use Git-backed assets for media, these values will
495
- * [Learn more](https://tina.io/docs/reference/media/repo-based/)
531
+ * [Learn more](https://tina.io/docs/r/repo-based-media/)
496
532
  */
497
533
  tina: {
498
534
  /**
@@ -521,7 +557,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
521
557
  } | {
522
558
  searchClient?: never;
523
559
  /**
524
- * Use the Tina Cloud search index
560
+ * Use the TinaCloud search index
525
561
  */
526
562
  tina: {
527
563
  /**
@@ -548,7 +584,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
548
584
  maxSearchIndexFieldLength?: number;
549
585
  };
550
586
  /**
551
- * Used to override the default Tina Cloud API URL
587
+ * Used to override the default TinaCloud API URL
552
588
  *
553
589
  * [mostly for internal use only]
554
590
  */
@@ -567,7 +603,7 @@ export interface Schema<WithNamespace extends boolean = false> {
567
603
  /**
568
604
  * Collections represent a type of content (EX, blog post, page, author, etc). We recommend using singular naming in a collection (Ex: use post and not posts).
569
605
  *
570
- * https://tina.io/docs/reference/collections/
606
+ * https://tina.io/docs/r/content-modelling-collections/
571
607
  */
572
608
  collections: Collection<WithNamespace>[];
573
609
  /**
@@ -581,7 +617,7 @@ interface BaseCollection {
581
617
  name: string;
582
618
  path: string;
583
619
  indexes?: IndexType[];
584
- format?: 'json' | 'md' | 'markdown' | 'mdx' | 'yaml' | 'yml' | 'toml';
620
+ format?: ContentFormat;
585
621
  ui?: UICollection;
586
622
  /**
587
623
  * @deprecated - use `ui.defaultItem` on the each `template` instead
@@ -590,7 +626,7 @@ interface BaseCollection {
590
626
  /**
591
627
  * This format will be used to parse the markdown frontmatter
592
628
  */
593
- frontmatterFormat?: 'yaml' | 'toml' | 'json';
629
+ frontmatterFormat?: ContentFrontmatterFormat;
594
630
  /**
595
631
  * The delimiters used to parse the frontmatter.
596
632
  */
@@ -606,7 +642,7 @@ type TemplateCollection<WithNamespace extends boolean = false> = {
606
642
  /**
607
643
  * In most cases, just using fields is enough, however templates can be used when there are multiple variants of the same collection or object. For example in a "page" collection there might be a need for a marketing page template and a content page template, both under the collection "page".
608
644
  *
609
- * https://tina.io/docs/reference/templates/
645
+ * https://tina.io/docs/r/content-modelling-templates/
610
646
  */
611
647
  templates: Template<WithNamespace>[];
612
648
  fields?: undefined;
@@ -615,7 +651,7 @@ type FieldCollection<WithNamespace extends boolean = false> = {
615
651
  /**
616
652
  * Fields define the shape of the content and the user input.
617
653
  *
618
- * https://tina.io/docs/reference/fields/
654
+ * https://tina.io/docs/r/string-fields/
619
655
  */
620
656
  fields: TinaField<WithNamespace>[];
621
657
  templates?: undefined;
@@ -630,6 +666,7 @@ type Document = {
630
666
  relativePath: string;
631
667
  filename: string;
632
668
  extension: string;
669
+ hasReferences?: boolean;
633
670
  };
634
671
  };
635
672
  export interface UICollection<Form = any, CMS = any, TinaForm = any> {
@@ -1 +1,9 @@
1
1
  export declare const normalizePath: (filepath: string) => string;
2
+ /**
3
+ * Returns the given path such that:
4
+ * - The path separator is converted from '\' to '/' if necessary.
5
+ * - Duplicate '/' are removed
6
+ * - Leading and trailing '/' are cleared
7
+ * @param filepath Filepath to convert to its canonical form
8
+ */
9
+ export declare const canonicalPath: (filepath: string) => string;
@@ -1,6 +1,3 @@
1
- /**
2
-
3
- */
4
1
  import { z } from 'zod';
5
2
  import type { TinaField as TinaFieldType } from '../types/index';
6
3
  export declare const TinaFieldZod: z.ZodType<TinaFieldType>;
@@ -1,26 +1,23 @@
1
- /**
2
-
3
- */
4
1
  import { z } from 'zod';
5
2
  export declare const CollectionBaseSchema: z.ZodObject<{
6
3
  label: z.ZodOptional<z.ZodString>;
7
4
  name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
8
5
  path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
9
- format: z.ZodOptional<z.ZodEnum<["json", "md", "markdown", "mdx", "toml", "yaml", "yml"]>>;
6
+ format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
10
7
  isAuthCollection: z.ZodOptional<z.ZodBoolean>;
11
8
  isDetached: z.ZodOptional<z.ZodBoolean>;
12
9
  }, "strip", z.ZodTypeAny, {
13
10
  name?: string;
14
11
  label?: string;
15
12
  path?: string;
16
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
13
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
17
14
  isDetached?: boolean;
18
15
  isAuthCollection?: boolean;
19
16
  }, {
20
17
  name?: string;
21
18
  label?: string;
22
19
  path?: string;
23
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
20
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
24
21
  isDetached?: boolean;
25
22
  isAuthCollection?: boolean;
26
23
  }>;
@@ -29,90 +26,90 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
29
26
  label: z.ZodOptional<z.ZodString>;
30
27
  name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
31
28
  path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
32
- format: z.ZodOptional<z.ZodEnum<["json", "md", "markdown", "mdx", "toml", "yaml", "yml"]>>;
29
+ format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
33
30
  isAuthCollection: z.ZodOptional<z.ZodBoolean>;
34
31
  isDetached: z.ZodOptional<z.ZodBoolean>;
35
32
  }, {
36
- fields: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodType<import("..").TinaField, z.ZodTypeDef, import("..").TinaField>, "many">>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>, import("..").TinaField[], import("..").TinaField[]>;
33
+ fields: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodType<import("../types/index").TinaField, z.ZodTypeDef, import("../types/index").TinaField>, "many">>, import("../types/index").TinaField[], import("../types/index").TinaField[]>, import("../types/index").TinaField[], import("../types/index").TinaField[]>, import("../types/index").TinaField[], import("../types/index").TinaField[]>, import("../types/index").TinaField[], import("../types/index").TinaField[]>;
37
34
  templates: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
38
35
  label: z.ZodString;
39
36
  name: z.ZodEffects<z.ZodString, string, string>;
40
- fields: z.ZodArray<z.ZodType<import("..").TinaField, z.ZodTypeDef, import("..").TinaField>, "many">;
37
+ fields: z.ZodArray<z.ZodType<import("../types/index").TinaField, z.ZodTypeDef, import("../types/index").TinaField>, "many">;
41
38
  }, "strip", z.ZodTypeAny, {
42
39
  name?: string;
43
- fields?: import("..").TinaField[];
40
+ fields?: import("../types/index").TinaField[];
44
41
  label?: string;
45
42
  }, {
46
43
  name?: string;
47
- fields?: import("..").TinaField[];
44
+ fields?: import("../types/index").TinaField[];
48
45
  label?: string;
49
46
  }>, {
50
47
  name?: string;
51
- fields?: import("..").TinaField[];
48
+ fields?: import("../types/index").TinaField[];
52
49
  label?: string;
53
50
  }, {
54
51
  name?: string;
55
- fields?: import("..").TinaField[];
52
+ fields?: import("../types/index").TinaField[];
56
53
  label?: string;
57
54
  }>, "many">>, {
58
55
  name?: string;
59
- fields?: import("..").TinaField[];
56
+ fields?: import("../types/index").TinaField[];
60
57
  label?: string;
61
58
  }[], {
62
59
  name?: string;
63
- fields?: import("..").TinaField[];
60
+ fields?: import("../types/index").TinaField[];
64
61
  label?: string;
65
62
  }[]>;
66
63
  }>, "strip", z.ZodTypeAny, {
67
64
  name?: string;
68
65
  templates?: {
69
66
  name?: string;
70
- fields?: import("..").TinaField[];
67
+ fields?: import("../types/index").TinaField[];
71
68
  label?: string;
72
69
  }[];
73
- fields?: import("..").TinaField[];
70
+ fields?: import("../types/index").TinaField[];
74
71
  label?: string;
75
72
  path?: string;
76
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
73
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
77
74
  isDetached?: boolean;
78
75
  isAuthCollection?: boolean;
79
76
  }, {
80
77
  name?: string;
81
78
  templates?: {
82
79
  name?: string;
83
- fields?: import("..").TinaField[];
80
+ fields?: import("../types/index").TinaField[];
84
81
  label?: string;
85
82
  }[];
86
- fields?: import("..").TinaField[];
83
+ fields?: import("../types/index").TinaField[];
87
84
  label?: string;
88
85
  path?: string;
89
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
86
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
90
87
  isDetached?: boolean;
91
88
  isAuthCollection?: boolean;
92
89
  }>, {
93
90
  name?: string;
94
91
  templates?: {
95
92
  name?: string;
96
- fields?: import("..").TinaField[];
93
+ fields?: import("../types/index").TinaField[];
97
94
  label?: string;
98
95
  }[];
99
- fields?: import("..").TinaField[];
96
+ fields?: import("../types/index").TinaField[];
100
97
  label?: string;
101
98
  path?: string;
102
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
99
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
103
100
  isDetached?: boolean;
104
101
  isAuthCollection?: boolean;
105
102
  }, {
106
103
  name?: string;
107
104
  templates?: {
108
105
  name?: string;
109
- fields?: import("..").TinaField[];
106
+ fields?: import("../types/index").TinaField[];
110
107
  label?: string;
111
108
  }[];
112
- fields?: import("..").TinaField[];
109
+ fields?: import("../types/index").TinaField[];
113
110
  label?: string;
114
111
  path?: string;
115
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
112
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
116
113
  isDetached?: boolean;
117
114
  isAuthCollection?: boolean;
118
115
  }>, "many">;
@@ -190,6 +187,29 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
190
187
  searchClient?: any;
191
188
  indexBatchSize?: number;
192
189
  }>>;
190
+ ui: z.ZodOptional<z.ZodObject<{
191
+ previewUrl: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
192
+ optOutOfUpdateCheck: z.ZodOptional<z.ZodBoolean>;
193
+ regexValidation: z.ZodOptional<z.ZodObject<{
194
+ folderNameRegex: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ folderNameRegex?: string;
197
+ }, {
198
+ folderNameRegex?: string;
199
+ }>>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ previewUrl?: (...args: unknown[]) => unknown;
202
+ optOutOfUpdateCheck?: boolean;
203
+ regexValidation?: {
204
+ folderNameRegex?: string;
205
+ };
206
+ }, {
207
+ previewUrl?: (...args: unknown[]) => unknown;
208
+ optOutOfUpdateCheck?: boolean;
209
+ regexValidation?: {
210
+ folderNameRegex?: string;
211
+ };
212
+ }>>;
193
213
  }, "strip", z.ZodTypeAny, {
194
214
  search?: {
195
215
  maxSearchIndexFieldLength?: number;
@@ -201,6 +221,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
201
221
  searchClient?: any;
202
222
  indexBatchSize?: number;
203
223
  };
224
+ ui?: {
225
+ previewUrl?: (...args: unknown[]) => unknown;
226
+ optOutOfUpdateCheck?: boolean;
227
+ regexValidation?: {
228
+ folderNameRegex?: string;
229
+ };
230
+ };
204
231
  client?: {
205
232
  referenceDepth?: number;
206
233
  };
@@ -223,6 +250,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
223
250
  searchClient?: any;
224
251
  indexBatchSize?: number;
225
252
  };
253
+ ui?: {
254
+ previewUrl?: (...args: unknown[]) => unknown;
255
+ optOutOfUpdateCheck?: boolean;
256
+ regexValidation?: {
257
+ folderNameRegex?: string;
258
+ };
259
+ };
226
260
  client?: {
227
261
  referenceDepth?: number;
228
262
  };
@@ -240,13 +274,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
240
274
  name?: string;
241
275
  templates?: {
242
276
  name?: string;
243
- fields?: import("..").TinaField[];
277
+ fields?: import("../types/index").TinaField[];
244
278
  label?: string;
245
279
  }[];
246
- fields?: import("..").TinaField[];
280
+ fields?: import("../types/index").TinaField[];
247
281
  label?: string;
248
282
  path?: string;
249
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
283
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
250
284
  isDetached?: boolean;
251
285
  isAuthCollection?: boolean;
252
286
  }[];
@@ -261,6 +295,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
261
295
  searchClient?: any;
262
296
  indexBatchSize?: number;
263
297
  };
298
+ ui?: {
299
+ previewUrl?: (...args: unknown[]) => unknown;
300
+ optOutOfUpdateCheck?: boolean;
301
+ regexValidation?: {
302
+ folderNameRegex?: string;
303
+ };
304
+ };
264
305
  client?: {
265
306
  referenceDepth?: number;
266
307
  };
@@ -278,13 +319,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
278
319
  name?: string;
279
320
  templates?: {
280
321
  name?: string;
281
- fields?: import("..").TinaField[];
322
+ fields?: import("../types/index").TinaField[];
282
323
  label?: string;
283
324
  }[];
284
- fields?: import("..").TinaField[];
325
+ fields?: import("../types/index").TinaField[];
285
326
  label?: string;
286
327
  path?: string;
287
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
328
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
288
329
  isDetached?: boolean;
289
330
  isAuthCollection?: boolean;
290
331
  }[];
@@ -299,6 +340,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
299
340
  searchClient?: any;
300
341
  indexBatchSize?: number;
301
342
  };
343
+ ui?: {
344
+ previewUrl?: (...args: unknown[]) => unknown;
345
+ optOutOfUpdateCheck?: boolean;
346
+ regexValidation?: {
347
+ folderNameRegex?: string;
348
+ };
349
+ };
302
350
  client?: {
303
351
  referenceDepth?: number;
304
352
  };
@@ -316,13 +364,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
316
364
  name?: string;
317
365
  templates?: {
318
366
  name?: string;
319
- fields?: import("..").TinaField[];
367
+ fields?: import("../types/index").TinaField[];
320
368
  label?: string;
321
369
  }[];
322
- fields?: import("..").TinaField[];
370
+ fields?: import("../types/index").TinaField[];
323
371
  label?: string;
324
372
  path?: string;
325
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
373
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
326
374
  isDetached?: boolean;
327
375
  isAuthCollection?: boolean;
328
376
  }[];
@@ -337,6 +385,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
337
385
  searchClient?: any;
338
386
  indexBatchSize?: number;
339
387
  };
388
+ ui?: {
389
+ previewUrl?: (...args: unknown[]) => unknown;
390
+ optOutOfUpdateCheck?: boolean;
391
+ regexValidation?: {
392
+ folderNameRegex?: string;
393
+ };
394
+ };
340
395
  client?: {
341
396
  referenceDepth?: number;
342
397
  };
@@ -354,13 +409,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
354
409
  name?: string;
355
410
  templates?: {
356
411
  name?: string;
357
- fields?: import("..").TinaField[];
412
+ fields?: import("../types/index").TinaField[];
358
413
  label?: string;
359
414
  }[];
360
- fields?: import("..").TinaField[];
415
+ fields?: import("../types/index").TinaField[];
361
416
  label?: string;
362
417
  path?: string;
363
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
418
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
364
419
  isDetached?: boolean;
365
420
  isAuthCollection?: boolean;
366
421
  }[];
@@ -375,6 +430,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
375
430
  searchClient?: any;
376
431
  indexBatchSize?: number;
377
432
  };
433
+ ui?: {
434
+ previewUrl?: (...args: unknown[]) => unknown;
435
+ optOutOfUpdateCheck?: boolean;
436
+ regexValidation?: {
437
+ folderNameRegex?: string;
438
+ };
439
+ };
378
440
  client?: {
379
441
  referenceDepth?: number;
380
442
  };
@@ -77,6 +77,29 @@ export declare const tinaConfigZod: z.ZodObject<{
77
77
  searchClient?: any;
78
78
  indexBatchSize?: number;
79
79
  }>>;
80
+ ui: z.ZodOptional<z.ZodObject<{
81
+ previewUrl: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
82
+ optOutOfUpdateCheck: z.ZodOptional<z.ZodBoolean>;
83
+ regexValidation: z.ZodOptional<z.ZodObject<{
84
+ folderNameRegex: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ folderNameRegex?: string;
87
+ }, {
88
+ folderNameRegex?: string;
89
+ }>>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ previewUrl?: (...args: unknown[]) => unknown;
92
+ optOutOfUpdateCheck?: boolean;
93
+ regexValidation?: {
94
+ folderNameRegex?: string;
95
+ };
96
+ }, {
97
+ previewUrl?: (...args: unknown[]) => unknown;
98
+ optOutOfUpdateCheck?: boolean;
99
+ regexValidation?: {
100
+ folderNameRegex?: string;
101
+ };
102
+ }>>;
80
103
  }, "strip", z.ZodTypeAny, {
81
104
  search?: {
82
105
  maxSearchIndexFieldLength?: number;
@@ -88,6 +111,13 @@ export declare const tinaConfigZod: z.ZodObject<{
88
111
  searchClient?: any;
89
112
  indexBatchSize?: number;
90
113
  };
114
+ ui?: {
115
+ previewUrl?: (...args: unknown[]) => unknown;
116
+ optOutOfUpdateCheck?: boolean;
117
+ regexValidation?: {
118
+ folderNameRegex?: string;
119
+ };
120
+ };
91
121
  client?: {
92
122
  referenceDepth?: number;
93
123
  };
@@ -110,6 +140,13 @@ export declare const tinaConfigZod: z.ZodObject<{
110
140
  searchClient?: any;
111
141
  indexBatchSize?: number;
112
142
  };
143
+ ui?: {
144
+ previewUrl?: (...args: unknown[]) => unknown;
145
+ optOutOfUpdateCheck?: boolean;
146
+ regexValidation?: {
147
+ folderNameRegex?: string;
148
+ };
149
+ };
113
150
  client?: {
114
151
  referenceDepth?: number;
115
152
  };
@@ -0,0 +1,3 @@
1
+ export declare const duplicateFieldErrorMessage: (fields: string) => string;
2
+ export declare const duplicateTemplateErrorMessage: (templates: string) => string;
3
+ export declare const duplicateCollectionErrorMessage: (collection: string) => string;