sanity 6.6.0-next.38 → 6.6.0-next.40

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.
@@ -5,7 +5,7 @@ import { useRef, useEffect, forwardRef, useState, useContext, useImperativeHandl
5
5
  import { ReviewChangesContext, CommentsEnabledContext, ReferenceInputOptionsContext, PaneLayoutContext, PaneContext, DocumentPaneContext, DocumentActionsStateContext, StructureToolContext, DocumentPaneInfoContext, PaneRouterContext, ResolvedPanesContext, EventsContext, DocumentChangeContext } from "sanity/_singletons";
6
6
  import { styled, css, keyframes } from "styled-components";
7
7
  import { motion, AnimatePresence } from "motion/react";
8
- import { isPublishedId, isDraftId, getReleaseIdFromReleaseDocumentId, getVersionFromId, useTranslation, useDocumentVersions, useActiveReleases, getPublishedId, useEditState, useWorkspace, isReleaseDocument, getReleaseTone, isReleaseScheduledOrScheduling, ReleaseAvatar, isSystemBundleName, PUBLISHED, LATEST, useFormatRelativeLocalePublishDate, getDraftId, getVersionId, ReleaseTitle, useMiddlewareComponents, ChangeIndicatorsTracker, VirtualizerScrollInstanceProvider, useDocumentForm, LoadingBlock, FormBuilder, isVersionId, createPatchChannel, getDocumentVariantType, LegacyLayerProvider, IsLastPaneProvider, useGetI18nText, useI18nText, TooltipOfDisabled, ContextMenuButton, StatusButton, isDev, CommentsEnabledProvider, useCommentsEnabled, usePerspective, getTargetScopeId, COMMENTS_INSPECTOR_NAME, CommentsProvider, GetHookCollectionState, EMPTY_ARRAY as EMPTY_ARRAY$2, getDocumentIdForCanvasLink, useCanvasCompanionDoc, useUnique, isPublishedPerspective, prepareForPreview, useValuePreview, useDocumentOperationEvent, useDocumentLimitsUpsellContext, isDocumentLimitError, Translate, isNewDocument, Resizable, useKeyValueStore, isRecord, isString, isDraftPerspective, useDocumentOperation, isDeprecatedSchemaType, useProjectId, useClient, useZIndex, useCurrentUser, useListFormat, useDocumentPreviewStore, isSystemBundle, useScheduledDraftDocument, useArchivedReleases, isCardinalityOneRelease, getVersionInlineBadge, useNavigateToCanvasDoc, isPerspectiveWriteable, ReleasesNav, useVersionOperations, useConditionalToast, isAgentBundleName, useVariantDocumentOperations, useGetDefaultPerspective, getVariantTitle, useOnlyHasVersions, useSetPerspective, VersionInlineBadge, isGoingToUnpublish, useDocumentStore, useDocumentPresence, FormRow, FormContainer, PresenceOverlay, fromMutationPatches, useDocumentPreviewValues, useManageFavorite, useActiveWorkspace, CapabilityGate, useFilteredReleases, usePausedScheduledDraft, isPausedCardinalityOneRelease, ScrollContainer, getPairTarget, useStudioUrl, ReleaseAvatarIcon, useSingleDocRelease, useSchema, useAllVariants, useAgentVersionDisplay, useSetVariant, getTargetDocument, VersionChip, Chip, useDateTimeFormat, useFieldActions, FieldPresenceInner, useDocumentVersionInfo, getPreviewStateObservable, DocumentPreviewPresence, DocumentStatusIndicator, DocumentStatus, getPreviewValueWithFallback, SanityDefaultPreview, PreviewCard, DEFAULT_STUDIO_CLIENT_OPTIONS, useDocumentVersionTypeSortedList, useDocumentPairPermissions, InsufficientPermissionsMessage, useValidationStatus, useSyncState, useRelativeTime, useSource, Hotkeys, isSanityDefinedAction, DocumentGroupInventoryAction, DocumentGroupInventory, UserAvatar, useUser, AvatarSkeleton, CommandList, TextWithTone, useTimelineSelector, useEvents, TIMELINE_ITEM_I18N_KEY_MAPPING as TIMELINE_ITEM_I18N_KEY_MAPPING$1, useGlobalCopyPasteElementHandler, useDocumentIdStack, FieldActionsResolver, GetFormValueProvider, FieldActionsProvider, ChangeConnectorRoot, useTemplates, useInitialValue, useCopyPaste, useTargetDocumentState, DivergencesProvider, selectUpstreamVersion, pathToString, ParseErrorsProvider, useDocumentDivergences, useEventsStore, PerspectiveProvider, EventsProvider, useTimelineStore, SingleDocReleaseProvider, CopyPasteProvider, SourceProvider, useDocumentType, useTemplatePermissions, ReferenceInputOptionsProvider, EMPTY_OBJECT, CrossDatasetReferencePreview, getPreviewPaths, isNonNullable as isNonNullable$1, getReferencePaths, ErrorActions, collate, getSearchableTypes, compileFieldPath, createSearch, createSWR, useSearchMaxFieldDepth, measureFirstMatch, catchWithCount, useReconnectingToast, ChangeFieldWrapper, NoChanges, ChangeList, isDeleteDocumentVersionEvent, isDeleteDocumentGroupEvent, isUnpublishDocumentEvent, isScheduleDocumentVersionEvent, isUnscheduleDocumentVersionEvent, Event, RELEASES_INTENT, isCreateDocumentVersionEvent, isEditDocumentVersionEvent, isPublishDocumentVersionEvent, ChangesError, isArray, useParseErrors, mergeParseErrors, isValidationError, isValidationWarning, definePlugin } from "sanity";
8
+ import { isPublishedId, isDraftId, getReleaseIdFromReleaseDocumentId, getVersionFromId, useTranslation, useDocumentVersions, useActiveReleases, getPublishedId, useEditState, useWorkspace, isReleaseDocument, getReleaseTone, isReleaseScheduledOrScheduling, ReleaseAvatar, isSystemBundleName, PUBLISHED, LATEST, useFormatRelativeLocalePublishDate, getDraftId, getVersionId, ReleaseTitle, useMiddlewareComponents, ChangeIndicatorsTracker, VirtualizerScrollInstanceProvider, useDocumentForm, LoadingBlock, FormBuilder, isVersionId, createPatchChannel, getDocumentVariantType, LegacyLayerProvider, IsLastPaneProvider, useGetI18nText, useI18nText, TooltipOfDisabled, ContextMenuButton, StatusButton, isDev, CommentsEnabledProvider, useCommentsEnabled, usePerspective, getTargetScopeId, COMMENTS_INSPECTOR_NAME, CommentsProvider, GetHookCollectionState, EMPTY_ARRAY as EMPTY_ARRAY$2, getDocumentIdForCanvasLink, useCanvasCompanionDoc, useUnique, isPublishedPerspective, prepareForPreview, useValuePreview, useDocumentOperationEvent, useDocumentLimitsUpsellContext, isDocumentLimitError, Translate, isNewDocument, Resizable, useKeyValueStore, isRecord, isString, isDraftPerspective, useDocumentOperation, isDeprecatedSchemaType, useProjectId, useClient, useZIndex, useCurrentUser, useListFormat, useDocumentPreviewStore, isSystemBundle, useScheduledDraftDocument, useArchivedReleases, isCardinalityOneRelease, getVersionInlineBadge, useNavigateToCanvasDoc, isPerspectiveWriteable, ReleasesNav, useVersionOperations, useConditionalToast, isAgentBundleName, useVariantDocumentOperations, useGetDefaultPerspective, getVariantTitle, useOnlyHasVersions, useSetPerspective, VersionInlineBadge, isGoingToUnpublish, useDocumentStore, useDocumentPresence, FormRow, FormContainer, PresenceOverlay, fromMutationPatches, useDocumentPreviewValues, useManageFavorite, useActiveWorkspace, CapabilityGate, useFilteredReleases, usePausedScheduledDraft, isPausedCardinalityOneRelease, ScrollContainer, getPairTarget, useTargetDocumentState, useStudioUrl, ReleaseAvatarIcon, useSingleDocRelease, useSchema, useAllVariants, useAgentVersionDisplay, useSetVariant, getTargetDocument, VersionChip, Chip, useDateTimeFormat, useFieldActions, FieldPresenceInner, useDocumentVersionInfo, getPreviewStateObservable, DocumentPreviewPresence, DocumentStatusIndicator, DocumentStatus, getPreviewValueWithFallback, SanityDefaultPreview, PreviewCard, DEFAULT_STUDIO_CLIENT_OPTIONS, useDocumentVersionTypeSortedList, useDocumentPairPermissions, InsufficientPermissionsMessage, useValidationStatus, useSyncState, useRelativeTime, useSource, Hotkeys, isSanityDefinedAction, DocumentGroupInventoryAction, DocumentGroupInventory, UserAvatar, useUser, AvatarSkeleton, CommandList, TextWithTone, useTimelineSelector, useEvents, TIMELINE_ITEM_I18N_KEY_MAPPING as TIMELINE_ITEM_I18N_KEY_MAPPING$1, useGlobalCopyPasteElementHandler, useDocumentIdStack, FieldActionsResolver, GetFormValueProvider, FieldActionsProvider, ChangeConnectorRoot, useTemplates, useInitialValue, useCopyPaste, DivergencesProvider, selectUpstreamVersion, pathToString, ParseErrorsProvider, useDocumentDivergences, useEventsStore, PerspectiveProvider, EventsProvider, useTimelineStore, SingleDocReleaseProvider, CopyPasteProvider, SourceProvider, useDocumentType, useTemplatePermissions, ReferenceInputOptionsProvider, EMPTY_OBJECT, CrossDatasetReferencePreview, getPreviewPaths, isNonNullable as isNonNullable$1, getReferencePaths, ErrorActions, collate, getSearchableTypes, compileFieldPath, createSearch, createSWR, useSearchMaxFieldDepth, measureFirstMatch, catchWithCount, useReconnectingToast, ChangeFieldWrapper, NoChanges, ChangeList, isDeleteDocumentVersionEvent, isDeleteDocumentGroupEvent, isUnpublishDocumentEvent, isScheduleDocumentVersionEvent, isUnscheduleDocumentVersionEvent, Event, RELEASES_INTENT, isCreateDocumentVersionEvent, isEditDocumentVersionEvent, isPublishDocumentVersionEvent, ChangesError, isArray, useParseErrors, mergeParseErrors, isValidationError, isValidationWarning, definePlugin } from "sanity";
9
9
  import { structureLocaleNamespace, structureUsEnglishLocaleBundle } from "./StructureToolProvider.js";
10
10
  import { MenuButton, Dialog, MenuItem as MenuItem$1, Button as Button$1, Tab, Popover, Tooltip, TooltipDelayGroupProvider, ErrorBoundary } from "./index.js";
11
11
  import isEqual from "lodash-es/isEqual.js";
@@ -2398,7 +2398,7 @@ function useStructureToolSetting(namespace, key, defaultValue) {
2398
2398
  let t1;
2399
2399
  if ($[3] !== defaultValue || $[4] !== keyValueStore || $[5] !== keyValueStoreKey) {
2400
2400
  let t22;
2401
- $[7] !== defaultValue ? (t22 = (value) => value === null ? defaultValue : value, $[7] = defaultValue, $[8] = t22) : t22 = $[8], t1 = keyValueStore.getKey(keyValueStoreKey).pipe(map$1(t22)), $[3] = defaultValue, $[4] = keyValueStore, $[5] = keyValueStoreKey, $[6] = t1;
2401
+ $[7] !== defaultValue ? (t22 = (value) => value === null || value === "" ? defaultValue : value, $[7] = defaultValue, $[8] = t22) : t22 = $[8], t1 = keyValueStore.getKey(keyValueStoreKey).pipe(map$1(t22)), $[3] = defaultValue, $[4] = keyValueStore, $[5] = keyValueStoreKey, $[6] = t1;
2402
2402
  } else
2403
2403
  t1 = $[6];
2404
2404
  const value_0 = useObservable(t1, defaultValue);
@@ -4992,11 +4992,21 @@ const DocumentInitialLoadMeasured = defineEvent({
4992
4992
  description: "User switched off display of inline changes"
4993
4993
  });
4994
4994
  function CopyDocumentActions() {
4995
- const $ = c(41), {
4995
+ const $ = c(43), {
4996
4996
  documentId,
4997
4997
  documentType,
4998
4998
  schemaType
4999
4999
  } = useDocumentPaneInfo(), {
5000
+ editState
5001
+ } = useDocumentPane(), targetDocumentState = useTargetDocumentState(documentId);
5002
+ let t0;
5003
+ $[0] !== documentId ? (t0 = {
5004
+ documentId
5005
+ }, $[0] = documentId, $[1] = t0) : t0 = $[1];
5006
+ const {
5007
+ data: existingDocumentIds,
5008
+ loading: documentVersionsLoading
5009
+ } = useDocumentVersions(t0), {
5000
5010
  selectedReleaseId,
5001
5011
  selectedPerspectiveName
5002
5012
  } = usePerspective(), {
@@ -5011,24 +5021,24 @@ function CopyDocumentActions() {
5011
5021
  push: pushToast
5012
5022
  } = useToast(), scheduledDraft = params?.scheduledDraft;
5013
5023
  schemaType?.liveEdit;
5014
- let t0;
5024
+ let t1;
5015
5025
  bb0: {
5016
5026
  const versionReleaseId = scheduledDraft || selectedReleaseId;
5017
5027
  if (versionReleaseId) {
5018
- let t13;
5019
- $[0] !== documentId || $[1] !== versionReleaseId ? (t13 = getVersionId(documentId, versionReleaseId), $[0] = documentId, $[1] = versionReleaseId, $[2] = t13) : t13 = $[2], t0 = t13;
5028
+ let t23;
5029
+ $[2] !== documentId || $[3] !== versionReleaseId ? (t23 = getVersionId(documentId, versionReleaseId), $[2] = documentId, $[3] = versionReleaseId, $[4] = t23) : t23 = $[4], t1 = t23;
5020
5030
  break bb0;
5021
5031
  }
5022
5032
  if (selectedPerspectiveName === "published" || schemaType?.liveEdit) {
5023
- t0 = documentId;
5033
+ t1 = documentId;
5024
5034
  break bb0;
5025
5035
  }
5026
- let t12;
5027
- $[3] !== documentId ? (t12 = getDraftId(documentId), $[3] = documentId, $[4] = t12) : t12 = $[4], t0 = t12;
5036
+ let t22;
5037
+ $[5] !== documentId ? (t22 = getDraftId(documentId), $[5] = documentId, $[6] = t22) : t22 = $[6], t1 = t22;
5028
5038
  }
5029
- const contextAwareDocumentId = t0;
5030
- let t1;
5031
- $[5] !== buildIntentUrl || $[6] !== documentId || $[7] !== documentType || $[8] !== pushToast || $[9] !== resolveIntentLink || $[10] !== scheduledDraft || $[11] !== selectedReleaseId || $[12] !== t || $[13] !== telemetry ? (t1 = async () => {
5039
+ const contextAwareDocumentId = t1, selectedVariantMissing = targetDocumentState.status === "variant-missing" || targetDocumentState.status === "variant-definition-document-not-found", copiedVersionMissing = !!editState?.ready && !documentVersionsLoading && isVersionId(contextAwareDocumentId) && !isNewDocument(editState) && !existingDocumentIds.includes(contextAwareDocumentId), documentExists = !selectedVariantMissing && !copiedVersionMissing;
5040
+ let t2;
5041
+ $[7] !== buildIntentUrl || $[8] !== documentId || $[9] !== documentType || $[10] !== pushToast || $[11] !== resolveIntentLink || $[12] !== scheduledDraft || $[13] !== selectedReleaseId || $[14] !== t || $[15] !== telemetry ? (t2 = async () => {
5032
5042
  telemetry.log(DocumentURLCopied);
5033
5043
  const searchParams = selectedReleaseId && !scheduledDraft ? [["perspective", selectedReleaseId]] : [], intentParams = {
5034
5044
  id: documentId,
@@ -5042,43 +5052,45 @@ function CopyDocumentActions() {
5042
5052
  status: "info",
5043
5053
  title: t("panes.document-operation-results.operation-success_copy-url")
5044
5054
  });
5045
- }, $[5] = buildIntentUrl, $[6] = documentId, $[7] = documentType, $[8] = pushToast, $[9] = resolveIntentLink, $[10] = scheduledDraft, $[11] = selectedReleaseId, $[12] = t, $[13] = telemetry, $[14] = t1) : t1 = $[14];
5046
- const handleCopyLink = t1;
5047
- let t2;
5048
- $[15] !== contextAwareDocumentId || $[16] !== pushToast || $[17] !== t || $[18] !== telemetry ? (t2 = async () => {
5055
+ }, $[7] = buildIntentUrl, $[8] = documentId, $[9] = documentType, $[10] = pushToast, $[11] = resolveIntentLink, $[12] = scheduledDraft, $[13] = selectedReleaseId, $[14] = t, $[15] = telemetry, $[16] = t2) : t2 = $[16];
5056
+ const handleCopyLink = t2;
5057
+ let t3;
5058
+ $[17] !== contextAwareDocumentId || $[18] !== pushToast || $[19] !== t || $[20] !== telemetry ? (t3 = async () => {
5049
5059
  telemetry.log(DocumentIDCopied), await navigator.clipboard.writeText(contextAwareDocumentId), pushToast({
5050
5060
  id: "copy-document-id",
5051
5061
  status: "info",
5052
5062
  title: t("panes.document-operation-results.operation-success_copy-id")
5053
5063
  });
5054
- }, $[15] = contextAwareDocumentId, $[16] = pushToast, $[17] = t, $[18] = telemetry, $[19] = t2) : t2 = $[19];
5055
- const handleCopyId = t2;
5056
- let t3;
5057
- $[20] !== t ? (t3 = t("action.copy-document-url.label"), $[20] = t, $[21] = t3) : t3 = $[21];
5064
+ }, $[17] = contextAwareDocumentId, $[18] = pushToast, $[19] = t, $[20] = telemetry, $[21] = t3) : t3 = $[21];
5065
+ const handleCopyId = t3;
5066
+ if (!documentExists)
5067
+ return null;
5058
5068
  let t4;
5059
- $[22] !== t3 ? (t4 = /* @__PURE__ */ jsx(Button$1, { icon: ShareIcon, mode: "bleed", tooltipProps: {
5060
- content: t3
5061
- }, "data-testid": "copy-document-actions-button" }), $[22] = t3, $[23] = t4) : t4 = $[23];
5069
+ $[22] !== t ? (t4 = t("action.copy-document-url.label"), $[22] = t, $[23] = t4) : t4 = $[23];
5062
5070
  let t5;
5063
- $[24] !== t ? (t5 = t("action.copy-link-to-document.label"), $[24] = t, $[25] = t5) : t5 = $[25];
5071
+ $[24] !== t4 ? (t5 = /* @__PURE__ */ jsx(Button$1, { icon: ShareIcon, mode: "bleed", tooltipProps: {
5072
+ content: t4
5073
+ }, "data-testid": "copy-document-actions-button" }), $[24] = t4, $[25] = t5) : t5 = $[25];
5064
5074
  let t6;
5065
- $[26] !== handleCopyLink || $[27] !== t5 ? (t6 = /* @__PURE__ */ jsx(MenuItem$1, { icon: LinkIcon, onClick: handleCopyLink, text: t5, "data-testid": "copy-link-to-document" }), $[26] = handleCopyLink, $[27] = t5, $[28] = t6) : t6 = $[28];
5075
+ $[26] !== t ? (t6 = t("action.copy-link-to-document.label"), $[26] = t, $[27] = t6) : t6 = $[27];
5066
5076
  let t7;
5067
- $[29] !== t ? (t7 = t("action.copy-document-id.label"), $[29] = t, $[30] = t7) : t7 = $[30];
5077
+ $[28] !== handleCopyLink || $[29] !== t6 ? (t7 = /* @__PURE__ */ jsx(MenuItem$1, { icon: LinkIcon, onClick: handleCopyLink, text: t6, "data-testid": "copy-link-to-document" }), $[28] = handleCopyLink, $[29] = t6, $[30] = t7) : t7 = $[30];
5068
5078
  let t8;
5069
- $[31] !== handleCopyId || $[32] !== t7 ? (t8 = /* @__PURE__ */ jsx(MenuItem$1, { icon: TargetIcon, onClick: handleCopyId, text: t7, "data-testid": "copy-document-id" }), $[31] = handleCopyId, $[32] = t7, $[33] = t8) : t8 = $[33];
5079
+ $[31] !== t ? (t8 = t("action.copy-document-id.label"), $[31] = t, $[32] = t8) : t8 = $[32];
5070
5080
  let t9;
5071
- $[34] !== t6 || $[35] !== t8 ? (t9 = /* @__PURE__ */ jsxs(Menu, { children: [
5072
- t6,
5073
- t8
5074
- ] }), $[34] = t6, $[35] = t8, $[36] = t9) : t9 = $[36];
5081
+ $[33] !== handleCopyId || $[34] !== t8 ? (t9 = /* @__PURE__ */ jsx(MenuItem$1, { icon: TargetIcon, onClick: handleCopyId, text: t8, "data-testid": "copy-document-id" }), $[33] = handleCopyId, $[34] = t8, $[35] = t9) : t9 = $[35];
5075
5082
  let t10;
5076
- $[37] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t10 = {
5083
+ $[36] !== t7 || $[37] !== t9 ? (t10 = /* @__PURE__ */ jsxs(Menu, { children: [
5084
+ t7,
5085
+ t9
5086
+ ] }), $[36] = t7, $[37] = t9, $[38] = t10) : t10 = $[38];
5087
+ let t11;
5088
+ $[39] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t11 = {
5077
5089
  portal: !0,
5078
5090
  placement: "bottom-end"
5079
- }, $[37] = t10) : t10 = $[37];
5080
- let t11;
5081
- return $[38] !== t4 || $[39] !== t9 ? (t11 = /* @__PURE__ */ jsx(MenuButton, { id: "copy-document-actions", button: t4, menu: t9, popover: t10 }), $[38] = t4, $[39] = t9, $[40] = t11) : t11 = $[40], t11;
5091
+ }, $[39] = t11) : t11 = $[39];
5092
+ let t12;
5093
+ return $[40] !== t10 || $[41] !== t5 ? (t12 = /* @__PURE__ */ jsx(MenuButton, { id: "copy-document-actions", button: t5, menu: t10, popover: t11 }), $[40] = t10, $[41] = t5, $[42] = t12) : t12 = $[42], t12;
5082
5094
  }
5083
5095
  const DocumentGroupInventoryHintPressed = defineEvent({
5084
5096
  version: 1,
@@ -7360,11 +7372,11 @@ function RenderHistoryStatusBarActions(t0) {
7360
7372
  $[0] !== editState?.draft || $[1] !== editState?.published ? (t1 = editState?.draft || editState?.published || {}, $[0] = editState?.draft, $[1] = editState?.published, $[2] = t1) : t1 = $[2];
7361
7373
  const disabled = t1._rev === revision, t2 = connectionState !== "connected" || !!disabled;
7362
7374
  let t3;
7363
- $[3] !== states ? (t3 = states.filter(_temp5$5).slice(-1), $[3] = states, $[4] = t3) : t3 = $[4];
7375
+ $[3] !== states ? (t3 = states.filter(_temp5$6).slice(-1), $[3] = states, $[4] = t3) : t3 = $[4];
7364
7376
  let t4;
7365
7377
  return $[5] !== t2 || $[6] !== t3 ? (t4 = /* @__PURE__ */ jsx(DocumentStatusBarActionsInner, { disabled: t2, states: t3 }), $[5] = t2, $[6] = t3, $[7] = t4) : t4 = $[7], t4;
7366
7378
  }
7367
- function _temp5$5(state2) {
7379
+ function _temp5$6(state2) {
7368
7380
  return state2.action ? state2.action === useHistoryRestoreAction.action : !1;
7369
7381
  }
7370
7382
  function _temp$n(s) {
@@ -7818,7 +7830,7 @@ function TimelineMenu(t0) {
7818
7830
  timelineError,
7819
7831
  ready,
7820
7832
  timelineStore
7821
- } = useDocumentPane(), [open, setOpen] = useState(!1), [button, setButton] = useState(null), [popoverRef, setPopoverRef] = useState(null), toast = useToast(), chunks = useTimelineSelector(timelineStore, _temp$l), loading = useTimelineSelector(timelineStore, _temp2$a), hasMoreChunks = useTimelineSelector(timelineStore, _temp3$7), realRevChunk = useTimelineSelector(timelineStore, _temp4$6), sinceTime = useTimelineSelector(timelineStore, _temp5$4), {
7833
+ } = useDocumentPane(), [open, setOpen] = useState(!1), [button, setButton] = useState(null), [popoverRef, setPopoverRef] = useState(null), toast = useToast(), chunks = useTimelineSelector(timelineStore, _temp$l), loading = useTimelineSelector(timelineStore, _temp2$a), hasMoreChunks = useTimelineSelector(timelineStore, _temp3$7), realRevChunk = useTimelineSelector(timelineStore, _temp4$6), sinceTime = useTimelineSelector(timelineStore, _temp5$5), {
7822
7834
  t
7823
7835
  } = useTranslation("studio");
7824
7836
  let t1;
@@ -7936,7 +7948,7 @@ function TimelineMenu(t0) {
7936
7948
  let t19;
7937
7949
  return $[59] !== portalElements || $[60] !== t18 ? (t19 = /* @__PURE__ */ jsx(PortalProvider, { __unstable_elements: portalElements, children: t18 }), $[59] = portalElements, $[60] = t18, $[61] = t19) : t19 = $[61], t19;
7938
7950
  }
7939
- function _temp5$4(state_3) {
7951
+ function _temp5$5(state_3) {
7940
7952
  return state_3.sinceTime;
7941
7953
  }
7942
7954
  function _temp4$6(state_2) {
@@ -9670,7 +9682,7 @@ const DivergenceAutofocus = (t0) => {
9670
9682
  rev: params.rev,
9671
9683
  since: params.since
9672
9684
  }, $[2] = options.type, $[3] = params.rev, $[4] = params.since, $[5] = t0, $[6] = t1) : t1 = $[6];
9673
- const store = useTimelineStore(t1), onOlderRevision = useTimelineSelector(store, _temp$g), revTime = useTimelineSelector(store, _temp2$8), sinceAttributes = useTimelineSelector(store, _temp3$6), timelineDisplayed = useTimelineSelector(store, _temp4$5), timelineReady = useTimelineSelector(store, _temp5$3), isPristine = useTimelineSelector(store, _temp6$3), lastNonDeletedRevId = useTimelineSelector(store, _temp7$2);
9685
+ const store = useTimelineStore(t1), onOlderRevision = useTimelineSelector(store, _temp$g), revTime = useTimelineSelector(store, _temp2$8), sinceAttributes = useTimelineSelector(store, _temp3$6), timelineDisplayed = useTimelineSelector(store, _temp4$5), timelineReady = useTimelineSelector(store, _temp5$4), isPristine = useTimelineSelector(store, _temp6$3), lastNonDeletedRevId = useTimelineSelector(store, _temp7$2);
9674
9686
  revTime?.id;
9675
9687
  const t2 = revTime?.id || null, t3 = timelineDisplayed, t4 = sinceAttributes, t5 = !!isPristine;
9676
9688
  let t6;
@@ -9701,7 +9713,7 @@ function _temp3$6(state_1) {
9701
9713
  function _temp4$5(state_2) {
9702
9714
  return state_2.timelineDisplayed;
9703
9715
  }
9704
- function _temp5$3(state_3) {
9716
+ function _temp5$4(state_3) {
9705
9717
  return state_3.timelineReady;
9706
9718
  }
9707
9719
  function _temp6$3(state_4) {
@@ -10477,7 +10489,7 @@ const hashObject = (value) => {
10477
10489
  const sortObject = (v) => typeof v != "object" || !v ? v : Array.isArray(v) ? v.map(sortObject) : Object.entries(v).sort(([keyA], [keyB]) => keyA.localeCompare(keyB, "en"));
10478
10490
  return JSON.stringify(sortObject(((v) => JSON.parse(JSON.stringify(v)))(value)));
10479
10491
  }, PaneHeaderActions = memo(function(props) {
10480
- const $ = c(28), {
10492
+ const $ = c(31), {
10481
10493
  initialValueTemplateItems: t0,
10482
10494
  menuItems: t1,
10483
10495
  menuItemGroups: t2,
@@ -10524,9 +10536,12 @@ const hashObject = (value) => {
10524
10536
  $[8] !== menuNodes ? (t7 = menuNodes.filter(isNotMenuNodeButton), $[8] = menuNodes, $[9] = t7) : t7 = $[9];
10525
10537
  const contextMenuNodes = t7;
10526
10538
  let t8;
10527
- if ($[10] !== menuItems || $[11] !== templates) {
10528
- let t92;
10529
- $[13] !== templates ? (t92 = (item_1, menuItemIndex) => {
10539
+ $[10] !== contextMenuNodes ? (t8 = contextMenuNodes.some(_temp2$6), $[10] = contextMenuNodes, $[11] = t8) : t8 = $[11];
10540
+ const hasContextMenuContent = t8;
10541
+ let t9;
10542
+ if ($[12] !== menuItems || $[13] !== templates) {
10543
+ let t102;
10544
+ $[15] !== templates ? (t102 = (item_1, menuItemIndex) => {
10530
10545
  if (item_1.intent?.type !== "create")
10531
10546
  return null;
10532
10547
  const {
@@ -10548,30 +10563,33 @@ const hashObject = (value) => {
10548
10563
  menuItemIndex,
10549
10564
  initialDocumentId
10550
10565
  };
10551
- }, $[13] = templates, $[14] = t92) : t92 = $[14], t8 = menuItems.map(t92).filter(isNonNullable).map(_temp2$6), $[10] = menuItems, $[11] = templates, $[12] = t8;
10566
+ }, $[15] = templates, $[16] = t102) : t102 = $[16], t9 = menuItems.map(t102).filter(isNonNullable).map(_temp3$5), $[12] = menuItems, $[13] = templates, $[14] = t9;
10552
10567
  } else
10553
- t8 = $[12];
10554
- const initialValueTemplateItemFromMenuItems = t8;
10555
- let t9;
10556
- $[15] !== initialValueTemplateItemFromMenuItems || $[16] !== initialValueTemplateItemsFromStructure ? (t9 = uniqBy([...initialValueTemplateItemFromMenuItems, ...initialValueTemplateItemsFromStructure], _temp3$5), $[15] = initialValueTemplateItemFromMenuItems, $[16] = initialValueTemplateItemsFromStructure, $[17] = t9) : t9 = $[17];
10557
- const combinedInitialValueTemplates = t9;
10568
+ t9 = $[14];
10569
+ const initialValueTemplateItemFromMenuItems = t9;
10558
10570
  let t10;
10559
- $[18] !== combinedInitialValueTemplates ? (t10 = /* @__PURE__ */ jsx(PaneHeaderCreateButton, { templateItems: combinedInitialValueTemplates }), $[18] = combinedInitialValueTemplates, $[19] = t10) : t10 = $[19];
10571
+ $[17] !== initialValueTemplateItemFromMenuItems || $[18] !== initialValueTemplateItemsFromStructure ? (t10 = uniqBy([...initialValueTemplateItemFromMenuItems, ...initialValueTemplateItemsFromStructure], _temp4$4), $[17] = initialValueTemplateItemFromMenuItems, $[18] = initialValueTemplateItemsFromStructure, $[19] = t10) : t10 = $[19];
10572
+ const combinedInitialValueTemplates = t10;
10560
10573
  let t11;
10561
- $[20] !== actionNodes ? (t11 = actionNodes.map(_temp4$4), $[20] = actionNodes, $[21] = t11) : t11 = $[21];
10574
+ $[20] !== combinedInitialValueTemplates ? (t11 = /* @__PURE__ */ jsx(PaneHeaderCreateButton, { templateItems: combinedInitialValueTemplates }), $[20] = combinedInitialValueTemplates, $[21] = t11) : t11 = $[21];
10562
10575
  let t12;
10563
- $[22] !== contextMenuNodes ? (t12 = contextMenuNodes.length > 0 && /* @__PURE__ */ jsx(PaneContextMenuButton, { nodes: contextMenuNodes }), $[22] = contextMenuNodes, $[23] = t12) : t12 = $[23];
10576
+ $[22] !== actionNodes ? (t12 = actionNodes.map(_temp5$3), $[22] = actionNodes, $[23] = t12) : t12 = $[23];
10564
10577
  let t13;
10565
- return $[24] !== t10 || $[25] !== t11 || $[26] !== t12 ? (t13 = /* @__PURE__ */ jsxs(Flex, { gap: 1, children: [
10566
- t10,
10578
+ $[24] !== contextMenuNodes || $[25] !== hasContextMenuContent ? (t13 = hasContextMenuContent && /* @__PURE__ */ jsx(PaneContextMenuButton, { nodes: contextMenuNodes }), $[24] = contextMenuNodes, $[25] = hasContextMenuContent, $[26] = t13) : t13 = $[26];
10579
+ let t14;
10580
+ return $[27] !== t11 || $[28] !== t12 || $[29] !== t13 ? (t14 = /* @__PURE__ */ jsxs(Flex, { gap: 1, children: [
10567
10581
  t11,
10568
- t12
10569
- ] }), $[24] = t10, $[25] = t11, $[26] = t12, $[27] = t13) : t13 = $[27], t13;
10582
+ t12,
10583
+ t13
10584
+ ] }), $[27] = t11, $[28] = t12, $[29] = t13, $[30] = t14) : t14 = $[30], t14;
10570
10585
  });
10571
10586
  function _temp$c(item_0) {
10572
10587
  return item_0.intent?.type !== "create";
10573
10588
  }
10574
- function _temp2$6(t0) {
10589
+ function _temp2$6(node) {
10590
+ return node.type === "item" || node.type === "group" && node.children.length > 0;
10591
+ }
10592
+ function _temp3$5(t0) {
10575
10593
  const {
10576
10594
  initialDocumentId: initialDocumentId_0,
10577
10595
  item: item_2,
@@ -10592,11 +10610,11 @@ function _temp2$6(t0) {
10592
10610
  schemaType: template_0.schemaType
10593
10611
  };
10594
10612
  }
10595
- function _temp3$5(item_3) {
10613
+ function _temp4$4(item_3) {
10596
10614
  return hashObject([item_3.initialDocumentId, item_3.templateId, item_3.parameters]);
10597
10615
  }
10598
- function _temp4$4(node) {
10599
- return /* @__PURE__ */ jsx(PaneHeaderActionButton, { node }, node.key);
10616
+ function _temp5$3(node_0) {
10617
+ return /* @__PURE__ */ jsx(PaneHeaderActionButton, { node: node_0 }, node_0.key);
10600
10618
  }
10601
10619
  function MissingSchemaType(props) {
10602
10620
  const $ = c(16), {
@@ -12162,7 +12180,7 @@ const addIdsToMenuItems = (menuItems) => menuItems?.map((item) => item.id ? item
12162
12180
  suppressRestoreDefaults
12163
12181
  } = options;
12164
12182
  if (suppressRestoreDefaults) return menuItems;
12165
- const restoreDefaultSortOrderItem = {
12183
+ const hasSortItems = menuItems.some((item) => item.group === "sorting" || item.action === "setSortOrder"), hasLayoutItems = menuItems.some((item) => item.group === "layout" || item.action === "setLayout"), restoreDefaultSortOrderItem = {
12166
12184
  group: "sorting",
12167
12185
  action: "restoreDefaultSortOrder",
12168
12186
  i18n: {
@@ -12199,14 +12217,14 @@ const addIdsToMenuItems = (menuItems) => menuItems?.map((item) => item.id ? item
12199
12217
  }
12200
12218
  }
12201
12219
  };
12202
- return [...menuItems, restoreDefaultSortOrderItem, restoreDefaultLayoutItem];
12220
+ return [...menuItems, ...hasSortItems ? [restoreDefaultSortOrderItem] : [], ...hasLayoutItems ? [restoreDefaultLayoutItem] : []];
12203
12221
  };
12204
12222
  function useShallowUnique(value) {
12205
12223
  const [previous, setPrevious] = useState(value);
12206
12224
  return shallowEquals(previous, value) ? previous : (setPrevious(value), value);
12207
12225
  }
12208
12226
  const PaneContainer = memo(function(props) {
12209
- const $ = c(72), {
12227
+ const $ = c(70), {
12210
12228
  index,
12211
12229
  isSelected,
12212
12230
  pane,
@@ -12268,61 +12286,61 @@ const PaneContainer = memo(function(props) {
12268
12286
  }, $[15] = defaultSortOrder, $[16] = schemaType, $[17] = setStoredSortOrder, $[18] = t8) : t8 = $[18];
12269
12287
  const handleSetSortOrder = t8;
12270
12288
  let t9;
12271
- $[19] !== defaultSortOrder || $[20] !== setStoredSortOrder ? (t9 = async () => {
12272
- await setStoredSortOrder(toStaticSortOrder(defaultSortOrder));
12273
- }, $[19] = defaultSortOrder, $[20] = setStoredSortOrder, $[21] = t9) : t9 = $[21];
12289
+ $[19] !== setStoredSortOrder ? (t9 = async () => {
12290
+ await setStoredSortOrder(null);
12291
+ }, $[19] = setStoredSortOrder, $[20] = t9) : t9 = $[20];
12274
12292
  const handleRestoreDefaultSortOrder = t9;
12275
12293
  let t10;
12276
- $[22] !== defaultLayout || $[23] !== setLayout ? (t10 = async () => {
12277
- await setLayout(defaultLayout);
12278
- }, $[22] = defaultLayout, $[23] = setLayout, $[24] = t10) : t10 = $[24];
12294
+ $[21] !== setLayout ? (t10 = async () => {
12295
+ await setLayout(null);
12296
+ }, $[21] = setLayout, $[22] = t10) : t10 = $[22];
12279
12297
  const handleRestoreDefaultLayout = t10;
12280
12298
  let t11;
12281
- $[25] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t11 = {}, $[25] = t11) : t11 = $[25];
12299
+ $[23] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t11 = {}, $[23] = t11) : t11 = $[23];
12282
12300
  const [customMenuItemState, setCustomMenuItemState] = useState(t11);
12283
12301
  let t12;
12284
- $[26] !== menuItems ? (t12 = addIdsToMenuItems(menuItems), $[26] = menuItems, $[27] = t12) : t12 = $[27];
12302
+ $[24] !== menuItems ? (t12 = addIdsToMenuItems(menuItems), $[24] = menuItems, $[25] = t12) : t12 = $[25];
12285
12303
  const menuItemsWithIds = t12;
12286
12304
  let t13;
12287
- $[28] !== t ? (t13 = t("panes.document-list-pane.sort-order.disabled-reason"), $[28] = t, $[29] = t13) : t13 = $[29];
12305
+ $[26] !== t ? (t13 = t("panes.document-list-pane.sort-order.disabled-reason"), $[26] = t, $[27] = t13) : t13 = $[27];
12288
12306
  const disabledSortReason = t13;
12289
12307
  let t14;
12290
- $[30] !== customMenuItemState || $[31] !== disabledSortReason || $[32] !== layout || $[33] !== menuItemsWithIds || $[34] !== schemaType || $[35] !== validatedSortOrder ? (t14 = addSelectedStateToMenuItems({
12308
+ $[28] !== customMenuItemState || $[29] !== disabledSortReason || $[30] !== layout || $[31] !== menuItemsWithIds || $[32] !== schemaType || $[33] !== validatedSortOrder ? (t14 = addSelectedStateToMenuItems({
12291
12309
  menuItems: menuItemsWithIds,
12292
12310
  sortOrderRaw: validatedSortOrder,
12293
12311
  layout,
12294
12312
  customMenuItemState,
12295
12313
  schemaType,
12296
12314
  disabledSortReason
12297
- }), $[30] = customMenuItemState, $[31] = disabledSortReason, $[32] = layout, $[33] = menuItemsWithIds, $[34] = schemaType, $[35] = validatedSortOrder, $[36] = t14) : t14 = $[36];
12315
+ }), $[28] = customMenuItemState, $[29] = disabledSortReason, $[30] = layout, $[31] = menuItemsWithIds, $[32] = schemaType, $[33] = validatedSortOrder, $[34] = t14) : t14 = $[34];
12298
12316
  const menuItemsWithSelectedState = t14, isLayoutDefault = layout === defaultLayout;
12299
12317
  let t15;
12300
- $[37] !== defaultSortOrder || $[38] !== storedSortOrderRaw?.by ? (t15 = isEqual(storedSortOrderRaw?.by ?? [], toStaticSortOrder(defaultSortOrder).by), $[37] = defaultSortOrder, $[38] = storedSortOrderRaw?.by, $[39] = t15) : t15 = $[39];
12318
+ $[35] !== defaultSortOrder || $[36] !== storedSortOrderRaw?.by ? (t15 = isEqual(storedSortOrderRaw?.by ?? [], toStaticSortOrder(defaultSortOrder).by), $[35] = defaultSortOrder, $[36] = storedSortOrderRaw?.by, $[37] = t15) : t15 = $[37];
12301
12319
  const isSortDefault = t15;
12302
12320
  let t16;
12303
- $[40] !== isLayoutDefault || $[41] !== isSortDefault || $[42] !== menuItemsWithSelectedState || $[43] !== suppressRestoreDefaultMenuItems || $[44] !== t ? (t16 = appendRestoreDefaultItems({
12321
+ $[38] !== isLayoutDefault || $[39] !== isSortDefault || $[40] !== menuItemsWithSelectedState || $[41] !== suppressRestoreDefaultMenuItems || $[42] !== t ? (t16 = appendRestoreDefaultItems({
12304
12322
  menuItems: menuItemsWithSelectedState,
12305
12323
  isSortDefault,
12306
12324
  isLayoutDefault,
12307
12325
  restoreSortDisabledReason: t("menu-items.sort-by.restore-default.disabled-reason"),
12308
12326
  restoreLayoutDisabledReason: t("menu-items.layout.restore-default.disabled-reason"),
12309
12327
  suppressRestoreDefaults: suppressRestoreDefaultMenuItems
12310
- }), $[40] = isLayoutDefault, $[41] = isSortDefault, $[42] = menuItemsWithSelectedState, $[43] = suppressRestoreDefaultMenuItems, $[44] = t, $[45] = t16) : t16 = $[45];
12328
+ }), $[38] = isLayoutDefault, $[39] = isSortDefault, $[40] = menuItemsWithSelectedState, $[41] = suppressRestoreDefaultMenuItems, $[42] = t, $[43] = t16) : t16 = $[43];
12311
12329
  const menuItemsWithRestoreDefaults = t16, t17 = sourceName || parentSourceName;
12312
12330
  let t18;
12313
- $[46] !== pane.source ? (t18 = _DEBUG, $[46] = pane.source, $[47] = t18) : t18 = $[47];
12331
+ $[44] !== pane.source ? (t18 = _DEBUG, $[44] = pane.source, $[45] = t18) : t18 = $[45];
12314
12332
  let t19;
12315
- $[48] !== customMenuItemState || $[49] !== handleRestoreDefaultLayout || $[50] !== handleRestoreDefaultSortOrder || $[51] !== handleSetSortOrder || $[52] !== index || $[53] !== initialValueTemplates || $[54] !== menuItemGroups || $[55] !== menuItemsWithRestoreDefaults || $[56] !== setLayout || $[57] !== title ? (t19 = /* @__PURE__ */ jsx(PaneHeader, { customMenuItemState, index, initialValueTemplates, menuItemGroups, menuItems: menuItemsWithRestoreDefaults, setLayout, setSortOrder: handleSetSortOrder, setCustomMenuItemState, restoreDefaultLayout: handleRestoreDefaultLayout, restoreDefaultSortOrder: handleRestoreDefaultSortOrder, title }), $[48] = customMenuItemState, $[49] = handleRestoreDefaultLayout, $[50] = handleRestoreDefaultSortOrder, $[51] = handleSetSortOrder, $[52] = index, $[53] = initialValueTemplates, $[54] = menuItemGroups, $[55] = menuItemsWithRestoreDefaults, $[56] = setLayout, $[57] = title, $[58] = t19) : t19 = $[58];
12333
+ $[46] !== customMenuItemState || $[47] !== handleRestoreDefaultLayout || $[48] !== handleRestoreDefaultSortOrder || $[49] !== handleSetSortOrder || $[50] !== index || $[51] !== initialValueTemplates || $[52] !== menuItemGroups || $[53] !== menuItemsWithRestoreDefaults || $[54] !== setLayout || $[55] !== title ? (t19 = /* @__PURE__ */ jsx(PaneHeader, { customMenuItemState, index, initialValueTemplates, menuItemGroups, menuItems: menuItemsWithRestoreDefaults, setLayout, setSortOrder: handleSetSortOrder, setCustomMenuItemState, restoreDefaultLayout: handleRestoreDefaultLayout, restoreDefaultSortOrder: handleRestoreDefaultSortOrder, title }), $[46] = customMenuItemState, $[47] = handleRestoreDefaultLayout, $[48] = handleRestoreDefaultSortOrder, $[49] = handleSetSortOrder, $[50] = index, $[51] = initialValueTemplates, $[52] = menuItemGroups, $[53] = menuItemsWithRestoreDefaults, $[54] = setLayout, $[55] = title, $[56] = t19) : t19 = $[56];
12316
12334
  let t20;
12317
- $[59] !== layout || $[60] !== props || $[61] !== validatedSortOrder ? (t20 = /* @__PURE__ */ jsx(DocumentListPane, { ...props, sortOrder: validatedSortOrder, layout }), $[59] = layout, $[60] = props, $[61] = validatedSortOrder, $[62] = t20) : t20 = $[62];
12335
+ $[57] !== layout || $[58] !== props || $[59] !== validatedSortOrder ? (t20 = /* @__PURE__ */ jsx(DocumentListPane, { ...props, sortOrder: validatedSortOrder, layout }), $[57] = layout, $[58] = props, $[59] = validatedSortOrder, $[60] = t20) : t20 = $[60];
12318
12336
  let t21;
12319
- $[63] !== isSelected || $[64] !== paneKey || $[65] !== t18 || $[66] !== t19 || $[67] !== t20 ? (t21 = /* @__PURE__ */ jsxs(Pane, { "data-ui": "DocumentListPane", id: paneKey, minWidth: 320, currentMaxWidth: 350, maxWidth: 640, selected: isSelected, children: [
12337
+ $[61] !== isSelected || $[62] !== paneKey || $[63] !== t18 || $[64] !== t19 || $[65] !== t20 ? (t21 = /* @__PURE__ */ jsxs(Pane, { "data-ui": "DocumentListPane", id: paneKey, minWidth: 320, currentMaxWidth: 350, maxWidth: 640, selected: isSelected, children: [
12320
12338
  t18,
12321
12339
  t19,
12322
12340
  t20
12323
- ] }), $[63] = isSelected, $[64] = paneKey, $[65] = t18, $[66] = t19, $[67] = t20, $[68] = t21) : t21 = $[68];
12341
+ ] }), $[61] = isSelected, $[62] = paneKey, $[63] = t18, $[64] = t19, $[65] = t20, $[66] = t21) : t21 = $[66];
12324
12342
  let t22;
12325
- return $[69] !== t17 || $[70] !== t21 ? (t22 = /* @__PURE__ */ jsx(SourceProvider, { name: t17, children: t21 }), $[69] = t17, $[70] = t21, $[71] = t22) : t22 = $[71], t22;
12343
+ return $[67] !== t17 || $[68] !== t21 ? (t22 = /* @__PURE__ */ jsx(SourceProvider, { name: t17, children: t21 }), $[67] = t17, $[68] = t21, $[69] = t22) : t22 = $[69], t22;
12326
12344
  });
12327
12345
  PaneContainer.displayName = "Memo(PaneContainer)";
12328
12346
  const useLiveEditBadge = (props) => {