@tinacms/schema-tools 0.0.0-e5c0e91-20250421003142 → 0.0.0-e96d36b-20251210035710

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.
@@ -13,7 +13,7 @@ export declare const resolveForm: ({ collection, basename, template, schema, }:
13
13
  fields: {
14
14
  [key: string]: unknown;
15
15
  name: string;
16
- component: NonNullable<import("../types/index").TinaField<true>["ui"]>["component"];
16
+ component: NonNullable<import("..").TinaField<true>["ui"]>["component"];
17
17
  type: string;
18
18
  }[];
19
19
  };
@@ -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;
@@ -107,10 +125,35 @@ export type UIField<Type, List extends boolean> = {
107
125
  * @deprecated use `defaultItem` at the collection level instead
108
126
  */
109
127
  defaultValue?: List extends true ? Type[] : Type;
128
+ /**
129
+ * The color format for the color picker component.
130
+ * Can be 'hex' or 'rgb'.
131
+ */
132
+ colorFormat?: 'hex' | 'rgb';
133
+ /**
134
+ * The widget style for the color picker component.
135
+ * Can be 'sketch' or 'block'.
136
+ */
137
+ widget?: 'sketch' | 'block';
138
+ /**
139
+ * The width of the color picker component.
140
+ * Accepts CSS width values (e.g., '350px').
141
+ */
142
+ width?: string;
143
+ /**
144
+ * Preset colors for the color picker component.
145
+ * An array of color strings (e.g., ['#D0021B', '#F5A623']).
146
+ */
147
+ colors?: string[];
110
148
  };
111
149
  type FieldGeneric<Type, List extends boolean | undefined, ExtraFieldUIProps = {}> = List extends true ? {
112
150
  list: true;
113
151
  ui?: UIField<Type, true> & ExtraFieldUIProps;
152
+ /**
153
+ * Defines where new items will be added in the list.
154
+ * If not specified, defaults to `append`.
155
+ */
156
+ addItemBehavior?: 'append' | 'prepend';
114
157
  } : List extends false ? {
115
158
  list?: false;
116
159
  ui?: UIField<Type, false> & ExtraFieldUIProps;
@@ -150,14 +193,24 @@ type DateFormatProps = {
150
193
  * dateFormat: 'YYYY MM DD'
151
194
  * ```
152
195
  */
153
- dateFormat?: string;
154
- timeFormat?: string;
196
+ dateFormat?: string | boolean;
197
+ timeFormat?: string | boolean;
155
198
  };
156
199
  export type DateTimeField = (FieldGeneric<string, undefined, DateFormatProps> | FieldGeneric<string, true, DateFormatProps> | FieldGeneric<string, false, DateFormatProps>) & BaseField & {
157
200
  type: 'datetime';
158
201
  };
159
202
  export type ImageField = (FieldGeneric<string, undefined> | FieldGeneric<string, true> | FieldGeneric<string, false>) & BaseField & {
160
203
  type: 'image';
204
+ /**
205
+ * A function that returns the upload directory path based on the form values.
206
+ * This is used to organize uploaded images into specific folders.
207
+ *
208
+ * @example
209
+ * ```ts
210
+ * uploadDir: (formValues) => `uploads/${formValues.category}`
211
+ * ```
212
+ */
213
+ uploadDir?: (formValues: Record<string, any>) => string;
161
214
  };
162
215
  type ReferenceFieldOptions = {
163
216
  optionComponent?: OptionComponent;
@@ -212,16 +265,7 @@ export type RichTextField<WithNamespace extends boolean = false> = (FieldGeneric
212
265
  *
213
266
  * Specify `"markdown"` if you're having problems with Tina parsing your content.
214
267
  */
215
- parser?: {
216
- type: 'markdown';
217
- /**
218
- * Tina will escape entities like `<` and `[` by default. You can choose to turn
219
- * off all escaping, or specify HTML, so `<div>` will not be turned into `\<div>`
220
- */
221
- skipEscaping?: 'all' | 'html' | 'none';
222
- } | {
223
- type: 'mdx';
224
- };
268
+ parser?: Parser;
225
269
  };
226
270
  export type RichTextTemplate<WithNamespace extends boolean = false> = Template<WithNamespace> & {
227
271
  inline?: boolean;
@@ -363,7 +407,6 @@ interface AuthHooks {
363
407
  type AuthOptions = AuthHooks & AuthProvider;
364
408
  export interface Config<CMSCallback = undefined, FormifyCallback = undefined, DocumentCreatorCallback = undefined, Store = undefined, SearchClient = undefined> {
365
409
  contentApiUrlOverride?: string;
366
- oauth2?: boolean;
367
410
  authProvider?: AuthProvider;
368
411
  admin?: {
369
412
  /**
@@ -378,7 +421,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
378
421
  /**
379
422
  * The Schema is used to define the shape of the content.
380
423
  *
381
- * https://tina.io/docs/reference/schema/
424
+ * https://tina.io/docs/r/the-config-file/
382
425
  */
383
426
  schema: Schema;
384
427
  /**
@@ -415,11 +458,27 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
415
458
  * ```
416
459
  * [more info](https://vercel.com/docs/concepts/deployments/generated-urls#url-with-git-branch)
417
460
  */
418
- previewUrl: (context: {
461
+ previewUrl?: (context: {
419
462
  branch: string;
420
463
  }) => {
421
464
  url: string;
422
465
  };
466
+ /**
467
+ * Opt out of update checks - this will prevent the CMS for checking for new versions
468
+ * If true, the CMS will not check for updates.
469
+ * Defaults to false if not specified.
470
+ */
471
+ optOutOfUpdateCheck?: boolean;
472
+ /**
473
+ * Regular expression pattern that folder names must match when creating new folders.
474
+ * Only applies to newly created folders, not existing ones.
475
+ *
476
+ * @example "^[a-z0-9-]+$" - allows lowercase letters, numbers, and hyphens only
477
+ * @example "^[A-Za-z0-9_-]+$" - allows letters, numbers, underscores, and hyphens
478
+ */
479
+ regexValidation?: {
480
+ folderNameRegex?: string;
481
+ };
423
482
  };
424
483
  /**
425
484
  * Configurations for the autogenerated GraphQL HTTP client
@@ -499,7 +558,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
499
558
  } | {
500
559
  /**
501
560
  * Use Git-backed assets for media, these values will
502
- * [Learn more](https://tina.io/docs/reference/media/repo-based/)
561
+ * [Learn more](https://tina.io/docs/r/repo-based-media/)
503
562
  */
504
563
  tina: {
505
564
  /**
@@ -519,6 +578,54 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
519
578
  loadCustomStore?: never;
520
579
  accept?: string | string[];
521
580
  };
581
+ /**
582
+ * Configuration for repository-related UI features.
583
+ *
584
+ * This allows you to configure how the CMS displays repository information
585
+ * and generates links to view file history in your Git provider (e.g., GitHub, GitLab).
586
+ *
587
+ * @example
588
+ *
589
+ * repoProvider: {
590
+ * defaultBranchName: 'main',
591
+ * historyUrl: ({ relativePath, branch }) => ({
592
+ * url: `https://github.com/owner/repo/commits/${branch}/${relativePath}`
593
+ * })
594
+ * }
595
+ * */
596
+ repoProvider?: {
597
+ /**
598
+ * The default branch name to use when in local mode or when no branch is specified.
599
+ * When not in local mode, TinaCMS will use the branch selected in the editor.
600
+ *
601
+ * This is typically your main/master branch name (e.g., "main", "master").
602
+ */
603
+ defaultBranchName?: string;
604
+ /**
605
+ * A function that generates a URL to view the commit history for a specific file.
606
+ *
607
+ * This URL is used to link to your Git provider's history view (e.g., GitHub's commits page).
608
+ * The function receives the file's relative path and current branch, and should return
609
+ * a URL object with the full URL to the history page.
610
+ *
611
+ * @param context - Context object containing file and branch information
612
+ * @param context.relativePath - The relative path of the file from the repository root
613
+ * @param context.branch - The current branch name
614
+ * @returns An object with a `url` property containing the full URL to the history page
615
+ *
616
+ * @example
617
+ *s
618
+ * historyUrl: ({ relativePath, branch }) => ({
619
+ * url: `https://github.com/tinacms/tinacms/commits/${branch}/examples/next-2024/${relativePath}`
620
+ * })
621
+ * */
622
+ historyUrl?: (context: {
623
+ relativePath: string;
624
+ branch: string;
625
+ }) => {
626
+ url: string;
627
+ };
628
+ };
522
629
  search?: ({
523
630
  /**
524
631
  * An instance of a search client like Algolia
@@ -574,7 +681,7 @@ export interface Schema<WithNamespace extends boolean = false> {
574
681
  /**
575
682
  * 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).
576
683
  *
577
- * https://tina.io/docs/reference/collections/
684
+ * https://tina.io/docs/r/content-modelling-collections/
578
685
  */
579
686
  collections: Collection<WithNamespace>[];
580
687
  /**
@@ -588,7 +695,7 @@ interface BaseCollection {
588
695
  name: string;
589
696
  path: string;
590
697
  indexes?: IndexType[];
591
- format?: 'json' | 'md' | 'markdown' | 'mdx' | 'yaml' | 'yml' | 'toml';
698
+ format?: ContentFormat;
592
699
  ui?: UICollection;
593
700
  /**
594
701
  * @deprecated - use `ui.defaultItem` on the each `template` instead
@@ -597,7 +704,7 @@ interface BaseCollection {
597
704
  /**
598
705
  * This format will be used to parse the markdown frontmatter
599
706
  */
600
- frontmatterFormat?: 'yaml' | 'toml' | 'json';
707
+ frontmatterFormat?: ContentFrontmatterFormat;
601
708
  /**
602
709
  * The delimiters used to parse the frontmatter.
603
710
  */
@@ -613,7 +720,7 @@ type TemplateCollection<WithNamespace extends boolean = false> = {
613
720
  /**
614
721
  * 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".
615
722
  *
616
- * https://tina.io/docs/reference/templates/
723
+ * https://tina.io/docs/r/content-modelling-templates/
617
724
  */
618
725
  templates: Template<WithNamespace>[];
619
726
  fields?: undefined;
@@ -622,7 +729,7 @@ type FieldCollection<WithNamespace extends boolean = false> = {
622
729
  /**
623
730
  * Fields define the shape of the content and the user input.
624
731
  *
625
- * https://tina.io/docs/reference/fields/
732
+ * https://tina.io/docs/r/string-fields/
626
733
  */
627
734
  fields: TinaField<WithNamespace>[];
628
735
  templates?: undefined;
@@ -679,6 +786,7 @@ export interface UICollection<Form = any, CMS = any, TinaForm = any> {
679
786
  allowedActions?: {
680
787
  create?: boolean;
681
788
  delete?: boolean;
789
+ createFolder?: boolean;
682
790
  createNestedFolder?: boolean;
683
791
  };
684
792
  /**
@@ -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;
@@ -3,21 +3,21 @@ export declare const CollectionBaseSchema: z.ZodObject<{
3
3
  label: z.ZodOptional<z.ZodString>;
4
4
  name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
5
5
  path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
6
- 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"]>>;
7
7
  isAuthCollection: z.ZodOptional<z.ZodBoolean>;
8
8
  isDetached: z.ZodOptional<z.ZodBoolean>;
9
9
  }, "strip", z.ZodTypeAny, {
10
10
  name?: string;
11
11
  label?: string;
12
12
  path?: string;
13
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
13
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
14
14
  isDetached?: boolean;
15
15
  isAuthCollection?: boolean;
16
16
  }, {
17
17
  name?: string;
18
18
  label?: string;
19
19
  path?: string;
20
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
20
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
21
21
  isDetached?: boolean;
22
22
  isAuthCollection?: boolean;
23
23
  }>;
@@ -26,7 +26,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
26
26
  label: z.ZodOptional<z.ZodString>;
27
27
  name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
28
28
  path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
29
- 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"]>>;
30
30
  isAuthCollection: z.ZodOptional<z.ZodBoolean>;
31
31
  isDetached: z.ZodOptional<z.ZodBoolean>;
32
32
  }, {
@@ -70,7 +70,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
70
70
  fields?: import("..").TinaField[];
71
71
  label?: string;
72
72
  path?: string;
73
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
73
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
74
74
  isDetached?: boolean;
75
75
  isAuthCollection?: boolean;
76
76
  }, {
@@ -83,7 +83,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
83
83
  fields?: import("..").TinaField[];
84
84
  label?: string;
85
85
  path?: string;
86
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
86
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
87
87
  isDetached?: boolean;
88
88
  isAuthCollection?: boolean;
89
89
  }>, {
@@ -96,7 +96,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
96
96
  fields?: import("..").TinaField[];
97
97
  label?: string;
98
98
  path?: string;
99
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
99
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
100
100
  isDetached?: boolean;
101
101
  isAuthCollection?: boolean;
102
102
  }, {
@@ -109,7 +109,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
109
109
  fields?: import("..").TinaField[];
110
110
  label?: string;
111
111
  path?: string;
112
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
112
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
113
113
  isDetached?: boolean;
114
114
  isAuthCollection?: boolean;
115
115
  }>, "many">;
@@ -187,6 +187,29 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
187
187
  searchClient?: any;
188
188
  indexBatchSize?: number;
189
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
+ }>>;
190
213
  }, "strip", z.ZodTypeAny, {
191
214
  search?: {
192
215
  maxSearchIndexFieldLength?: number;
@@ -198,6 +221,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
198
221
  searchClient?: any;
199
222
  indexBatchSize?: number;
200
223
  };
224
+ ui?: {
225
+ previewUrl?: (...args: unknown[]) => unknown;
226
+ optOutOfUpdateCheck?: boolean;
227
+ regexValidation?: {
228
+ folderNameRegex?: string;
229
+ };
230
+ };
201
231
  client?: {
202
232
  referenceDepth?: number;
203
233
  };
@@ -220,6 +250,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
220
250
  searchClient?: any;
221
251
  indexBatchSize?: number;
222
252
  };
253
+ ui?: {
254
+ previewUrl?: (...args: unknown[]) => unknown;
255
+ optOutOfUpdateCheck?: boolean;
256
+ regexValidation?: {
257
+ folderNameRegex?: string;
258
+ };
259
+ };
223
260
  client?: {
224
261
  referenceDepth?: number;
225
262
  };
@@ -243,7 +280,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
243
280
  fields?: import("..").TinaField[];
244
281
  label?: string;
245
282
  path?: string;
246
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
283
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
247
284
  isDetached?: boolean;
248
285
  isAuthCollection?: boolean;
249
286
  }[];
@@ -258,6 +295,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
258
295
  searchClient?: any;
259
296
  indexBatchSize?: number;
260
297
  };
298
+ ui?: {
299
+ previewUrl?: (...args: unknown[]) => unknown;
300
+ optOutOfUpdateCheck?: boolean;
301
+ regexValidation?: {
302
+ folderNameRegex?: string;
303
+ };
304
+ };
261
305
  client?: {
262
306
  referenceDepth?: number;
263
307
  };
@@ -281,7 +325,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
281
325
  fields?: import("..").TinaField[];
282
326
  label?: string;
283
327
  path?: string;
284
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
328
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
285
329
  isDetached?: boolean;
286
330
  isAuthCollection?: boolean;
287
331
  }[];
@@ -296,6 +340,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
296
340
  searchClient?: any;
297
341
  indexBatchSize?: number;
298
342
  };
343
+ ui?: {
344
+ previewUrl?: (...args: unknown[]) => unknown;
345
+ optOutOfUpdateCheck?: boolean;
346
+ regexValidation?: {
347
+ folderNameRegex?: string;
348
+ };
349
+ };
299
350
  client?: {
300
351
  referenceDepth?: number;
301
352
  };
@@ -319,7 +370,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
319
370
  fields?: import("..").TinaField[];
320
371
  label?: string;
321
372
  path?: string;
322
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
373
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
323
374
  isDetached?: boolean;
324
375
  isAuthCollection?: boolean;
325
376
  }[];
@@ -334,6 +385,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
334
385
  searchClient?: any;
335
386
  indexBatchSize?: number;
336
387
  };
388
+ ui?: {
389
+ previewUrl?: (...args: unknown[]) => unknown;
390
+ optOutOfUpdateCheck?: boolean;
391
+ regexValidation?: {
392
+ folderNameRegex?: string;
393
+ };
394
+ };
337
395
  client?: {
338
396
  referenceDepth?: number;
339
397
  };
@@ -357,7 +415,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
357
415
  fields?: import("..").TinaField[];
358
416
  label?: string;
359
417
  path?: string;
360
- format?: "markdown" | "mdx" | "json" | "md" | "yaml" | "yml" | "toml";
418
+ format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
361
419
  isDetached?: boolean;
362
420
  isAuthCollection?: boolean;
363
421
  }[];
@@ -372,6 +430,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
372
430
  searchClient?: any;
373
431
  indexBatchSize?: number;
374
432
  };
433
+ ui?: {
434
+ previewUrl?: (...args: unknown[]) => unknown;
435
+ optOutOfUpdateCheck?: boolean;
436
+ regexValidation?: {
437
+ folderNameRegex?: string;
438
+ };
439
+ };
375
440
  client?: {
376
441
  referenceDepth?: number;
377
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
  };
package/package.json CHANGED
@@ -1,16 +1,9 @@
1
1
  {
2
2
  "name": "@tinacms/schema-tools",
3
- "version": "0.0.0-e5c0e91-20250421003142",
3
+ "type": "module",
4
+ "version": "0.0.0-e96d36b-20251210035710",
4
5
  "main": "dist/index.js",
5
- "module": "./dist/index.mjs",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.ts",
9
- "import": "./dist/index.mjs",
10
- "require": "./dist/index.js"
11
- }
12
- },
13
- "typings": "dist/index.d.ts",
6
+ "types": "dist/index.d.ts",
14
7
  "files": [
15
8
  "dist"
16
9
  ],
@@ -26,17 +19,16 @@
26
19
  "@types/jest": "^29.5.14",
27
20
  "@types/micromatch": "^4.0.9",
28
21
  "@types/react": "^18.3.18",
29
- "@types/yup": "^0.29.14",
30
22
  "jest": "^29.7.0",
31
23
  "react": "^18.3.1",
32
24
  "ts-jest": "^29.2.5",
33
25
  "typescript": "^5.7.3",
34
- "yup": "^0.32.11",
35
- "@tinacms/scripts": "1.3.4"
26
+ "yup": "^1.6.1",
27
+ "@tinacms/scripts": "1.4.2"
36
28
  },
37
29
  "peerDependencies": {
38
30
  "react": ">=16.14.0",
39
- "yup": "^0.32.0"
31
+ "yup": "^1.0.0"
40
32
  },
41
33
  "publishConfig": {
42
34
  "registry": "https://registry.npmjs.org"