sanity 3.26.2-canary.52 → 3.26.2-canary.69

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 (112) hide show
  1. package/lib/_chunks/{_internal-2CJ5wSKF.js → _internal-6Pl2wJGj.js} +422 -201
  2. package/lib/_chunks/_internal-6Pl2wJGj.js.map +1 -0
  3. package/lib/_chunks/{_internal-79flWvL8.js → _internal-yQwMw2ht.js} +419 -203
  4. package/lib/_chunks/_internal-yQwMw2ht.js.map +1 -0
  5. package/lib/_chunks/{_internalBrowser-QAFz3SKp.js → _internalBrowser-HWvRXvlU.js} +22 -22
  6. package/lib/_chunks/_internalBrowser-HWvRXvlU.js.map +1 -0
  7. package/lib/_chunks/{_internalBrowser-Y0qKZ-GA.js → _internalBrowser-TWIhitgI.js} +22 -22
  8. package/lib/_chunks/_internalBrowser-TWIhitgI.js.map +1 -0
  9. package/lib/_chunks/{deployApiAction-SHteit1G.js → deployApiAction-TZcCtXan.js} +2 -2
  10. package/lib/_chunks/{deployApiAction-SHteit1G.js.map → deployApiAction-TZcCtXan.js.map} +1 -1
  11. package/lib/_chunks/{deployApiAction-bRyJpGOS.js → deployApiAction-rVL67VYW.js} +2 -2
  12. package/lib/_chunks/{deployApiAction-bRyJpGOS.js.map → deployApiAction-rVL67VYW.js.map} +1 -1
  13. package/lib/_chunks/{getStudioConfig-JSkc4GE0.js → getStudioWorkspaces-HX9o9-hl.js} +20 -4
  14. package/lib/_chunks/getStudioWorkspaces-HX9o9-hl.js.map +1 -0
  15. package/lib/_chunks/{index-EO9iRnDS.js → index-2kSxso3r.js} +2 -2
  16. package/lib/_chunks/{index-EO9iRnDS.js.map → index-2kSxso3r.js.map} +1 -1
  17. package/lib/_chunks/{index-FQCCBbuC.js → index-751ZLh3z.js} +6 -6
  18. package/lib/_chunks/{index-FQCCBbuC.js.map → index-751ZLh3z.js.map} +1 -1
  19. package/lib/_chunks/{index-VNSHvpZr.js → index-HcF369ru.js} +2 -2
  20. package/lib/_chunks/{index-VNSHvpZr.js.map → index-HcF369ru.js.map} +1 -1
  21. package/lib/_chunks/{index-Xs2xnLUV.js → index-MAAxgUnl.js} +6 -6
  22. package/lib/_chunks/{index-Xs2xnLUV.js.map → index-MAAxgUnl.js.map} +1 -1
  23. package/lib/_chunks/{index-AaK2CidU.js → index-NweJPfGb.js} +2 -2
  24. package/lib/_chunks/{index-AaK2CidU.js.map → index-NweJPfGb.js.map} +1 -1
  25. package/lib/_chunks/{index-R7R6AyHF.js → index-zobOqko7.js} +2 -2
  26. package/lib/_chunks/{index-R7R6AyHF.js.map → index-zobOqko7.js.map} +1 -1
  27. package/lib/_chunks/{listApisAction-6lGkFZrU.js → listApisAction-IvKV4iAd.js} +2 -2
  28. package/lib/_chunks/{listApisAction-6lGkFZrU.js.map → listApisAction-IvKV4iAd.js.map} +1 -1
  29. package/lib/_chunks/{listApisAction-CqCkBz-F.js → listApisAction-oca2uykY.js} +2 -2
  30. package/lib/_chunks/{listApisAction-CqCkBz-F.js.map → listApisAction-oca2uykY.js.map} +1 -1
  31. package/lib/_chunks/pane-9HEeITpx.js +5 -0
  32. package/lib/_chunks/pane-9HEeITpx.js.map +1 -0
  33. package/lib/_chunks/pane-QyVrOLqS.js +2 -0
  34. package/lib/_chunks/pane-QyVrOLqS.js.map +1 -0
  35. package/lib/_chunks/pane-TXXUUvdc.js +5 -0
  36. package/lib/_chunks/pane-TXXUUvdc.js.map +1 -0
  37. package/lib/_chunks/pane-cQxQtBcL.js +2 -0
  38. package/lib/_chunks/pane-cQxQtBcL.js.map +1 -0
  39. package/lib/_chunks/{structure-qJLnDJXq.js → structure-iqIDIH7-.js} +3 -3
  40. package/lib/_chunks/structure-iqIDIH7-.js.map +1 -0
  41. package/lib/_chunks/{structure-588eAwLd.js → structure-o_wMXC_G.js} +3 -3
  42. package/lib/_chunks/structure-o_wMXC_G.js.map +1 -0
  43. package/lib/_chunks/validateAction-4Jl_y_iB.js +154 -0
  44. package/lib/_chunks/validateAction-4Jl_y_iB.js.map +1 -0
  45. package/lib/_chunks/{validateAction-GUvMkXiN.js → validateAction-6q8Sqwaz.js} +25 -73
  46. package/lib/_chunks/validateAction-6q8Sqwaz.js.map +1 -0
  47. package/lib/_chunks/validateAction-Bz67ApRP.js +143 -0
  48. package/lib/_chunks/validateAction-Bz67ApRP.js.map +1 -0
  49. package/lib/_chunks/{validateAction-NIrqtyYJ.js → validateAction-shi462sq.js} +27 -75
  50. package/lib/_chunks/validateAction-shi462sq.js.map +1 -0
  51. package/lib/_internal/cli/threads/getGraphQLAPIs.js +2 -2
  52. package/lib/_internal/cli/threads/getGraphQLAPIs.js.map +1 -1
  53. package/lib/_internal/cli/threads/validateDocuments.js +5 -3
  54. package/lib/_internal/cli/threads/validateDocuments.js.map +1 -1
  55. package/lib/_internal/cli/threads/validateSchema.js +55 -0
  56. package/lib/_internal/cli/threads/validateSchema.js.map +1 -0
  57. package/lib/_internal.esm.js +1 -1
  58. package/lib/_internal.js +1 -1
  59. package/lib/_internalBrowser.esm.js +1 -1
  60. package/lib/_internalBrowser.js +1 -1
  61. package/lib/desk.esm.js +1 -1
  62. package/lib/desk.js +1 -1
  63. package/lib/exports/index.d.ts +25 -0
  64. package/lib/index.cjs.mjs +1 -0
  65. package/lib/index.esm.js +2 -2
  66. package/lib/index.js +2 -1
  67. package/lib/index.js.map +1 -1
  68. package/lib/structure.esm.js +1 -1
  69. package/lib/structure.js +1 -1
  70. package/package.json +15 -15
  71. package/src/_internal/cli/actions/schema/formatSchemaValidation.ts +96 -0
  72. package/src/_internal/cli/actions/schema/validateAction.ts +120 -0
  73. package/src/_internal/cli/actions/validation/reporters/prettyReporter/formatDocumentValidation.ts +17 -95
  74. package/src/_internal/cli/commands/index.ts +2 -0
  75. package/src/_internal/cli/commands/migration/createMigrationCommand.ts +18 -10
  76. package/src/_internal/cli/commands/migration/listMigrationsCommand.ts +34 -31
  77. package/src/_internal/cli/commands/migration/prettyMutationFormatter.ts +214 -0
  78. package/src/_internal/cli/commands/migration/runMigrationCommand.ts +102 -58
  79. package/src/_internal/cli/commands/migration/templates/minimalAdvanced.ts +1 -1
  80. package/src/_internal/cli/commands/migration/templates/minimalSimple.ts +1 -1
  81. package/src/_internal/cli/commands/migration/templates/renameField.ts +3 -3
  82. package/src/_internal/cli/commands/migration/templates/renameType.ts +1 -1
  83. package/src/_internal/cli/commands/migration/templates/stringToPTE.ts +1 -1
  84. package/src/_internal/cli/commands/migration/utils/mutationFormatter.ts +1 -1
  85. package/src/_internal/cli/commands/schema/validateSchemaCommand.ts +35 -0
  86. package/src/_internal/cli/threads/getGraphQLAPIs.ts +2 -2
  87. package/src/_internal/cli/threads/validateDocuments.ts +6 -3
  88. package/src/_internal/cli/threads/validateSchema.ts +73 -0
  89. package/src/_internal/cli/util/{getStudioConfig.ts → getStudioWorkspaces.ts} +30 -8
  90. package/src/_internal/cli/util/tree.ts +110 -0
  91. package/src/core/config/index.ts +1 -0
  92. package/src/core/config/prepareConfig.ts +2 -5
  93. package/src/core/config/resolveSchemaTypes.ts +29 -0
  94. package/src/core/studio/screens/schemaErrors/SchemaProblemGroups.tsx +4 -2
  95. package/src/structure/comments/src/components/pte/blocks/MentionInlineBlock.tsx +13 -6
  96. package/lib/_chunks/_internal-2CJ5wSKF.js.map +0 -1
  97. package/lib/_chunks/_internal-79flWvL8.js.map +0 -1
  98. package/lib/_chunks/_internalBrowser-QAFz3SKp.js.map +0 -1
  99. package/lib/_chunks/_internalBrowser-Y0qKZ-GA.js.map +0 -1
  100. package/lib/_chunks/getStudioConfig-JSkc4GE0.js.map +0 -1
  101. package/lib/_chunks/pane-QmJb9ZTN.js +0 -2
  102. package/lib/_chunks/pane-QmJb9ZTN.js.map +0 -1
  103. package/lib/_chunks/pane-SK7FWNTJ.js +0 -2
  104. package/lib/_chunks/pane-SK7FWNTJ.js.map +0 -1
  105. package/lib/_chunks/pane-y4hpcKe1.js +0 -5
  106. package/lib/_chunks/pane-y4hpcKe1.js.map +0 -1
  107. package/lib/_chunks/pane-yQXBQyyI.js +0 -5
  108. package/lib/_chunks/pane-yQXBQyyI.js.map +0 -1
  109. package/lib/_chunks/structure-588eAwLd.js.map +0 -1
  110. package/lib/_chunks/structure-qJLnDJXq.js.map +0 -1
  111. package/lib/_chunks/validateAction-GUvMkXiN.js.map +0 -1
  112. package/lib/_chunks/validateAction-NIrqtyYJ.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ var worker_threads = require('worker_threads');
4
+ var _internal = require('@sanity/schema/_internal');
5
+ var getStudioWorkspaces = require('../../../_chunks/getStudioWorkspaces-HX9o9-hl.js');
6
+ var mockBrowserEnvironment = require('../../../_chunks/mockBrowserEnvironment-1iCrZBr6.js');
7
+ var sanity = require('sanity');
8
+ var _a;
9
+ const {
10
+ workDir,
11
+ workspace: workspaceName,
12
+ level = "warning"
13
+ } = worker_threads.workerData;
14
+ if (worker_threads.isMainThread || !worker_threads.parentPort) {
15
+ throw new Error("This module must be run as a worker thread");
16
+ }
17
+ const cleanup = mockBrowserEnvironment.mockBrowserEnvironment(workDir);
18
+ try {
19
+ const workspaces = getStudioWorkspaces.getStudioConfig({
20
+ basePath: workDir
21
+ });
22
+ if (!workspaces.length) {
23
+ throw new Error("Configuration did not return any workspaces.");
24
+ }
25
+ let workspace;
26
+ if (workspaceName) {
27
+ workspace = workspaces.find(w => w.name === workspaceName);
28
+ if (!workspace) {
29
+ throw new Error("Could not find any workspaces with name `".concat(workspaceName, "`"));
30
+ }
31
+ } else {
32
+ if (workspaces.length !== 1) {
33
+ throw new Error("Multiple workspaces found. Please specify which workspace to use with '--workspace'.");
34
+ }
35
+ workspace = workspaces[0];
36
+ }
37
+ const schemaTypes = sanity.resolveSchemaTypes({
38
+ config: workspace,
39
+ context: {
40
+ dataset: workspace.dataset,
41
+ projectId: workspace.projectId
42
+ }
43
+ });
44
+ const validation = _internal.groupProblems(_internal.validateSchema(schemaTypes).getTypes());
45
+ const result = {
46
+ validation: validation.map(group => ({
47
+ ...group,
48
+ problems: group.problems.filter(problem => level === "error" ? problem.severity === "error" : true)
49
+ })).filter(group => group.problems.length)
50
+ };
51
+ (_a = worker_threads.parentPort) == null ? void 0 : _a.postMessage(result);
52
+ } finally {
53
+ cleanup();
54
+ }
55
+ //# sourceMappingURL=validateSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSchema.js","sources":["../../../../src/_internal/cli/threads/validateSchema.ts"],"sourcesContent":["import {isMainThread, parentPort, workerData as _workerData} from 'worker_threads'\nimport {type SchemaValidationProblem, type SchemaValidationProblemGroup} from '@sanity/types'\nimport {validateSchema, groupProblems} from '@sanity/schema/_internal'\nimport {getStudioConfig} from '../util/getStudioWorkspaces'\nimport {mockBrowserEnvironment} from '../util/mockBrowserEnvironment'\nimport {resolveSchemaTypes} from 'sanity'\n\nexport interface ValidateSchemaWorkerData {\n workDir: string\n workspace?: string\n level?: SchemaValidationProblem['severity']\n}\n\nexport interface ValidateSchemaWorkerResult {\n validation: SchemaValidationProblemGroup[]\n}\n\nconst {\n workDir,\n workspace: workspaceName,\n level = 'warning',\n} = _workerData as ValidateSchemaWorkerData\n\nif (isMainThread || !parentPort) {\n throw new Error('This module must be run as a worker thread')\n}\n\nconst cleanup = mockBrowserEnvironment(workDir)\n\ntry {\n const workspaces = getStudioConfig({basePath: workDir})\n\n if (!workspaces.length) {\n throw new Error(`Configuration did not return any workspaces.`)\n }\n\n let workspace\n if (workspaceName) {\n workspace = workspaces.find((w) => w.name === workspaceName)\n if (!workspace) {\n throw new Error(`Could not find any workspaces with name \\`${workspaceName}\\``)\n }\n } else {\n if (workspaces.length !== 1) {\n throw new Error(\n \"Multiple workspaces found. Please specify which workspace to use with '--workspace'.\",\n )\n }\n workspace = workspaces[0]\n }\n\n const schemaTypes = resolveSchemaTypes({\n config: workspace,\n context: {dataset: workspace.dataset, projectId: workspace.projectId},\n })\n\n const validation = groupProblems(validateSchema(schemaTypes).getTypes())\n\n const result: ValidateSchemaWorkerResult = {\n validation: validation\n .map((group) => ({\n ...group,\n problems: group.problems.filter((problem) =>\n level === 'error' ? problem.severity === 'error' : true,\n ),\n }))\n .filter((group) => group.problems.length),\n }\n\n parentPort?.postMessage(result)\n} finally {\n cleanup()\n}\n"],"names":["_a","workDir","workspace","workspaceName","level","_workerData","isMainThread","parentPort","Error","cleanup","mockBrowserEnvironment","workspaces","getStudioConfig","basePath","length","find","w","name","concat","schemaTypes","resolveSchemaTypes","config","context","dataset","projectId","validation","groupProblems","validateSchema","getTypes","result","map","group","problems","filter","problem","severity","postMessage"],"mappings":";;;;;;;AAAA,IAAAA,EAAA;AAiBA,MAAM;EACJC,OAAA;EACAC,SAAW,EAAAC,aAAA;EACXC,KAAQ,GAAA;AACV,CAAI,GAAAC,yBAAA;AAEJ,IAAIC,cAAA,CAAAA,YAAA,IAAgB,CAACC,cAAAA,CAAAA,UAAY,EAAA;EACzB,MAAA,IAAIC,MAAM,4CAA4C,CAAA;AAC9D;AAEA,MAAMC,OAAA,GAAUC,sBAAAA,CAAAA,uBAAuBT,OAAO,CAAA;AAE9C,IAAI;EACF,MAAMU,UAAa,GAAAC,mBAAA,CAAAA,eAAA,CAAgB;IAACC,QAAA,EAAUZ;EAAQ,CAAA,CAAA;EAElD,IAAA,CAACU,WAAWG,MAAQ,EAAA;IAChB,MAAA,IAAIN,MAAM,8CAA8C,CAAA;EAChE;EAEI,IAAAN,SAAA;EACJ,IAAIC,aAAe,EAAA;IACjBD,SAAA,GAAYS,WAAWI,IAAK,CAACC,CAAM,IAAAA,CAAA,CAAEC,SAASd,aAAa,CAAA;IAC3D,IAAI,CAACD,SAAW,EAAA;MACd,MAAM,IAAIM,KAAA,CAAM,2CAA6C,CAAAU,MAAA,CAAAf,aAAA,EAAa,GAAI,CAAA,CAAA;IAChF;EAAA,CACK,MAAA;IACD,IAAAQ,UAAA,CAAWG,WAAW,CAAG,EAAA;MAC3B,MAAM,IAAIN,KAAA,CACR,sFAAA,CACF;IACF;IACAN,SAAA,GAAYS,WAAW,CAAC,CAAA;EAC1B;EAEA,MAAMQ,cAAcC,MAAAA,CAAAA,kBAAmB,CAAA;IACrCC,MAAQ,EAAAnB,SAAA;IACRoB,SAAS;MAACC,OAAA,EAASrB,UAAUqB,OAAS;MAAAC,SAAA,EAAWtB,UAAUsB;IAAS;EAAA,CACrE,CAAA;EAED,MAAMC,aAAaC,SAAAA,CAAAA,aAAc,CAAAC,SAAAA,CAAAA,cAAA,CAAeR,WAAW,CAAA,CAAES,UAAU,CAAA;EAEvE,MAAMC,MAAqC,GAAA;IACzCJ,UAAY,EAAAA,UAAA,CACTK,GAAI,CAACC,KAAW,KAAA;MACf,GAAGA,KAAA;MACHC,QAAA,EAAUD,MAAMC,QAAS,CAAAC,MAAA,CAAQC,OAC/B,IAAA9B,KAAA,KAAU,OAAU,GAAA8B,OAAA,CAAQC,aAAa,OAAU,GAAA,IACrD;IAAA,EACA,CACD,CAAAF,MAAA,CAAQF,KAAU,IAAAA,KAAA,CAAMC,SAASlB,MAAM;EAAA,CAC5C;EAEA,CAAAd,EAAA,GAAAO,cAAA,CAAAA,UAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAP,EAAA,CAAYoC,WAAY,CAAAP,MAAA,CAAA;AAC1B,CAAE,SAAA;EACQpB,OAAA,EAAA;AACV"}
@@ -1,2 +1,2 @@
1
- export { cliProjectCommands } from './_chunks/_internal-79flWvL8.js';
1
+ export { cliProjectCommands } from './_chunks/_internal-yQwMw2ht.js';
2
2
  //# sourceMappingURL=_internal.esm.js.map
package/lib/_internal.js CHANGED
@@ -3,6 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var _internal = require('./_chunks/_internal-2CJ5wSKF.js');
6
+ var _internal = require('./_chunks/_internal-6Pl2wJGj.js');
7
7
  exports.cliProjectCommands = _internal.cliProjectCommands;
8
8
  //# sourceMappingURL=_internal.js.map
@@ -1,4 +1,4 @@
1
- export { getSearchTypesWithMaxDepth, getSearchableTypes, useSearchMaxFieldDepth } from './_chunks/_internalBrowser-QAFz3SKp.js';
1
+ export { getSearchTypesWithMaxDepth, getSearchableTypes, useSearchMaxFieldDepth } from './_chunks/_internalBrowser-HWvRXvlU.js';
2
2
  import 'lodash/sortBy.js';
3
3
  import 'rxjs/operators';
4
4
  import 'lodash/compact.js';
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var _internalBrowser = require('./_chunks/_internalBrowser-Y0qKZ-GA.js');
6
+ var _internalBrowser = require('./_chunks/_internalBrowser-TWIhitgI.js');
7
7
  require('lodash/sortBy.js');
8
8
  require('rxjs/operators');
9
9
  require('lodash/compact.js');
package/lib/desk.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ComponentBuilder as ComponentBuilder$1, ComponentViewBuilder as ComponentViewBuilder$1, ConfirmDeleteDialogContainer, DEFAULT_INTENT_HANDLER as DEFAULT_INTENT_HANDLER$1, StructureToolProvider, DocumentBuilder as DocumentBuilder$1, DocumentInspectorHeader as DocumentInspectorHeader$1, DocumentListBuilder as DocumentListBuilder$1, DocumentListItemBuilder as DocumentListItemBuilder$1, DocumentListPane as DocumentListPane$1, DocumentPane as DocumentPane$1, DocumentPaneProvider as DocumentPaneProvider$1, DocumentTypeListBuilder as DocumentTypeListBuilder$1, FormViewBuilder as FormViewBuilder$1, GenericListBuilder as GenericListBuilder$1, GenericViewBuilder as GenericViewBuilder$1, HELP_URL as HELP_URL$1, InitialValueTemplateItemBuilder as InitialValueTemplateItemBuilder$1, ListBuilder as ListBuilder$1, ListItemBuilder as ListItemBuilder$1, MenuItemBuilder as MenuItemBuilder$1, MenuItemGroupBuilder as MenuItemGroupBuilder$1, PaneLayout as PaneLayout$1, PaneRouterContext as PaneRouterContext$1, SerializeError as SerializeError$1, component as component$1, createStructureBuilder as createStructureBuilder$1, defaultInitialValueTemplateItems as defaultInitialValueTemplateItems$1, defaultIntentChecker as defaultIntentChecker$1, structureTool, documentFromEditor as documentFromEditor$1, documentFromEditorWithInitialValue as documentFromEditorWithInitialValue$1, form as form$1, getOrderingMenuItem as getOrderingMenuItem$1, getOrderingMenuItemsForSchemaType as getOrderingMenuItemsForSchemaType$1, getTypeNamesFromFilter as getTypeNamesFromFilter$1, isDocumentListItem as isDocumentListItem$1, maybeSerializeInitialValueTemplateItem as maybeSerializeInitialValueTemplateItem$1, maybeSerializeMenuItem as maybeSerializeMenuItem$1, maybeSerializeMenuItemGroup as maybeSerializeMenuItemGroup$1, maybeSerializeView as maybeSerializeView$1, menuItemsFromInitialValueTemplateItems as menuItemsFromInitialValueTemplateItems$1, shallowIntentChecker as shallowIntentChecker$1, structureLocaleNamespace as structureLocaleNamespace$1, useStructureTool, useDocumentPane as useDocumentPane$1, useDocumentTitle as useDocumentTitle$1, usePaneRouter as usePaneRouter$1 } from './_chunks/structure-qJLnDJXq.js';
1
+ import { ComponentBuilder as ComponentBuilder$1, ComponentViewBuilder as ComponentViewBuilder$1, ConfirmDeleteDialogContainer, DEFAULT_INTENT_HANDLER as DEFAULT_INTENT_HANDLER$1, StructureToolProvider, DocumentBuilder as DocumentBuilder$1, DocumentInspectorHeader as DocumentInspectorHeader$1, DocumentListBuilder as DocumentListBuilder$1, DocumentListItemBuilder as DocumentListItemBuilder$1, DocumentListPane as DocumentListPane$1, DocumentPane as DocumentPane$1, DocumentPaneProvider as DocumentPaneProvider$1, DocumentTypeListBuilder as DocumentTypeListBuilder$1, FormViewBuilder as FormViewBuilder$1, GenericListBuilder as GenericListBuilder$1, GenericViewBuilder as GenericViewBuilder$1, HELP_URL as HELP_URL$1, InitialValueTemplateItemBuilder as InitialValueTemplateItemBuilder$1, ListBuilder as ListBuilder$1, ListItemBuilder as ListItemBuilder$1, MenuItemBuilder as MenuItemBuilder$1, MenuItemGroupBuilder as MenuItemGroupBuilder$1, PaneLayout as PaneLayout$1, PaneRouterContext as PaneRouterContext$1, SerializeError as SerializeError$1, component as component$1, createStructureBuilder as createStructureBuilder$1, defaultInitialValueTemplateItems as defaultInitialValueTemplateItems$1, defaultIntentChecker as defaultIntentChecker$1, structureTool, documentFromEditor as documentFromEditor$1, documentFromEditorWithInitialValue as documentFromEditorWithInitialValue$1, form as form$1, getOrderingMenuItem as getOrderingMenuItem$1, getOrderingMenuItemsForSchemaType as getOrderingMenuItemsForSchemaType$1, getTypeNamesFromFilter as getTypeNamesFromFilter$1, isDocumentListItem as isDocumentListItem$1, maybeSerializeInitialValueTemplateItem as maybeSerializeInitialValueTemplateItem$1, maybeSerializeMenuItem as maybeSerializeMenuItem$1, maybeSerializeMenuItemGroup as maybeSerializeMenuItemGroup$1, maybeSerializeView as maybeSerializeView$1, menuItemsFromInitialValueTemplateItems as menuItemsFromInitialValueTemplateItems$1, shallowIntentChecker as shallowIntentChecker$1, structureLocaleNamespace as structureLocaleNamespace$1, useStructureTool, useDocumentPane as useDocumentPane$1, useDocumentTitle as useDocumentTitle$1, usePaneRouter as usePaneRouter$1 } from './_chunks/structure-iqIDIH7-.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import '@sanity/ui';
package/lib/desk.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var structure = require('./_chunks/structure-588eAwLd.js');
6
+ var structure = require('./_chunks/structure-o_wMXC_G.js');
7
7
  require('react/jsx-runtime');
8
8
  require('react');
9
9
  require('@sanity/ui');
@@ -2170,6 +2170,10 @@ export declare interface ConfigContext {
2170
2170
  i18n: LocaleSource
2171
2171
  }
2172
2172
 
2173
+ declare type ConfigContext_2<T> = T extends ConfigPropertyReducer<any, infer TContext>
2174
+ ? TContext
2175
+ : never
2176
+
2173
2177
  /** @internal */
2174
2178
  export declare class ConfigPropertyError extends Error {
2175
2179
  propertyName: string
@@ -8805,6 +8809,20 @@ export declare interface ResolveProductionUrlContext extends ConfigContext {
8805
8809
  document: SanityDocumentLike
8806
8810
  }
8807
8811
 
8812
+ /**
8813
+ * @internal
8814
+ * @hidden
8815
+ */
8816
+ export declare function resolveSchemaTypes({
8817
+ config,
8818
+ context,
8819
+ }: ResolveSchemaTypesOptions): SchemaTypeDefinition[]
8820
+
8821
+ declare interface ResolveSchemaTypesOptions {
8822
+ config: PluginOptions
8823
+ context: SchemaTypeContext
8824
+ }
8825
+
8808
8826
  /** @internal */
8809
8827
  export declare interface ResourceCache {
8810
8828
  get<T = unknown>(options: {namespace: string; dependencies: (object | null)[]}): T | undefined
@@ -9096,6 +9114,13 @@ export declare interface SchemaPluginOptions {
9096
9114
  templates?: Template[] | TemplateResolver
9097
9115
  }
9098
9116
 
9117
+ declare type SchemaTypeContext = ConfigContext_2<typeof schemaTypesReducer>
9118
+
9119
+ declare const schemaTypesReducer: ConfigPropertyReducer<
9120
+ SchemaTypeDefinition[],
9121
+ Omit<ConfigContext, 'schema' | 'currentUser' | 'client' | 'getClient' | 'i18n'>
9122
+ >
9123
+
9099
9124
  /**
9100
9125
  * This provides a utility function for use within Sanity Studios to create scrollable containers
9101
9126
  * It also provides a way for components inside a scrollable container to track onScroll on their first parent scroll container
package/lib/index.cjs.mjs CHANGED
@@ -280,6 +280,7 @@ export const resolveDiffComponent = cjs.resolveDiffComponent;
280
280
  export const resolveInitialObjectValue = cjs.resolveInitialObjectValue;
281
281
  export const resolveInitialValue = cjs.resolveInitialValue;
282
282
  export const resolveInitialValueForType = cjs.resolveInitialValueForType;
283
+ export const resolveSchemaTypes = cjs.resolveSchemaTypes;
283
284
  export const set = cjs.set;
284
285
  export const setIfMissing = cjs.setIfMissing;
285
286
  export const sliceString = cjs.sliceString;
package/lib/index.esm.js CHANGED
@@ -5,8 +5,8 @@ import * as PathUtils from '@sanity/util/paths';
5
5
  import { pathFor, isEqual as isEqual$1, toString, trimChildPath as trimChildPath$1, startsWith } from '@sanity/util/paths';
6
6
  import React, { useCallback, useMemo, useEffect, useState, useRef, useContext, createElement, StrictMode, useLayoutEffect } from 'react';
7
7
  import deepCompare from 'react-fast-compare';
8
- import { ConnectorContext, useReporter, ScrollContext, resizeObserver, useReportedValues, SvgWrapper, Connector, DEBUG_LAYER_BOUNDS, isNonNullable as isNonNullable$1, Tracker, ScrollContainer, HookStateContainer, useDocumentStore, useCurrentLocale, useListFormat, intlCache, useRelativeTime, useSource, useUserColorManager, useTranslation, getAnnotationColor, DiffTooltip, Checkbox, FromToArrow, Preview, DiffFromTo, StringPreview, SlugPreview, DatetimeFieldDiff, pathToString, HoveredFieldContext, ArrayOfObjectsFunctions, DefaultMarkers, FormBuilderContext, FormCallbacksProvider, DocumentIdProvider, PresenceProvider, ValidationProvider, EMPTY_ARRAY as EMPTY_ARRAY$2, useInputComponent, useFieldComponent, usePreviewComponent, useItemComponent, useBlockComponent, useInlineBlockComponent, useAnnotationComponent, PreviewLoader, PatchEvent, GetFormValueProvider, FormValueProvider, DocumentFieldActionsProvider, ReviewChangesContext, FormFieldPresenceContext, ArrayOfObjectsItem, MemberItemError, defaultResolveAnnotationComponent, defaultResolveBlockComponent, defaultResolveInlineBlockComponent, defaultResolveFieldComponent, defaultResolveInputComponent, defaultResolveItemComponent, memoize, memoizeKeyGen, memoizedPair, validateTemplates, isBuilder, getPublishedId, useHistoryStore, useClient, DEFAULT_STUDIO_CLIENT_OPTIONS, useProjectStore, prepareConfig, StudioProvider, GlobalStyle, StudioLayout, useReferringDocuments, ZIndexContext, defaults, isMemberArrayOfObjects, isMemberObject, getFieldLevel, isRecord, useCurrentUser, immutableReconcile, SANITY_PATCH_TYPE } from './_chunks/_internalBrowser-QAFz3SKp.js';
9
- export { ActiveWorkspaceMatcher, ActiveWorkspaceMatcherContext, ArrayOfObjectOptionsInput, ArrayOfObjectsInput, ArrayOfOptionsInput, ArrayOfPrimitiveOptionsInput, ArrayOfPrimitivesFunctions, ArrayOfPrimitivesInput, ArrayOfPrimitivesItem, AutoCollapseMenu, PortableTextInput as BlockEditor, BlockImagePreview, BlockPreview, BooleanInput, CONNECTING, ChangeBreadcrumb, ChangeIndicator, ChangeIndicatorContext, ChangeList, ChangeResolver, ChangeTitleSegment, CircularProgress, CollapseMenu, CollapseMenuButton, ColorSchemeCustomProvider, ColorSchemeLocalStorageProvider, ColorSchemeProvider, ColorSchemeSetValueContext, ColorSchemeValueContext, CommandList, CompactPreview, ConfigPropertyError, ConfigResolutionError, ContextMenuButton, CorsOriginError, StudioCrossDatasetReferenceInput as CrossDatasetReferenceInput, DEFAULT_MAX_RECURSION_DEPTH, DRAFTS_FOLDER, DateInput, DateTimeInput, DefaultPreview, DetailPreview, DiffCard, DiffContext, DiffErrorBoundary, DiffInspectWrapper, DiffString, DiffStringSegment, DocumentChangeContext, DocumentPreviewPresence, DocumentStatus, DocumentStatusIndicator, EMPTY_OBJECT, EmailInput, FallbackDiff, FieldActionMenu, FieldActionsProvider, FieldActionsResolver, FieldChange, FieldPresence, FieldPresenceInner, FieldPresenceWithOverlay, FieldPresenceWithoutOverlay, StudioFileInput as FileInput, FormCallbacksContext, FormField, FormFieldHeaderText, FormFieldSet, FormFieldStatus, FormFieldValidationStatus, FormInput, FromTo, GroupChange, StudioImageInput as ImageInput, ImperativeToast, InlinePreview, InsufficientPermissionsMessage, LegacyLayerProvider, LinearProgress, LoadingBlock, LocaleProvider, LocaleProviderBase, MediaPreview, MemberField, MemberFieldError, MemberFieldSet, MetaInfo, NavbarContext, NoChanges, NumberInput, ObjectInput, ObjectInputMember, ObjectInputMembers, ObjectMembers, OverlayDisabled, PopoverDialog, PortableTextInput, PresenceOverlay, PreviewCard, StudioReferenceInput as ReferenceInput, ReferenceInputOptionsProvider, ResourceCacheProvider, RevertChangesButton, SANITY_VERSION, SESSION_ID, SanityDefaultPreview, SchemaError, SearchButton, SearchDialog, SelectInput, SlugInput, SourceProvider, StatusButton, StringInput, StudioLayoutComponent, StudioNavbar, StudioToolMenu, TagsArrayInput, TemplatePreview, TextInput, TextWithTone, Timeline, TimelineController, ToolLink, TooltipOfDisabled, TransformPatches, Translate, UniversalArrayInput, UrlInput, UserAvatar, UserColorManagerProvider, ValueError, VirtualizerScrollInstanceContext, VirtualizerScrollInstanceProvider, WorkspaceProvider, WorkspacesContext, WorkspacesProvider, __tmp_wrap_presenceStore, _createAuthStore, _useColorSchemeInternalValue, asLoadable, checkoutPair, collate, createAuthStore, createBufferedDocument, createConnectionStatusStore, createDocumentPreviewStore, createDocumentStore, createDraftFrom, createGrantsStore, createHistoryStore, createHookFromObservableFactory, createObservableBufferedDocument, createProjectStore, createPublishedFrom, createSchema, createSearchQuery, createSettingsStore, createSharedResizeObserver, createTrackerScope, createUseReporter, createUserColorManager, createUserStore, dec, defaultLocale, defaultTheme, defineLocale, defineLocaleResourceBundle, defineLocalesResources, defineSearchFilter, defineSearchFilterOperators, defineSearchOperator, diffMatchPatch, documentFieldActionsReducer, documentIdEquals, editState, emitOperation, escapeField, fieldNeedsEscape, findIndex, flattenConfig, getAnnotationAtPath, getDiffAtPath, getDocumentPairPermissions, getDocumentValuePermissions, getDraftId, getIdPair, getInitialValueStream, getItemKey, getItemKeySegment, getNamelessWorkspaceIdentifier, getPairListener, getPreviewPaths, getPreviewStateObservable, getPreviewValueWithFallback, getProviderTitle, getSchemaTypeTitle, getTemplatePermissions, getValueAtPath, getValueError, getWorkspaceIdentifier, globalScope, grantsPermissionOn, inc, initialDocumentFieldActions, insert, isAddedItemDiff, isArrayOfBlocksInputProps, isArrayOfObjectsInputProps, isArrayOfPrimitivesInputProps, isAuthStore, isBooleanInputProps, isCookielessCompatibleLoginMethod, isDev, isDraft, isDraftId, isEmptyObject, isFieldChange, isGroupChange, isNumberInputProps, isObjectInputProps, isObjectItemProps, isProd, isPublishedId, isRemovedItemDiff, isString, isStringInputProps, isUnchangedDiff, joinPath, listenQuery, matchWorkspace, newDraftFrom, noop, normalizeIndexSegment, normalizeIndexTupleSegment, normalizeKeySegment, normalizePathSegment, onRetry, operationEvents, operatorDefinitions, pathsAreEqual, prefixPath, prepareForPreview, removeDupes, removeMissingReferences, removeUndefinedLocaleResources, resolveDiffComponent, resolveInitialObjectValue, resolveInitialValue, resolveInitialValueForType, set, setIfMissing, sliceString, snapshotPair, stringToPath, supportsTouch, truncateString, unset, useDocumentPreview as unstable_useValuePreview, usEnglishLocale, useActiveWorkspace, useAnnotationColor, useColorScheme, useColorSchemeOptions, useColorSchemeSetValue, useColorSchemeValue, useConnectionStatusStore, useDataset, useDateTimeFormat, useDidUpdate, useDiffAnnotationColor, useDocumentChange, useDocumentOperation, useDocumentPairPermissions, useDocumentPairPermissionsFromHookFactory, useDocumentPresence, useDocumentPreviewStore, useDocumentValuePermissions, useDocumentValuePermissionsFromHookFactory, useDocumentValues, useFeatureEnabled, useFieldActions, useFormBuilder, useFormCallbacks, useFormValue, useGetI18nText, useGlobalPresence, useGrantsStore, useHoveredField, useI18nText, useInitialValue, useInitialValueResolverContext, useLoadable, useLocale, useMiddlewareComponents, usePresenceStore, usePreviewCard, useProjectId, useReferenceInputOptions, useResolveInitialValueForType, useResourceCache, useRovingFocus, useSchema, useSettingsStore, useTemplatePermissions, useTemplatePermissionsFromHookFactory, useTemplates, useUnique, useUnitFormatter, useUser, useUserColor, useUserStore, useVirtualizerScrollInstance, useWorkspace, useWorkspaces, useZIndex, userHasRole, validateBasePaths, validateDocument, validateNames, validateWorkspaces, validation, visitDiff } from './_chunks/_internalBrowser-QAFz3SKp.js';
8
+ import { ConnectorContext, useReporter, ScrollContext, resizeObserver, useReportedValues, SvgWrapper, Connector, DEBUG_LAYER_BOUNDS, isNonNullable as isNonNullable$1, Tracker, ScrollContainer, HookStateContainer, useDocumentStore, useCurrentLocale, useListFormat, intlCache, useRelativeTime, useSource, useUserColorManager, useTranslation, getAnnotationColor, DiffTooltip, Checkbox, FromToArrow, Preview, DiffFromTo, StringPreview, SlugPreview, DatetimeFieldDiff, pathToString, HoveredFieldContext, ArrayOfObjectsFunctions, DefaultMarkers, FormBuilderContext, FormCallbacksProvider, DocumentIdProvider, PresenceProvider, ValidationProvider, EMPTY_ARRAY as EMPTY_ARRAY$2, useInputComponent, useFieldComponent, usePreviewComponent, useItemComponent, useBlockComponent, useInlineBlockComponent, useAnnotationComponent, PreviewLoader, PatchEvent, GetFormValueProvider, FormValueProvider, DocumentFieldActionsProvider, ReviewChangesContext, FormFieldPresenceContext, ArrayOfObjectsItem, MemberItemError, defaultResolveAnnotationComponent, defaultResolveBlockComponent, defaultResolveInlineBlockComponent, defaultResolveFieldComponent, defaultResolveInputComponent, defaultResolveItemComponent, memoize, memoizeKeyGen, memoizedPair, validateTemplates, isBuilder, getPublishedId, useHistoryStore, useClient, DEFAULT_STUDIO_CLIENT_OPTIONS, useProjectStore, prepareConfig, StudioProvider, GlobalStyle, StudioLayout, useReferringDocuments, ZIndexContext, defaults, isMemberArrayOfObjects, isMemberObject, getFieldLevel, isRecord, useCurrentUser, immutableReconcile, SANITY_PATCH_TYPE } from './_chunks/_internalBrowser-HWvRXvlU.js';
9
+ export { ActiveWorkspaceMatcher, ActiveWorkspaceMatcherContext, ArrayOfObjectOptionsInput, ArrayOfObjectsInput, ArrayOfOptionsInput, ArrayOfPrimitiveOptionsInput, ArrayOfPrimitivesFunctions, ArrayOfPrimitivesInput, ArrayOfPrimitivesItem, AutoCollapseMenu, PortableTextInput as BlockEditor, BlockImagePreview, BlockPreview, BooleanInput, CONNECTING, ChangeBreadcrumb, ChangeIndicator, ChangeIndicatorContext, ChangeList, ChangeResolver, ChangeTitleSegment, CircularProgress, CollapseMenu, CollapseMenuButton, ColorSchemeCustomProvider, ColorSchemeLocalStorageProvider, ColorSchemeProvider, ColorSchemeSetValueContext, ColorSchemeValueContext, CommandList, CompactPreview, ConfigPropertyError, ConfigResolutionError, ContextMenuButton, CorsOriginError, StudioCrossDatasetReferenceInput as CrossDatasetReferenceInput, DEFAULT_MAX_RECURSION_DEPTH, DRAFTS_FOLDER, DateInput, DateTimeInput, DefaultPreview, DetailPreview, DiffCard, DiffContext, DiffErrorBoundary, DiffInspectWrapper, DiffString, DiffStringSegment, DocumentChangeContext, DocumentPreviewPresence, DocumentStatus, DocumentStatusIndicator, EMPTY_OBJECT, EmailInput, FallbackDiff, FieldActionMenu, FieldActionsProvider, FieldActionsResolver, FieldChange, FieldPresence, FieldPresenceInner, FieldPresenceWithOverlay, FieldPresenceWithoutOverlay, StudioFileInput as FileInput, FormCallbacksContext, FormField, FormFieldHeaderText, FormFieldSet, FormFieldStatus, FormFieldValidationStatus, FormInput, FromTo, GroupChange, StudioImageInput as ImageInput, ImperativeToast, InlinePreview, InsufficientPermissionsMessage, LegacyLayerProvider, LinearProgress, LoadingBlock, LocaleProvider, LocaleProviderBase, MediaPreview, MemberField, MemberFieldError, MemberFieldSet, MetaInfo, NavbarContext, NoChanges, NumberInput, ObjectInput, ObjectInputMember, ObjectInputMembers, ObjectMembers, OverlayDisabled, PopoverDialog, PortableTextInput, PresenceOverlay, PreviewCard, StudioReferenceInput as ReferenceInput, ReferenceInputOptionsProvider, ResourceCacheProvider, RevertChangesButton, SANITY_VERSION, SESSION_ID, SanityDefaultPreview, SchemaError, SearchButton, SearchDialog, SelectInput, SlugInput, SourceProvider, StatusButton, StringInput, StudioLayoutComponent, StudioNavbar, StudioToolMenu, TagsArrayInput, TemplatePreview, TextInput, TextWithTone, Timeline, TimelineController, ToolLink, TooltipOfDisabled, TransformPatches, Translate, UniversalArrayInput, UrlInput, UserAvatar, UserColorManagerProvider, ValueError, VirtualizerScrollInstanceContext, VirtualizerScrollInstanceProvider, WorkspaceProvider, WorkspacesContext, WorkspacesProvider, __tmp_wrap_presenceStore, _createAuthStore, _useColorSchemeInternalValue, asLoadable, checkoutPair, collate, createAuthStore, createBufferedDocument, createConnectionStatusStore, createDocumentPreviewStore, createDocumentStore, createDraftFrom, createGrantsStore, createHistoryStore, createHookFromObservableFactory, createObservableBufferedDocument, createProjectStore, createPublishedFrom, createSchema, createSearchQuery, createSettingsStore, createSharedResizeObserver, createTrackerScope, createUseReporter, createUserColorManager, createUserStore, dec, defaultLocale, defaultTheme, defineLocale, defineLocaleResourceBundle, defineLocalesResources, defineSearchFilter, defineSearchFilterOperators, defineSearchOperator, diffMatchPatch, documentFieldActionsReducer, documentIdEquals, editState, emitOperation, escapeField, fieldNeedsEscape, findIndex, flattenConfig, getAnnotationAtPath, getDiffAtPath, getDocumentPairPermissions, getDocumentValuePermissions, getDraftId, getIdPair, getInitialValueStream, getItemKey, getItemKeySegment, getNamelessWorkspaceIdentifier, getPairListener, getPreviewPaths, getPreviewStateObservable, getPreviewValueWithFallback, getProviderTitle, getSchemaTypeTitle, getTemplatePermissions, getValueAtPath, getValueError, getWorkspaceIdentifier, globalScope, grantsPermissionOn, inc, initialDocumentFieldActions, insert, isAddedItemDiff, isArrayOfBlocksInputProps, isArrayOfObjectsInputProps, isArrayOfPrimitivesInputProps, isAuthStore, isBooleanInputProps, isCookielessCompatibleLoginMethod, isDev, isDraft, isDraftId, isEmptyObject, isFieldChange, isGroupChange, isNumberInputProps, isObjectInputProps, isObjectItemProps, isProd, isPublishedId, isRemovedItemDiff, isString, isStringInputProps, isUnchangedDiff, joinPath, listenQuery, matchWorkspace, newDraftFrom, noop, normalizeIndexSegment, normalizeIndexTupleSegment, normalizeKeySegment, normalizePathSegment, onRetry, operationEvents, operatorDefinitions, pathsAreEqual, prefixPath, prepareForPreview, removeDupes, removeMissingReferences, removeUndefinedLocaleResources, resolveDiffComponent, resolveInitialObjectValue, resolveInitialValue, resolveInitialValueForType, resolveSchemaTypes, set, setIfMissing, sliceString, snapshotPair, stringToPath, supportsTouch, truncateString, unset, useDocumentPreview as unstable_useValuePreview, usEnglishLocale, useActiveWorkspace, useAnnotationColor, useColorScheme, useColorSchemeOptions, useColorSchemeSetValue, useColorSchemeValue, useConnectionStatusStore, useDataset, useDateTimeFormat, useDidUpdate, useDiffAnnotationColor, useDocumentChange, useDocumentOperation, useDocumentPairPermissions, useDocumentPairPermissionsFromHookFactory, useDocumentPresence, useDocumentPreviewStore, useDocumentValuePermissions, useDocumentValuePermissionsFromHookFactory, useDocumentValues, useFeatureEnabled, useFieldActions, useFormBuilder, useFormCallbacks, useFormValue, useGetI18nText, useGlobalPresence, useGrantsStore, useHoveredField, useI18nText, useInitialValue, useInitialValueResolverContext, useLoadable, useLocale, useMiddlewareComponents, usePresenceStore, usePreviewCard, useProjectId, useReferenceInputOptions, useResolveInitialValueForType, useResourceCache, useRovingFocus, useSchema, useSettingsStore, useTemplatePermissions, useTemplatePermissionsFromHookFactory, useTemplates, useUnique, useUnitFormatter, useUser, useUserColor, useUserStore, useVirtualizerScrollInstance, useWorkspace, useWorkspaces, useZIndex, userHasRole, validateBasePaths, validateDocument, validateNames, validateWorkspaces, validation, visitDiff } from './_chunks/_internalBrowser-HWvRXvlU.js';
10
10
  import sortBy from 'lodash/sortBy.js';
11
11
  import { useMemoObservable } from 'react-rx';
12
12
  import { of, timer, merge, BehaviorSubject, tap, map as map$1, distinctUntilChanged as distinctUntilChanged$1, catchError, combineLatest, firstValueFrom } from 'rxjs';
package/lib/index.js CHANGED
@@ -8,7 +8,7 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var PathUtils = require('@sanity/util/paths');
9
9
  var React = require('react');
10
10
  var deepCompare = require('react-fast-compare');
11
- var _internalBrowser = require('./_chunks/_internalBrowser-Y0qKZ-GA.js');
11
+ var _internalBrowser = require('./_chunks/_internalBrowser-TWIhitgI.js');
12
12
  var sortBy = require('lodash/sortBy.js');
13
13
  var reactRx = require('react-rx');
14
14
  var rxjs = require('rxjs');
@@ -4210,6 +4210,7 @@ exports.resolveDiffComponent = _internalBrowser.resolveDiffComponent;
4210
4210
  exports.resolveInitialObjectValue = _internalBrowser.resolveInitialObjectValue;
4211
4211
  exports.resolveInitialValue = _internalBrowser.resolveInitialValue;
4212
4212
  exports.resolveInitialValueForType = _internalBrowser.resolveInitialValueForType;
4213
+ exports.resolveSchemaTypes = _internalBrowser.resolveSchemaTypes;
4213
4214
  exports.set = _internalBrowser.set;
4214
4215
  exports.setIfMissing = _internalBrowser.setIfMissing;
4215
4216
  exports.sliceString = _internalBrowser.sliceString;