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
@@ -13,11 +13,11 @@ function _interopDefaultCompat(e) {
13
13
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
14
14
  var path__default = /*#__PURE__*/_interopDefaultCompat(path);
15
15
  const candidates = ["sanity.config.js", "sanity.config.jsx", "sanity.config.ts", "sanity.config.tsx"];
16
- async function getStudioConfig(options) {
17
- const {
16
+ function getStudioConfig(_ref) {
17
+ let {
18
18
  basePath,
19
19
  configPath: cfgPath
20
- } = options;
20
+ } = _ref;
21
21
  let cleanup;
22
22
  try {
23
23
  cleanup = mockBrowserEnvironment.mockBrowserEnvironment(basePath);
@@ -41,6 +41,21 @@ async function getStudioConfig(options) {
41
41
  });
42
42
  }
43
43
  if (!config) throw new Error("Configuration did not export expected config shape");
44
+ const normalized = Array.isArray(config) ? config : [{
45
+ ...config,
46
+ name: config.name || "default",
47
+ basePath: config.basePath || "/"
48
+ }];
49
+ return normalized;
50
+ } finally {
51
+ cleanup == null ? void 0 : cleanup();
52
+ }
53
+ }
54
+ async function getStudioWorkspaces(options) {
55
+ let cleanup;
56
+ try {
57
+ cleanup = mockBrowserEnvironment.mockBrowserEnvironment(options.basePath);
58
+ const config = getStudioConfig(options);
44
59
  const workspaces = await rxjs.firstValueFrom(sanity.resolveConfig(config));
45
60
  if (!workspaces) throw new Error("Failed to resolve configuration");
46
61
  return workspaces;
@@ -49,4 +64,5 @@ async function getStudioConfig(options) {
49
64
  }
50
65
  }
51
66
  exports.getStudioConfig = getStudioConfig;
52
- //# sourceMappingURL=getStudioConfig-JSkc4GE0.js.map
67
+ exports.getStudioWorkspaces = getStudioWorkspaces;
68
+ //# sourceMappingURL=getStudioWorkspaces-HX9o9-hl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStudioWorkspaces-HX9o9-hl.js","sources":["../../src/_internal/cli/util/getStudioWorkspaces.ts"],"sourcesContent":["/* eslint-disable no-sync */\nimport fs from 'fs'\nimport path from 'path'\nimport {firstValueFrom} from 'rxjs'\nimport {mockBrowserEnvironment} from './mockBrowserEnvironment'\nimport {resolveConfig, Config, Workspace, WorkspaceOptions} from 'sanity'\n\nconst candidates = [\n 'sanity.config.js',\n 'sanity.config.jsx',\n 'sanity.config.ts',\n 'sanity.config.tsx',\n]\n\ninterface GetStudioWorkspacesOptions {\n configPath?: string\n basePath: string\n}\n\n/**\n * Note: Don't run this on the main thread, use it a forked process\n */\nexport function getStudioConfig({\n basePath,\n configPath: cfgPath,\n}: GetStudioWorkspacesOptions): WorkspaceOptions[] {\n let cleanup\n try {\n cleanup = mockBrowserEnvironment(basePath)\n\n let configPath = cfgPath\n if (configPath && !fs.existsSync(configPath)) {\n throw new Error(`Failed to find config at \"${cfgPath}\"`)\n } else if (!configPath) {\n configPath = candidates\n .map((candidate) => path.join(basePath, candidate))\n .find((candidate) => fs.existsSync(candidate))\n }\n\n if (!configPath) {\n throw new Error(`Failed to resolve sanity.config.(js|ts) for base path \"${basePath}\"`)\n }\n\n let config: Config | undefined\n try {\n // eslint-disable-next-line import/no-dynamic-require\n const mod = require(configPath)\n config = mod.__esModule && mod.default ? mod.default : mod\n } catch (err) {\n const message = `Failed to load configuration file \"${configPath}\":\\n${err.message}`\n // this helps preserve the stack trace\n throw Object.assign(err, {message})\n }\n\n if (!config) throw new Error('Configuration did not export expected config shape')\n const normalized = Array.isArray(config)\n ? config\n : [{...config, name: config.name || 'default', basePath: config.basePath || '/'}]\n\n return normalized\n } finally {\n cleanup?.()\n }\n}\n\n/**\n * Note: Don't run this on the main thread, use it a forked process\n */\nexport async function getStudioWorkspaces(\n options: GetStudioWorkspacesOptions,\n): Promise<Workspace[]> {\n let cleanup\n\n try {\n cleanup = mockBrowserEnvironment(options.basePath)\n const config = getStudioConfig(options)\n const workspaces = await firstValueFrom(resolveConfig(config))\n if (!workspaces) throw new Error('Failed to resolve configuration')\n return workspaces\n } finally {\n cleanup?.()\n }\n}\n"],"names":["candidates","getStudioConfig","_ref","basePath","configPath","cfgPath","cleanup","mockBrowserEnvironment","fs","existsSync","Error","concat","map","candidate","path","join","find","default","config","mod","require","__esModule","err","message","Object","assign","normalized","Array","isArray","name","getStudioWorkspaces","options","workspaces","firstValueFrom","resolveConfig"],"mappings":";;;;;;;;;;;;;;AAOA,MAAMA,UAAa,GAAA,CACjB,kBAAA,EACA,mBAAA,EACA,kBAAA,EACA,mBAAA,CACF;AAUO,SAASC,eAAgBA,CAAAC,IAAA,EAGmB;EAAA,IAHnB;IAC9BC,QAAA;IACAC,UAAY,EAAAC;EACd,CAAmD,GAAAH,IAAA;EAC7C,IAAAI,OAAA;EACA,IAAA;IACFA,OAAA,GAAUC,sBAAAA,CAAAA,uBAAuBJ,QAAQ,CAAA;IAEzC,IAAIC,UAAa,GAAAC,OAAA;IACjB,IAAID,UAAc,IAAA,CAACI,WAAAA,CAAAA,OAAG,CAAAC,UAAA,CAAWL,UAAU,CAAG,EAAA;MAC5C,MAAM,IAAIM,KAAA,CAAM,4BAA6B,CAAAC,MAAA,CAAAN,OAAA,EAAO,GAAG,CAAA,CAAA;IAAA,CACzD,MAAA,IAAW,CAACD,UAAY,EAAA;MACtBA,UAAA,GAAaJ,WACVY,GAAI,CAACC,SAAc,IAAAC,aAAAA,CAAAA,OAAA,CAAKC,KAAKZ,QAAU,EAAAU,SAAS,CAAC,CAAA,CACjDG,KAAMH,SAAA,IAAcL,WAAG,CAAAS,OAAA,CAAAR,UAAA,CAAWI,SAAS,CAAC,CAAA;IACjD;IAEA,IAAI,CAACT,UAAY,EAAA;MACf,MAAM,IAAIM,KAAA,CAAM,yDAA0D,CAAAC,MAAA,CAAAR,QAAA,EAAQ,GAAG,CAAA,CAAA;IACvF;IAEI,IAAAe,MAAA;IACA,IAAA;MAEI,MAAAC,GAAA,GAAMC,QAAQhB,UAAU,CAAA;MAC9Bc,MAAA,GAASC,GAAI,CAAAE,UAAA,IAAcF,GAAI,CAAAF,OAAA,GAAUE,IAAIF,OAAU,GAAAE,GAAA;aAChDG,GAAK,EAAA;MACZ,MAAMC,OAAU,GAAA,qCAAA,CAAsCZ,MAAU,CAAAP,UAAA,EAAA,MAAA,CAAA,CAAOO,MAAI,CAAAW,GAAA,CAAAC,OAAA,CAAA;MAE3E,MAAMC,MAAO,CAAAC,MAAA,CAAOH,GAAK,EAAA;QAACC;MAAQ,CAAA,CAAA;IACpC;IAEA,IAAI,CAACL,MAAA,EAAc,MAAA,IAAIR,MAAM,oDAAoD,CAAA;IACjF,MAAMgB,aAAaC,KAAM,CAAAC,OAAA,CAAQV,MAAM,CACnC,GAAAA,MAAA,GACA,CAAC;MAAC,GAAGA,MAAQ;MAAAW,IAAA,EAAMX,OAAOW,IAAQ,IAAA,SAAA;MAAW1B,UAAUe,MAAO,CAAAf,QAAA,IAAY;KAAI,CAAA;IAE3E,OAAAuB,UAAA;EAAA,CACP,SAAA;IACApB,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAA,CAAA;EACF;AACF;AAKA,eAAsBwB,oBACpBC,OACsB,EAAA;EAClB,IAAAzB,OAAA;EAEA,IAAA;IACQA,OAAA,GAAAC,sBAAA,CAAAA,sBAAA,CAAuBwB,QAAQ5B,QAAQ,CAAA;IAC3C,MAAAe,MAAA,GAASjB,gBAAgB8B,OAAO,CAAA;IACtC,MAAMC,UAAa,GAAA,MAAMC,IAAAA,CAAAA,cAAe,CAAAC,MAAAA,CAAAA,aAAA,CAAchB,MAAM,CAAC,CAAA;IAC7D,IAAI,CAACc,UAAA,EAAkB,MAAA,IAAItB,MAAM,iCAAiC,CAAA;IAC3D,OAAAsB,UAAA;EAAA,CACP,SAAA;IACA1B,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAA,CAAA;EACF;AACF;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useState, createElement, isValidElement } from 'react';
3
3
  import { isValidElementType } from 'react-is';
4
- import { useStructureTool, PaneHeader, PaneHeaderActions, BackLink, usePane, Pane } from './structure-qJLnDJXq.js';
4
+ import { useStructureTool, PaneHeader, PaneHeaderActions, BackLink, usePane, Pane } from './structure-iqIDIH7-.js';
5
5
  import { useI18nText } from 'sanity';
6
6
  import { Box } from '@sanity/ui';
7
7
  import { Button } from './TooltipDelayGroupProvider-RYrcz6yM.js';
@@ -114,4 +114,4 @@ function UserComponentPane(props) {
114
114
  });
115
115
  }
116
116
  export { UserComponentPane as default };
117
- //# sourceMappingURL=index-EO9iRnDS.js.map
117
+ //# sourceMappingURL=index-2kSxso3r.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-EO9iRnDS.js","sources":["../../src/structure/panes/userComponent/UserComponentPaneHeader.tsx","../../src/structure/panes/userComponent/UserComponentPaneContent.tsx","../../src/structure/panes/userComponent/UserComponentPane.tsx"],"sourcesContent":["import React from 'react'\nimport {ArrowLeftIcon} from '@sanity/icons'\nimport {Button} from '../../../ui-components'\nimport type {PaneMenuItem, PaneMenuItemGroup, StructureToolPaneActionHandler} from '../../types'\nimport {BackLink, PaneHeader, PaneHeaderActions} from '../../components'\nimport {useStructureTool} from '../../useStructureTool'\n\ninterface UserComponentPaneHeaderProps {\n actionHandlers?: Record<string, StructureToolPaneActionHandler>\n index: number\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n title: string\n}\n\nexport function UserComponentPaneHeader(props: UserComponentPaneHeaderProps) {\n const {actionHandlers, index, menuItems, menuItemGroups, title} = props\n const {features} = useStructureTool()\n\n if (!menuItems?.length && !title) {\n return null\n }\n\n return (\n <PaneHeader\n actions={\n <PaneHeaderActions\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n actionHandlers={actionHandlers}\n />\n }\n backButton={\n features.backButton &&\n index > 0 && (\n <Button\n as={BackLink}\n data-as=\"a\"\n icon={ArrowLeftIcon}\n mode=\"bleed\"\n tooltipProps={{content: 'Back'}}\n />\n )\n }\n title={title}\n />\n )\n}\n","import {Box} from '@sanity/ui'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {usePane} from '../../components'\n\ninterface UserComponentPaneContentProps {\n children: React.ReactNode\n}\n\nconst Root = styled(Box)`\n position: relative;\n`\n\nexport function UserComponentPaneContent(props: UserComponentPaneContentProps) {\n const {children} = props\n const {collapsed} = usePane()\n\n return (\n <Root hidden={collapsed} height=\"fill\" overflow=\"auto\">\n {children}\n </Root>\n )\n}\n","import React, {createElement, isValidElement, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {Pane} from '../../components'\nimport type {StructureToolPaneActionHandler} from '../../types'\nimport type {BaseStructureToolPaneProps} from '../types'\nimport {UserComponentPaneHeader} from './UserComponentPaneHeader'\nimport {UserComponentPaneContent} from './UserComponentPaneContent'\nimport {useI18nText} from 'sanity'\n\ntype UserComponentPaneProps = BaseStructureToolPaneProps<'component'>\n\n/**\n * @internal\n */\nexport function UserComponentPane(props: UserComponentPaneProps) {\n const {index, pane, paneKey, ...restProps} = props\n const {\n child,\n component,\n menuItems,\n menuItemGroups,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type: _unused,\n ...restPane\n } = pane\n const [ref, setRef] = useState<{\n actionHandlers?: Record<string, StructureToolPaneActionHandler>\n } | null>(null)\n const {title = ''} = useI18nText(pane)\n\n return (\n <Pane id={paneKey} minWidth={320} selected={restProps.isSelected}>\n <UserComponentPaneHeader\n actionHandlers={ref?.actionHandlers}\n index={index}\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n title={title}\n />\n\n <UserComponentPaneContent>\n {isValidElementType(component) &&\n createElement(component, {\n ...restProps,\n ...restPane,\n // NOTE: here we're utilizing the function form of refs so setting\n // the ref causes a re-render for `UserComponentPaneHeader`\n ...({ref: setRef} as any),\n child: child as any, // @todo: Fix typings\n paneKey,\n })}\n\n {isValidElement(component) && component}\n </UserComponentPaneContent>\n </Pane>\n )\n}\n"],"names":["UserComponentPaneHeader","props","actionHandlers","index","menuItems","menuItemGroups","title","features","useStructureTool","length","jsx","PaneHeader","actions","PaneHeaderActions","backButton","Button","as","BackLink","icon","ArrowLeftIcon","mode","tooltipProps","content","_a","Root","styled","Box","__template","UserComponentPaneContent","children","collapsed","usePane","hidden","height","overflow","UserComponentPane","pane","paneKey","restProps","child","component","type","_unused","restPane","ref","setRef","useState","useI18nText","jsxs","Pane","id","minWidth","selected","isSelected","isValidElementType","createElement","isValidElement"],"mappings":";;;;;;;;;;;;;;;;AAeO,SAASA,wBAAwBC,KAAqC,EAAA;EAC3E,MAAM;IAACC,cAAgB;IAAAC,KAAA;IAAOC,SAAW;IAAAC,cAAA;IAAgBC;EAAS,CAAA,GAAAL,KAAA;EAC5D,MAAA;IAACM;GAAQ,GAAIC,gBAAiB,EAAA;EAEpC,IAAI,EAACJ,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAWK,MAAU,CAAA,IAAA,CAACH,KAAO,EAAA;IACzB,OAAA,IAAA;EACT;EAGE,sBAAAI,GAAA,CAACC,UAAA,EAAA;IACCC,OACE,iBAAAF,GAAA,CAACG,iBAAA,EAAA;MACCT,SAAA;MACAC,cAAA;MACAH;IAAA,CACF,CAAA;IAEFY,UACE,EAAAP,QAAA,CAASO,UACT,IAAAX,KAAA,GAAQ,CACN,IAAA,eAAAO,GAAA,CAACK,MAAA,EAAA;MACCC,EAAI,EAAAC,QAAA;MACJ,SAAQ,EAAA,GAAA;MACRC,IAAM,EAAAC,aAAA;MACNC,IAAK,EAAA,OAAA;MACLC,YAAA,EAAc;QAACC,OAAA,EAAS;MAAM;IAAA,CAChC,CAAA;IAGJhB;EAAA,CAAA,CACF;AAEJ;;;;;;AC/CA,IAAAiB,EAAA;AASA,MAAMC,IAAO,GAAAC,MAAA,CAAOC,GAAG,CAAA,CAAVH,EAAW,KAAAA,EAAA,GAAAI,UAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,CAAA;AAIjB,SAASC,yBAAyB3B,KAAsC,EAAA;EACvE,MAAA;IAAC4B;EAAY,CAAA,GAAA5B,KAAA;EACb,MAAA;IAAC6B;GAAS,GAAIC,OAAQ,EAAA;EAG1B,OAAA,eAAArB,GAAA,CAACc;IAAKQ,MAAQ,EAAAF,SAAA;IAAWG,QAAO,MAAO;IAAAC,QAAA,EAAS;IAC7CL;EACH,CAAA,CAAA;AAEJ;ACRO,SAASM,kBAAkBlC,KAA+B,EAAA;EAC/D,MAAM;IAACE,KAAO;IAAAiC,IAAA;IAAMC,OAAS;IAAA,GAAGC;EAAa,CAAA,GAAArC,KAAA;EACvC,MAAA;IACJsC,KAAA;IACAC,SAAA;IACApC,SAAA;IACAC,cAAA;IAAA;IAEAoC,IAAM,EAAAC,OAAA;IACN,GAAGC;EACD,CAAA,GAAAP,IAAA;EACJ,MAAM,CAACQ,GAAA,EAAKC,MAAM,CAAA,GAAIC,SAEZ,IAAI,CAAA;EACd,MAAM;IAACxC,KAAA,GAAQ;EAAE,CAAA,GAAIyC,YAAYX,IAAI,CAAA;EAGnC,OAAA,eAAAY,IAAA,CAACC;IAAKC,EAAI,EAAAb,OAAA;IAASc,UAAU,GAAK;IAAAC,QAAA,EAAUd,UAAUe,UACpD;IAAAxB,QAAA,EAAA,CAAA,eAAAnB,GAAA,CAACV,uBAAA,EAAA;MACCE,gBAAgB0C,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAA1C,cAAA;MACrBC,KAAA;MACAC,SAAA;MACAC,cAAA;MACAC;IAAA,CACF,CAAA,EAAA,oBAECsB,wBACE,EAAA;MAAAC,QAAA,EAAA,CAAmByB,kBAAA,CAAAd,SAAS,CAC3B,IAAAe,aAAA,CAAcf,SAAW,EAAA;QACvB,GAAGF,SAAA;QACH,GAAGK,QAAA;QAAA;QAAA;QAGH,GAAI;UAACC,GAAA,EAAKC;QAAM,CAAA;QAChBN,KAAA;QAAA;QACAF;MAAA,CACD,CAAA,EAEFmB,cAAA,CAAehB,SAAS,CAAK,IAAAA,SAAA;KAChC,CAAA;EACF,CAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"index-2kSxso3r.js","sources":["../../src/structure/panes/userComponent/UserComponentPaneHeader.tsx","../../src/structure/panes/userComponent/UserComponentPaneContent.tsx","../../src/structure/panes/userComponent/UserComponentPane.tsx"],"sourcesContent":["import React from 'react'\nimport {ArrowLeftIcon} from '@sanity/icons'\nimport {Button} from '../../../ui-components'\nimport type {PaneMenuItem, PaneMenuItemGroup, StructureToolPaneActionHandler} from '../../types'\nimport {BackLink, PaneHeader, PaneHeaderActions} from '../../components'\nimport {useStructureTool} from '../../useStructureTool'\n\ninterface UserComponentPaneHeaderProps {\n actionHandlers?: Record<string, StructureToolPaneActionHandler>\n index: number\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n title: string\n}\n\nexport function UserComponentPaneHeader(props: UserComponentPaneHeaderProps) {\n const {actionHandlers, index, menuItems, menuItemGroups, title} = props\n const {features} = useStructureTool()\n\n if (!menuItems?.length && !title) {\n return null\n }\n\n return (\n <PaneHeader\n actions={\n <PaneHeaderActions\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n actionHandlers={actionHandlers}\n />\n }\n backButton={\n features.backButton &&\n index > 0 && (\n <Button\n as={BackLink}\n data-as=\"a\"\n icon={ArrowLeftIcon}\n mode=\"bleed\"\n tooltipProps={{content: 'Back'}}\n />\n )\n }\n title={title}\n />\n )\n}\n","import {Box} from '@sanity/ui'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {usePane} from '../../components'\n\ninterface UserComponentPaneContentProps {\n children: React.ReactNode\n}\n\nconst Root = styled(Box)`\n position: relative;\n`\n\nexport function UserComponentPaneContent(props: UserComponentPaneContentProps) {\n const {children} = props\n const {collapsed} = usePane()\n\n return (\n <Root hidden={collapsed} height=\"fill\" overflow=\"auto\">\n {children}\n </Root>\n )\n}\n","import React, {createElement, isValidElement, useState} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {Pane} from '../../components'\nimport type {StructureToolPaneActionHandler} from '../../types'\nimport type {BaseStructureToolPaneProps} from '../types'\nimport {UserComponentPaneHeader} from './UserComponentPaneHeader'\nimport {UserComponentPaneContent} from './UserComponentPaneContent'\nimport {useI18nText} from 'sanity'\n\ntype UserComponentPaneProps = BaseStructureToolPaneProps<'component'>\n\n/**\n * @internal\n */\nexport function UserComponentPane(props: UserComponentPaneProps) {\n const {index, pane, paneKey, ...restProps} = props\n const {\n child,\n component,\n menuItems,\n menuItemGroups,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type: _unused,\n ...restPane\n } = pane\n const [ref, setRef] = useState<{\n actionHandlers?: Record<string, StructureToolPaneActionHandler>\n } | null>(null)\n const {title = ''} = useI18nText(pane)\n\n return (\n <Pane id={paneKey} minWidth={320} selected={restProps.isSelected}>\n <UserComponentPaneHeader\n actionHandlers={ref?.actionHandlers}\n index={index}\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n title={title}\n />\n\n <UserComponentPaneContent>\n {isValidElementType(component) &&\n createElement(component, {\n ...restProps,\n ...restPane,\n // NOTE: here we're utilizing the function form of refs so setting\n // the ref causes a re-render for `UserComponentPaneHeader`\n ...({ref: setRef} as any),\n child: child as any, // @todo: Fix typings\n paneKey,\n })}\n\n {isValidElement(component) && component}\n </UserComponentPaneContent>\n </Pane>\n )\n}\n"],"names":["UserComponentPaneHeader","props","actionHandlers","index","menuItems","menuItemGroups","title","features","useStructureTool","length","jsx","PaneHeader","actions","PaneHeaderActions","backButton","Button","as","BackLink","icon","ArrowLeftIcon","mode","tooltipProps","content","_a","Root","styled","Box","__template","UserComponentPaneContent","children","collapsed","usePane","hidden","height","overflow","UserComponentPane","pane","paneKey","restProps","child","component","type","_unused","restPane","ref","setRef","useState","useI18nText","jsxs","Pane","id","minWidth","selected","isSelected","isValidElementType","createElement","isValidElement"],"mappings":";;;;;;;;;;;;;;;;AAeO,SAASA,wBAAwBC,KAAqC,EAAA;EAC3E,MAAM;IAACC,cAAgB;IAAAC,KAAA;IAAOC,SAAW;IAAAC,cAAA;IAAgBC;EAAS,CAAA,GAAAL,KAAA;EAC5D,MAAA;IAACM;GAAQ,GAAIC,gBAAiB,EAAA;EAEpC,IAAI,EAACJ,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAWK,MAAU,CAAA,IAAA,CAACH,KAAO,EAAA;IACzB,OAAA,IAAA;EACT;EAGE,sBAAAI,GAAA,CAACC,UAAA,EAAA;IACCC,OACE,iBAAAF,GAAA,CAACG,iBAAA,EAAA;MACCT,SAAA;MACAC,cAAA;MACAH;IAAA,CACF,CAAA;IAEFY,UACE,EAAAP,QAAA,CAASO,UACT,IAAAX,KAAA,GAAQ,CACN,IAAA,eAAAO,GAAA,CAACK,MAAA,EAAA;MACCC,EAAI,EAAAC,QAAA;MACJ,SAAQ,EAAA,GAAA;MACRC,IAAM,EAAAC,aAAA;MACNC,IAAK,EAAA,OAAA;MACLC,YAAA,EAAc;QAACC,OAAA,EAAS;MAAM;IAAA,CAChC,CAAA;IAGJhB;EAAA,CAAA,CACF;AAEJ;;;;;;AC/CA,IAAAiB,EAAA;AASA,MAAMC,IAAO,GAAAC,MAAA,CAAOC,GAAG,CAAA,CAAVH,EAAW,KAAAA,EAAA,GAAAI,UAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,CAAA;AAIjB,SAASC,yBAAyB3B,KAAsC,EAAA;EACvE,MAAA;IAAC4B;EAAY,CAAA,GAAA5B,KAAA;EACb,MAAA;IAAC6B;GAAS,GAAIC,OAAQ,EAAA;EAG1B,OAAA,eAAArB,GAAA,CAACc;IAAKQ,MAAQ,EAAAF,SAAA;IAAWG,QAAO,MAAO;IAAAC,QAAA,EAAS;IAC7CL;EACH,CAAA,CAAA;AAEJ;ACRO,SAASM,kBAAkBlC,KAA+B,EAAA;EAC/D,MAAM;IAACE,KAAO;IAAAiC,IAAA;IAAMC,OAAS;IAAA,GAAGC;EAAa,CAAA,GAAArC,KAAA;EACvC,MAAA;IACJsC,KAAA;IACAC,SAAA;IACApC,SAAA;IACAC,cAAA;IAAA;IAEAoC,IAAM,EAAAC,OAAA;IACN,GAAGC;EACD,CAAA,GAAAP,IAAA;EACJ,MAAM,CAACQ,GAAA,EAAKC,MAAM,CAAA,GAAIC,SAEZ,IAAI,CAAA;EACd,MAAM;IAACxC,KAAA,GAAQ;EAAE,CAAA,GAAIyC,YAAYX,IAAI,CAAA;EAGnC,OAAA,eAAAY,IAAA,CAACC;IAAKC,EAAI,EAAAb,OAAA;IAASc,UAAU,GAAK;IAAAC,QAAA,EAAUd,UAAUe,UACpD;IAAAxB,QAAA,EAAA,CAAA,eAAAnB,GAAA,CAACV,uBAAA,EAAA;MACCE,gBAAgB0C,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAA1C,cAAA;MACrBC,KAAA;MACAC,SAAA;MACAC,cAAA;MACAC;IAAA,CACF,CAAA,EAAA,oBAECsB,wBACE,EAAA;MAAAC,QAAA,EAAA,CAAmByB,kBAAA,CAAAd,SAAS,CAC3B,IAAAe,aAAA,CAAcf,SAAW,EAAA;QACvB,GAAGF,SAAA;QACH,GAAGK,QAAA;QAAA;QAAA;QAGH,GAAI;UAACC,GAAA,EAAKC;QAAM,CAAA;QAChBN,KAAA;QAAA;QACAF;MAAA,CACD,CAAA,EAEFmB,cAAA,CAAehB,SAAS,CAAK,IAAAA,SAAA;KAChC,CAAA;EACF,CAAA,CAAA;AAEJ;"}
@@ -3,7 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var ui = require('@sanity/ui');
6
- var structure = require('./structure-588eAwLd.js');
6
+ var structure = require('./structure-o_wMXC_G.js');
7
7
  var omit = require('lodash/omit.js');
8
8
  var rxjs = require('rxjs');
9
9
  var nanoid = require('nanoid');
@@ -985,16 +985,16 @@ function UnknownPane(props) {
985
985
  }
986
986
  const paneMap = {
987
987
  component: React.lazy(() => Promise.resolve().then(function () {
988
- return require('./index-R7R6AyHF.js');
988
+ return require('./index-zobOqko7.js');
989
989
  })),
990
990
  document: React.lazy(() => Promise.resolve().then(function () {
991
- return require('./pane-y4hpcKe1.js');
991
+ return require('./pane-TXXUUvdc.js');
992
992
  })),
993
993
  documentList: React.lazy(() => Promise.resolve().then(function () {
994
- return require('./pane-yQXBQyyI.js');
994
+ return require('./pane-9HEeITpx.js');
995
995
  })),
996
996
  list: React.lazy(() => Promise.resolve().then(function () {
997
- return require('./index-AaK2CidU.js');
997
+ return require('./index-NweJPfGb.js');
998
998
  }))
999
999
  };
1000
1000
  const StructureToolPane = React.memo(function StructureToolPane2(props) {
@@ -1343,4 +1343,4 @@ function StructureToolBoundary(_ref13) {
1343
1343
  });
1344
1344
  }
1345
1345
  exports.default = StructureToolBoundary;
1346
- //# sourceMappingURL=index-FQCCBbuC.js.map
1346
+ //# sourceMappingURL=index-751ZLh3z.js.map