sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
997 lines • 33 kB
TypeScript
import { $r as FieldPresenceData, A_ as StudioAnnouncementsContextValue, Bf as TasksUpsellContextValue, Cp as SchedulesContextValue, Cy as AddonDatasetContextValue, Eg as ConsentStatus, Fc as ReferenceInputOptions, Fn as PortableTextMemberItem, Gf as TasksEnabledContextValue, Hf as TasksNavigationContextValue, It as DocumentFieldAction$1, Jg as CommentsEnabledContextValue, Jy as CommentsSelectedPathContextValue, Kg as CommentsOnboardingContextValue, Ku as ParseError, Ky as RouterHistory, Lu as MetadataWrapper, Mv as SearchContextValue, Nh as EventsStore, Tb as CommentsAuthoringPathContextValue, Uf as MentionUserContextValue, Vf as TasksContextValue, Vt as DocumentFieldActionNode$1, Wc as FormCallbacksValue, Wu as DivergenceNavigator, Xg as CommentsContextValue, Y_ as CopyPasteContextType, Zb as Locale, _t as Workspace, ab as CommentIntentGetter, bg as TagValue, cr as FormBuilderContextValue, ei as FormNodePresence, eu as PreviewCardContextValue, ew as PerspectiveContextValue, fi as ResourceCache, fp as DocumentActionDescription, ft as Source$1, hC as ConnectorContextValue, hl as ZIndexContextValue, ic as EnhancedObjectDialogContextValue, ju as ReleasesUpsellContextValue, jy as WorkspacesContextValue, ls as FieldCommentsProps, oC as TrackerContextGetSnapshot, o_ as CommentsUpsellContextValue, og as UserColorManager, rC as ChangeIndicatorTrackerContextValue, rr as VirtualizerScrollInstance, sC as TrackerContextStore, s_ as UpsellData, t as ActiveWorkspaceMatcherContextValue, t_ as CommentInputContextValue, tm as DocumentChangeContextInstance, ts as PortableTextMarker, vp as DocumentActionProps, w_ as NavbarContextValue, x_ as UpsellDialogViewedInfo, xy as StudioThemeColorSchemeKey, yr as FormValueContextValue, yy as StudioColorScheme, zy as VisibleWorkspacesContextValue } from "./_chunks-dts/ActiveWorkspaceMatcherContext.js";
import { F as PaneLayoutContextValue, P as PaneContextValue, c as DocumentPaneInfoContextValue, i as PaneRouterContextValue, k as StructureToolContextValue, s as DocumentPaneContextValue, w as RouterPanes, y as PaneNode } from "./_chunks-dts/types.js";
import { g as PresentationParamsContextValue, h as PresentationNavigateContextValue, m as PresentationContextValue, v as PresentationPluginOptions } from "./_chunks-dts/types2.js";
import { _ as RouterContextValue } from "./_chunks-dts/types3.js";
import * as _$react from "react";
import { CSSProperties, ComponentType, MutableRefObject, PropsWithChildren, ReactNode, RefObject } from "react";
import { ArraySchemaType, ObjectSchemaType, Path, PortableTextBlock, ValidationMarker } from "@sanity/types";
import { SanityClient } from "@sanity/client";
import { i18n } from "i18next";
import { BehaviorSubject, Observable } from "rxjs";
import { PubSub } from "nano-pubsub";
import { PortableTextMemberSchemaTypes } from "@portabletext/sanity-bridge";
import { SanityDocument as SanityDocument$2 } from "sanity";
import { SemVer } from "semver";
import { Serializable } from "@sanity/presentation-comlink";
/** @internal */
declare const ActiveWorkspaceMatcherContext: _$react.Context<ActiveWorkspaceMatcherContextValue | null>;
/**
* @beta
* @hidden
*/
declare const AddonDatasetContext: _$react.Context<AddonDatasetContextValue | null>;
interface StudioAppResponse {
id: string;
title?: string;
type: 'studio' | string;
urlType: 'internal' | 'external' | string;
appHost: string;
}
interface StudioApp extends StudioAppResponse {
studioUrl: string;
}
interface CompatibleStudioAppId {
/**
* AppId to use for the current origin
*/
appId: string | undefined;
/**
* All available studio apps
*/
studioApps: StudioApp[];
}
interface AppIdCache {
get: (args: {
projectId: string;
appIdFetcher: AppIdFetcher;
}) => Promise<CompatibleStudioAppId | undefined>;
}
type AppIdFetcher = (projectId: string) => Promise<CompatibleStudioAppId>;
/**
* @internal
*/
declare const AppIdCacheContext: _$react.Context<AppIdCache | null>;
/** @internal */
interface ArrayValidationState {
maxReached: boolean;
maxReachedReason: string | undefined;
}
/** @internal */
declare const ArrayValidationContext: _$react.Context<ArrayValidationState | null>;
/**
* @internal
*/
interface AssetLimitUpsellContextValue {
upsellDialogOpen: boolean;
handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void;
upsellData: UpsellData | null;
telemetryLogs: {
dialogSecondaryClicked: () => void;
dialogPrimaryClicked: () => void;
};
}
/**
* @internal
*/
declare const AssetLimitUpsellContext: _$react.Context<AssetLimitUpsellContextValue | null>;
interface CalendarContextValue {
date?: Date;
endDate?: Date;
focusedDate: Date;
selectRange?: boolean;
selectTime?: boolean;
/**
* An integer indicating the first day of the week.
* Can be either 1 (Monday), 6 (Saturday) or 7 (Sunday).
*/
firstWeekDay: 1 | 6 | 7;
}
/**
* @internal
*/
declare const CalendarContext: _$react.Context<CalendarContextValue | undefined>;
/**
* @internal
* @hidden
*/
type ChangeIndicatorTrackerContextStoreType = TrackerContextStore<ChangeIndicatorTrackerContextValue> | null;
/**
* @internal
* @hidden
*/
type ChangeIndicatorTrackerGetSnapshotType = TrackerContextGetSnapshot<ChangeIndicatorTrackerContextValue> | null;
/** @internal */
declare const ChangeIndicatorTrackerContextStore: _$react.Context<ChangeIndicatorTrackerContextStoreType>;
/** @internal */
declare const ChangeIndicatorTrackerContextGetSnapshot: _$react.Context<ChangeIndicatorTrackerGetSnapshotType>;
/**
* The setter for ColorSchemeValueContext, in a separate context to avoid unnecessary re-renders
* If set to false then the UI should adjust to reflect that the Studio can't change the color scheme
* @internal
*/
declare const ColorSchemeSetValueContext: _$react.Context<false | ((nextScheme: StudioThemeColorSchemeKey) => void) | null>;
/**
* Used to keep track of the internal value, which can be "system" in addition to "light" and "dark"
* @internal
*/
declare const ColorSchemeValueContext: _$react.Context<StudioColorScheme | null>;
/**
* @internal
*/
declare const CommentInputContext: _$react.Context<CommentInputContextValue | null>;
/**
* @beta
* @hidden
*/
declare const CommentsAuthoringPathContext: _$react.Context<CommentsAuthoringPathContextValue | null>;
/**
* @internal
*/
declare const CommentsContext: _$react.Context<CommentsContextValue | null>;
/**
* @internal
*/
declare const CommentsEnabledContext: _$react.Context<CommentsEnabledContextValue>;
/**
* @internal
*/
declare const CommentsIntentContext: _$react.Context<CommentIntentGetter | undefined>;
/**
* @internal
*/
declare const CommentsOnboardingContext: _$react.Context<CommentsOnboardingContextValue | null>;
/**
* @internal
*/
declare const CommentsSelectedPathContext: _$react.Context<CommentsSelectedPathContextValue | null>;
/**
* @internal
*/
declare const CommentsUpsellContext: _$react.Context<CommentsUpsellContextValue | null>;
/**
* @beta
* @hidden
*/
declare const CopyPasteContext: _$react.Context<CopyPasteContextType | null>;
/**
* Entry in the dialog stack.
*
* @beta
*/
interface DialogStackEntry {
id: string;
path?: Path;
}
/**
* Context value for tracking the dialog stack.
*
* @beta
*/
interface DialogStackContextValue {
/** Stack of dialog entries, last one is the top */
stack: DialogStackEntry[];
/** Push a dialog onto the stack */
push: (id: string, path?: Path) => void;
/** Remove a dialog from the stack */
remove: (id: string) => void;
/** Update the path of an existing dialog entry */
update: (id: string, path?: Path) => void;
/** Close dialogs. Pass `{ toParent: true }` to close only the top dialog and navigate to the parent. */
close: (options?: {
/**
* When true, closes only the top dialog and navigates to its parent path.
* When false or omitted, closes all dialogs and resets to the root path.
*/
toParent?: boolean;
}) => void;
/** Navigate to a specific path, updating the form path and cleaning up stack entries that are at or deeper than the target. */
navigateTo: (path: Path) => void;
}
/**
* Context for tracking the stack of open dialogs.
*
* @beta
*/
declare const DialogStackContext: _$react.Context<DialogStackContextValue | null>;
/** @internal */
declare const DiffContext: _$react.Context<{
path: Path;
}>;
/**
* @internal
*/
declare const DocumentActionPropsContext: _$react.Context<DocumentActionProps | undefined>;
/**
* @internal
*/
declare const DocumentActionsStateContext: _$react.Context<DocumentActionDescription[] | null>;
/** @internal */
declare const DocumentChangeContext: _$react.Context<DocumentChangeContextInstance | null>;
/**
* @internal
*/
type DocumentDivergencesContextValue = (DivergenceNavigator & {
enabled: true;
sessionId: string;
}) | {
enabled: false;
sessionId: null;
};
/**
* @internal
*/
declare const DocumentDivergencesContext: _$react.Context<DocumentDivergencesContextValue>;
/**
* @internal
*/
interface DocumentFieldActionsContextValue {
actions: DocumentFieldAction$1[];
}
/**
* @internal
*/
declare const DocumentFieldActionsContext: _$react.Context<DocumentFieldActionsContextValue | null>;
/**
* @internal
*/
interface DocumentIdContextValue {
id: string;
}
/**
* @internal
*/
declare const DocumentIdContext: _$react.Context<DocumentIdContextValue | null>;
/**
* @internal
*/
interface DocumentLimitUpsellContextValue {
upsellDialogOpen: boolean;
handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void;
handleClose: () => void;
upsellData: UpsellData | null;
telemetryLogs: {
dialogSecondaryClicked: () => void;
dialogPrimaryClicked: () => void;
panelPrimaryClicked: () => void;
panelSecondaryClicked: () => void;
};
}
/**
* @internal
*/
declare const DocumentLimitUpsellContext: _$react.Context<DocumentLimitUpsellContextValue | null>;
/** @internal */
declare const DocumentPaneContext: _$react.Context<DocumentPaneContextValue | null>;
/** @internal */
declare const DocumentPaneInfoContext: _$react.Context<DocumentPaneInfoContextValue | null>;
/**
* @internal
* @deprecated This context is no longer used and will be removed in a future release as we make the enhanced object dialog the default.
*/
declare const EnhancedObjectDialogContext: _$react.Context<EnhancedObjectDialogContextValue>;
/**
* @internal
*/
declare const EventsContext: _$react.Context<EventsStore | null>;
/** @internal */
interface FeedbackContextValue {
telemetryConsent: ConsentStatus;
userName: string | undefined;
userEmail: string | undefined;
tags: Record<string, TagValue>;
}
/** @internal */
declare const FeedbackContext: _$react.Context<FeedbackContextValue>;
/** @internal */
interface FieldActionsContextValue {
actions: DocumentFieldActionNode$1[];
__internal_comments?: FieldCommentsProps;
__internal_slot?: ReactNode;
focused?: boolean;
hovered: boolean;
onMouseEnter: () => void;
onMouseLeave: () => void;
}
/** @internal */
declare const FieldActionsContext: _$react.Context<FieldActionsContextValue>;
/**
* @internal
*/
declare const FormBuilderContext: _$react.Context<FormBuilderContextValue | null>;
/**
* @internal
*/
declare const FormCallbacksContext: _$react.Context<FormCallbacksValue | null>;
/** @internal */
declare const FormFieldPresenceContext: _$react.Context<FormNodePresence[]>;
/**
* @internal
*/
declare const FormValueContext: _$react.Context<FormValueContextValue | null>;
interface FreeTrialResponse {
id: string;
icon: string;
style: string;
showOnLoad: FreeTrialDialog | null;
showOnClick: FreeTrialDialog | null;
daysLeft: number;
totalDays: number;
}
interface FreeTrialDialog {
_id: string;
_type: 'dialog';
_createdAt: string;
ctaButton?: {
text: string;
action: 'openNext' | 'closeDialog' | 'openUrl';
url?: string;
};
secondaryButton?: {
text: string;
};
descriptionText: PortableTextBlock[];
dialogType: 'modal' | 'popover';
headingText: string;
id: string;
image: Image$1 | null;
tags?: Tag[];
_rev: string;
_updatedAt: string;
}
interface Tag {
_type: 'tag';
_key: string;
tag: string;
}
interface Image$1 {
asset: {
url: string;
altText: string | null;
};
}
/**
* @internal
*/
interface FreeTrialContextProps {
data: FreeTrialResponse | null;
showDialog: boolean;
showOnLoad: boolean;
/**
* If the user is seeing the `showOnLoad` popover or modal, and clicks on the pricing button the `showOnClick` modal should be triggered.
*/
toggleShowContent: (closeAndReOpen?: boolean) => void;
}
/**
* @internal
*/
declare const FreeTrialContext: _$react.Context<FreeTrialContextProps | undefined>;
/**
* Context for tracking fullscreen state of portable text editors by their path
* @internal
*/
interface FullscreenPTEContextValue {
/**
* Get the fullscreen state for a specific path
*/
getFullscreenPath: (path: Path) => string | undefined;
/**
* Set the fullscreen state for a specific path
*/
setFullscreenPath: (path: Path, isFullscreen: boolean) => void;
/**
* Check if any portable text editor is currently in fullscreen mode
*/
hasAnyFullscreen: () => boolean;
/**
* Get all fullscreen paths
*/
allFullscreenPaths: string[];
}
/**
* @internal
*/
declare const FullscreenPTEContext: _$react.Context<FullscreenPTEContextValue>;
/**
* @internal
* @hidden
*/
type GetFormValueContextValue = (path: Path) => unknown;
/**
* @internal
*/
declare const GetFormValueContext: _$react.Context<GetFormValueContextValue | null>;
/** @internal */
interface HoveredFieldContextValue {
store: {
subscribe: (onStoreCallback: () => void) => () => void;
getSnapshot: () => string[];
};
onMouseEnter: (path: Path) => void;
onMouseLeave: (path: Path) => void;
}
/** @internal */
declare const HoveredFieldContext: _$react.Context<HoveredFieldContextValue>;
/**
* TODO: remove this context when alternate document-specific context are
* introduced.
*
* The following context is used in the structure tool to set the active
* document if it's the last pane open in the structure tool. This is a
* temporary context provider that was introduced when the comments and tasks
* plugins were refactor and decoupled from the structure tool. ideally this
* should be removed and replaced with a document-specific context that gives
* plugin authors access to what the `usePane`, `usePaneRouter`, and
* `useDocumentPane` provides without exposing specifics from the structure tool
*/
/**
* @internal
*/
declare const IsLastPaneContext: _$react.Context<boolean>;
/**
* User application from the API
* @internal
*/
interface UserApplication {
id: string;
type: string;
projectId?: string;
organizationId?: string;
title?: string;
urlType: 'internal' | 'external';
appHost: string;
}
/**
* Cache for user applications fetched from the API.
* Caches by projectId to avoid duplicate fetches.
* @internal
*/
interface UserApplicationCache {
/**
* Get user applications for a project.
* Returns cached results if available, otherwise fetches from API.
*/
get: (client: SanityClient) => Promise<UserApplication[]>;
}
/**
* @hidden
* @internal
*/
type LiveUserApplicationContextValue = {
userApplication: UserApplication | undefined;
isLoading: boolean;
};
/**
*
* @hidden
* @internal
*/
declare const LiveUserApplicationContext: _$react.Context<LiveUserApplicationContextValue>;
/**
* @internal
* @hidden
*/
interface LocaleContextValue {
locales: Locale[];
currentLocale: Locale;
__internal: {
i18next: i18n;
};
changeLocale: (newLocale: string) => Promise<void>;
}
/**
* @internal
* @hidden
*/
declare const LocaleContext: _$react.Context<LocaleContextValue | undefined>;
/** @internal */
type MediaLibraryIds = {
libraryId: string;
organizationId: string;
};
/** @internal */
declare const MediaLibraryIdsContext: _$react.Context<MediaLibraryIds | null>;
/**
* @internal
*/
declare const MentionUserContext: _$react.Context<MentionUserContextValue | null>;
/** @internal */
declare const NavbarContext: _$react.Context<NavbarContextValue>;
/**
* @hidden
* @internal
*/
type PackageVersionInfoContextValue = {
/**
* Request a new update check
*/
checkForUpdates: () => void;
/**
* Status of version check (i.e. are we currently checking for updates)
*/
versionCheckStatus: {
lastCheckedAt: Date | null;
checking: boolean;
};
/**
* Whether this Studio is configured to be auto-updating
*/
isAutoUpdating: boolean;
/**
* If an importmap for the sanity module exists in the DOM, includes details
* will be undefined if no importmap is found
*/
importMapInfo?: {
valid: false;
error: Error;
} | {
valid: true;
minVersion: SemVer;
appId?: string;
};
/**
* What is the version tagged as latest (periodically checked)
*/
latestTaggedVersion?: SemVer;
/**
* What version is the Studio currently running
*/
currentVersion: SemVer;
/**
* What is the current auto-updating version (as periodically resolved via module server and configured via manage)
*/
autoUpdatingVersion?: SemVer;
};
/**
*
* @hidden
* @internal
*/
declare const PackageVersionInfoContext: _$react.Context<PackageVersionInfoContextValue>;
/**
* @internal
*/
declare const PaneContext: _$react.Context<PaneContextValue | null>;
/**
* @internal
*/
declare const PaneLayoutContext: _$react.Context<PaneLayoutContextValue | null>;
/**
*
* @hidden
* @beta
*/
declare const PaneRouterContext: _$react.Context<PaneRouterContextValue>;
/**
* Setter passed to inputs via `useReportParseError`. Inputs register a
* transient parse error keyed by `@sanity/util/paths` `toString(path)`, or
* clear it by passing `null`.
*
* @internal
*/
type SetParseError = (pathKey: string, value: ParseError | null) => void;
interface ParseErrorsContextValue {
errors: Record<string, ParseError>;
set: SetParseError;
}
/**
* @internal
*/
declare const ParseErrorsContext: _$react.Context<ParseErrorsContextValue>;
/**
*
* @hidden
* @beta
*/
declare const PerspectiveContext: _$react.Context<PerspectiveContextValue | null>;
/**
* @internal
*/
declare const PortableTextMarkersContext: _$react.Context<PortableTextMarker[]>;
/** @internal */
type PortableTextEditorElement = HTMLDivElement | HTMLSpanElement;
/**
* @internal
*/
declare const PortableTextMemberItemElementRefsContext: _$react.Context<BehaviorSubject<Record<string, PortableTextEditorElement | null | undefined>>>;
/**
* @internal
*/
declare const PortableTextMemberItemsContext: _$react.Context<PortableTextMemberItem[]>;
/**
* Context for Sanity-specific schema types for Portable Text.
* This provides access to the full Sanity schema types instead of relying on
* `editor.schemaTypes` from PTE, which will contain minimal PT schema types
* when PTE removes its Sanity dependencies.
*
* @internal
*/
declare const PortableTextMemberSchemaTypesContext: _$react.Context<PortableTextMemberSchemaTypes | null>;
/**
* @internal
*/
declare const PresenceContext: _$react.Context<FormNodePresence[]>;
/**
* @internal
* @hidden
*/
type PresenceTrackerContextStoreType = TrackerContextStore<FieldPresenceData> | null;
/**
* @internal
* @hidden
*/
type PresenceTrackerGetSnapshotType = TrackerContextGetSnapshot<FieldPresenceData> | null;
/** @internal */
declare const PresenceTrackerContextStore: _$react.Context<PresenceTrackerContextStoreType>;
/** @internal */
declare const PresenceTrackerContextGetSnapshot: _$react.Context<PresenceTrackerGetSnapshotType>;
/**
* @internal
*/
declare const PresentationContext: _$react.Context<PresentationContextValue | null>;
/** @internal */
type PresentationDisplayedDocumentContextValue = (displayed: Partial<SanityDocument$2> | null | undefined) => void;
/**
* @internal
*/
declare const PresentationDisplayedDocumentContext: _$react.Context<PresentationDisplayedDocumentContextValue | null>;
interface PresentationDocumentContextValue {
options: PresentationPluginOptions[];
register: (options: PresentationPluginOptions) => () => void;
}
/**
* @internal
*/
declare const PresentationDocumentContext: _$react.Context<PresentationDocumentContextValue | null>;
/**
* @internal
*/
declare const PresentationNavigateContext: _$react.Context<PresentationNavigateContextValue | null>;
interface PanelElement {
id: string;
type: 'panel';
defaultSize: number | null;
order: number;
maxWidth: number | null;
minWidth: number;
}
interface ResizerElement {
id: string;
order: number;
type: 'resizer';
el: RefObject<HTMLDivElement | null>;
}
interface PresentationPanelsContextValue {
activeResizer: string | null;
drag: (id: string, event: MouseEvent) => void;
getPanelStyle: (id: string) => React.CSSProperties;
registerElement: (id: string, panel: PanelElement | ResizerElement) => void;
startDragging: (id: string, event: MouseEvent) => void;
stopDragging: () => void;
unregisterElement: (id: string) => void;
}
/**
* @internal
*/
declare const PresentationPanelsContext: _$react.Context<PresentationPanelsContextValue | null>;
/**
* @internal
*/
declare const PresentationParamsContext: _$react.Context<PresentationParamsContextValue | null>;
interface PresentationSharedStateContextValue {
removeValue: (key: string) => void;
setValue: (key: string, value: Serializable) => void;
}
/**
* @internal
*/
declare const PresentationSharedStateContext: _$react.Context<PresentationSharedStateContextValue | null>;
/**
* @internal
*/
declare const PreviewCardContext: _$react.Context<PreviewCardContextValue>;
/**
* @internal
*/
declare const ReferenceInputOptionsContext: _$react.Context<ReferenceInputOptions>;
/**
* @internal
*/
interface ReferenceItemRef {
menuRef: MutableRefObject<HTMLDivElement | null>;
menuButtonRef: MutableRefObject<HTMLButtonElement | null>;
containerRef: MutableRefObject<HTMLDivElement | null>;
}
/**
* This is a way to store ref of the menu as well as the container of the ReferenceItem
* so it can be used down the tree for clickOutside handling
* @internal
*/
declare const ReferenceItemRefContext: _$react.Context<ReferenceItemRef | null>;
/**
* @internal
*/
interface ReleasesMetadataContextValue {
state: MetadataWrapper;
addReleaseIdsToListener: (slugs: string[]) => void;
removeReleaseIdsFromListener: (slugs: string[]) => void;
}
/**
* @internal
* @hidden
*/
declare const ReleasesMetadataContext: _$react.Context<ReleasesMetadataContextValue | null>;
type SortDirection = 'asc' | 'desc';
interface TableSort {
column: string;
direction: SortDirection;
}
/**
* @internal
*/
interface TableContextValue {
searchTerm: string | null;
setSearchTerm: (searchTerm: string) => void;
sort: TableSort | null;
setSortColumn: (column: string) => void;
}
/**
* @internal
*/
declare const TableContext: _$react.Context<TableContextValue | null>;
/**
* @beta
* @hidden
*/
declare const ReleasesUpsellContext: _$react.Context<ReleasesUpsellContextValue | null>;
declare const LOADING_PANE: unique symbol;
interface PaneData {
active: boolean;
childItemId: string | null;
groupIndex: number;
index: number;
itemId: string;
key: string;
pane: PaneNode | typeof LOADING_PANE;
params: Record<string, string | undefined> & {
perspective?: string;
};
path: string;
payload: unknown;
selected: boolean;
siblingIndex: number;
maximized: boolean;
}
interface Panes {
paneDataItems: PaneData[];
routerPanes: RouterPanes;
resolvedPanes: (PaneNode | typeof LOADING_PANE)[];
maximizedPane: PaneData | null;
setMaximizedPane: (pane: PaneData | null) => void;
}
/**
* @internal
*/
declare const ResolvedPanesContext: _$react.Context<Panes | null>;
/**
* @internal
*/
declare function ResolvedPanesProvider({
children,
value
}: {
children: ReactNode;
value: Panes;
}): _$react.JSX.Element;
/**
* @internal
*/
declare const ResourceCacheContext: _$react.Context<ResourceCache | null>;
/** @internal */
declare const ReviewChangesContext: _$react.Context<ConnectorContextValue>;
/**
* @internal
*/
declare const RouterContext: _$react.Context<RouterContextValue | null>;
/**
* Internal use only. Userland should leverage the public `useRouter` APIs.
* @internal
*/
declare const RouterHistoryContext: _$react.Context<RouterHistory | null>;
interface HasUsedScheduledPublishing {
used: boolean;
loading: boolean;
}
/**
* @internal
*/
type ScheduledPublishingEnabledContextValue = {
enabled: false;
mode: null;
hasUsedScheduledPublishing: HasUsedScheduledPublishing;
} | {
enabled: true;
mode: 'default' | 'upsell';
hasUsedScheduledPublishing: HasUsedScheduledPublishing;
};
/**
* @internal
*/
declare const ScheduledPublishingEnabledContext: _$react.Context<ScheduledPublishingEnabledContextValue>;
/**
* @internal
*/
interface SchedulePublishUpsellContextValue {
upsellDialogOpen: boolean;
handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void;
handleClose: () => void;
upsellData: UpsellData | null;
telemetryLogs: {
dialogSecondaryClicked: () => void;
dialogPrimaryClicked: () => void;
panelViewed: (source: UpsellDialogViewedInfo['source']) => void;
panelDismissed: () => void;
panelPrimaryClicked: () => void;
panelSecondaryClicked: () => void;
};
}
/**
* @internal
*/
declare const SchedulePublishUpsellContext: _$react.Context<SchedulePublishUpsellContextValue>;
/**
* @deprecated we will be dropping support for scheduled publishing on a future major version
* @internal
*/
declare const SchedulesContext: _$react.Context<SchedulesContextValue | undefined>;
/**
* @internal
*/
declare const ScrollContext: _$react.Context<PubSub<Event> | null>;
/**
* @internal
*/
declare const SearchContext: _$react.Context<SearchContextValue | undefined>;
/**
* Entry representing a selected annotation for the combined popover
* @internal
*/
interface AnnotationEntry {
key: string;
title: string;
schemaType: ObjectSchemaType;
onOpen: () => void;
onRemove: () => void;
referenceElement: HTMLElement | null;
}
/**
* Context value for tracking selected annotations
* @internal
*/
interface SelectedAnnotationsContextValue {
register: (entry: AnnotationEntry) => void;
unregister: (key: string) => void;
annotations: AnnotationEntry[];
}
/**
* Context for managing selected annotations in the Portable Text editor.
* Used by CombinedAnnotationPopover to show all active annotations in a single popover.
* @internal
*/
declare const SelectedAnnotationsContext: _$react.Context<SelectedAnnotationsContextValue | null>;
/**
* @internal
*/
interface SingleDocReleaseContextValue {
/**
* Sets the scheduled draft perspective into the local router params.
*/
onSetScheduledDraftPerspective: (releaseId: string) => void;
}
/**
* @internal
*/
declare const SingleDocReleaseContext: _$react.Context<SingleDocReleaseContextValue | null>;
/**
* @internal
*/
type SingleDocReleaseEnabledContextValue = {
enabled: false;
mode: null;
} | {
enabled: true;
mode: 'default' | 'upsell';
};
/**
* @internal
*/
declare const SingleDocReleaseEnabledContext: _$react.Context<SingleDocReleaseEnabledContextValue>;
/**
* @internal
*/
interface SingleDocReleaseUpsellContextValue {
upsellDialogOpen: boolean;
handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void;
handleClose: () => void;
upsellData: UpsellData | null;
telemetryLogs: {
dialogSecondaryClicked: () => void;
dialogPrimaryClicked: () => void;
panelViewed: (source: UpsellDialogViewedInfo['source']) => void;
panelDismissed: () => void;
panelPrimaryClicked: () => void;
panelSecondaryClicked: () => void;
};
}
/**
* @internal
*/
declare const SingleDocReleaseUpsellContext: _$react.Context<SingleDocReleaseUpsellContextValue>;
/**
* @internal
*/
declare const SortableItemIdContext: _$react.Context<string | null>;
/**
* @internal
*/
declare const SourceContext: _$react.Context<Source$1 | null>;
/**
* @internal
*/
declare const StructureToolContext: _$react.Context<StructureToolContextValue | null>;
/**
* @internal
*/
declare const StudioAnnouncementContext: _$react.Context<StudioAnnouncementsContextValue | undefined>;
/**
* @internal
*/
declare const TasksContext: _$react.Context<TasksContextValue | null>;
/**
* @internal
*/
declare const TasksEnabledContext: _$react.Context<TasksEnabledContextValue>;
/**
* @internal
*/
declare const TasksNavigationContext: _$react.Context<TasksNavigationContextValue | null>;
/**
* @beta
* @hidden
*/
declare const TasksUpsellContext: _$react.Context<TasksUpsellContextValue | null>;
/**
* @internal
*/
declare const UserApplicationCacheContext: _$react.Context<UserApplicationCache | null>;
/**
* @internal
*/
declare const UserColorManagerContext: _$react.Context<UserColorManager | null>;
/**
* @internal
*/
declare const ValidationContext: _$react.Context<ValidationMarker[]>;
/**
* This is used to store the reference to the scroll element for virtualizer
* @internal
*/
declare const VirtualizerScrollInstanceContext: _$react.Context<VirtualizerScrollInstance | null>;
/** @internal */
declare const VisibleWorkspacesContext: _$react.Context<VisibleWorkspacesContextValue | null>;
/**
* @internal
*/
declare const WorkspaceContext: _$react.Context<Workspace | null>;
/** @internal */
declare const WorkspacesContext: _$react.Context<WorkspacesContextValue | null>;
/**
* @internal
*/
declare const zIndexContextDefaults: ZIndexContextValue;
/**
* TODO: Rename to `ZOffsetsContext`
*
* @internal
*/
declare const ZIndexContext: _$react.Context<ZIndexContextValue>;
export { ActiveWorkspaceMatcherContext, AddonDatasetContext, AnnotationEntry, AppIdCacheContext, ArrayValidationContext, AssetLimitUpsellContext, AssetLimitUpsellContextValue, CalendarContext, ChangeIndicatorTrackerContextGetSnapshot, ChangeIndicatorTrackerContextStore, ColorSchemeSetValueContext, ColorSchemeValueContext, CommentInputContext, CommentsAuthoringPathContext, CommentsContext, CommentsEnabledContext, CommentsIntentContext, CommentsOnboardingContext, CommentsSelectedPathContext, CommentsUpsellContext, CopyPasteContext, DialogStackContext, DialogStackContextValue, DialogStackEntry, DiffContext, DocumentActionPropsContext, DocumentActionsStateContext, DocumentChangeContext, DocumentDivergencesContext, DocumentDivergencesContextValue, DocumentFieldActionsContext, DocumentFieldActionsContextValue, DocumentIdContext, DocumentIdContextValue, DocumentLimitUpsellContext, DocumentLimitUpsellContextValue, DocumentPaneContext, DocumentPaneInfoContext, EnhancedObjectDialogContext, EventsContext, FeedbackContext, FeedbackContextValue, FieldActionsContext, FieldActionsContextValue, FormBuilderContext, FormCallbacksContext, FormFieldPresenceContext, FormValueContext, FreeTrialContext, FullscreenPTEContext, GetFormValueContext, GetFormValueContextValue, HoveredFieldContext, HoveredFieldContextValue, IsLastPaneContext, LiveUserApplicationContext, LiveUserApplicationContextValue, LocaleContext, LocaleContextValue, MediaLibraryIdsContext, MentionUserContext, NavbarContext, PackageVersionInfoContext, PackageVersionInfoContextValue, PaneContext, PaneLayoutContext, PaneRouterContext, ParseErrorsContext, PerspectiveContext, PortableTextEditorElement, PortableTextMarkersContext, PortableTextMemberItemElementRefsContext, PortableTextMemberItemsContext, PortableTextMemberSchemaTypesContext, PresenceContext, PresenceTrackerContextGetSnapshot, PresenceTrackerContextStore, PresentationContext, PresentationDisplayedDocumentContext, PresentationDocumentContext, PresentationNavigateContext, PresentationPanelsContext, PresentationParamsContext, PresentationSharedStateContext, PreviewCardContext, ReferenceInputOptionsContext, ReferenceItemRef, ReferenceItemRefContext, ReleasesMetadataContext, ReleasesUpsellContext, ResolvedPanesContext, ResolvedPanesProvider, ResourceCacheContext, ReviewChangesContext, RouterContext, RouterHistoryContext, SchedulePublishUpsellContext, SchedulePublishUpsellContextValue, ScheduledPublishingEnabledContext, ScheduledPublishingEnabledContextValue, SchedulesContext, ScrollContext, SearchContext, SelectedAnnotationsContext, SelectedAnnotationsContextValue, SetParseError, SingleDocReleaseContext, SingleDocReleaseContextValue, SingleDocReleaseEnabledContext, SingleDocReleaseEnabledContextValue, SingleDocReleaseUpsellContext, SingleDocReleaseUpsellContextValue, SortableItemIdContext, SourceContext, StructureToolContext, StudioAnnouncementContext, TableContext, TasksContext, TasksEnabledContext, TasksNavigationContext, TasksUpsellContext, UserApplicationCacheContext, UserColorManagerContext, ValidationContext, VirtualizerScrollInstanceContext, VisibleWorkspacesContext, WorkspaceContext, WorkspacesContext, ZIndexContext, zIndexContextDefaults };