UNPKG

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

91 lines (87 loc) 2.92 kB
import { type ObjectSchemaType, type Path, type SanityDocument, type SanityDocumentLike, type ValidationMarker, } from '@sanity/types' import {createContext} from 'react' import { type DocumentActionComponent, type DocumentBadgeComponent, type DocumentFieldAction, type DocumentFormNode, type DocumentInspector, type DocumentLanguageFilterComponent, type EditStateFor, type PatchEvent, type PermissionCheckResult, type StateTree, type TimelineStore, } from 'sanity' import {type View} from '../../structureBuilder' import {type PaneMenuItem, type PaneMenuItemGroup} from '../../types' import {type TimelineMode} from './types' /** @internal */ export interface DocumentPaneContextValue { actions: DocumentActionComponent[] | null activeViewId: string | null badges: DocumentBadgeComponent[] | null changesOpen: boolean closeInspector: (inspectorName?: string) => void collapsedFieldSets: StateTree<boolean> | undefined collapsedPaths: StateTree<boolean> | undefined compareValue: Partial<SanityDocument> | null connectionState: 'connecting' | 'reconnecting' | 'connected' displayed: Partial<SanityDocument> | null documentId: string documentIdRaw: string documentType: string editState: EditStateFor | null fieldActions: DocumentFieldAction[] focusPath: Path index: number inspectOpen: boolean inspector: DocumentInspector | null inspectors: DocumentInspector[] menuItemGroups: PaneMenuItemGroup[] onBlur: (blurredPath: Path) => void onChange: (event: PatchEvent) => void onFocus: (pathOrEvent: Path) => void onHistoryClose: () => void onHistoryOpen: () => void onInspectClose: () => void onMenuAction: (item: PaneMenuItem) => void onPaneClose: () => void onPaneSplit?: () => void onPathOpen: (path: Path) => void onSetActiveFieldGroup: (path: Path, groupName: string) => void onSetCollapsedPath: (path: Path, expanded: boolean) => void onSetCollapsedFieldSet: (path: Path, expanded: boolean) => void openInspector: (inspectorName: string, paneParams?: Record<string, string>) => void paneKey: string previewUrl?: string | null ready: boolean schemaType: ObjectSchemaType setTimelineMode: (mode: TimelineMode) => void setTimelineRange(since: string | null, rev: string | null): void setIsDeleting: (state: boolean) => void timelineError: Error | null timelineMode: TimelineMode timelineStore: TimelineStore title: string | null validation: ValidationMarker[] value: SanityDocumentLike views: View[] formState: DocumentFormNode | null permissions?: PermissionCheckResult | null isDeleting: boolean isDeleted: boolean isPermissionsLoading: boolean unstable_languageFilter: DocumentLanguageFilterComponent[] __internal_tasks?: { footerAction: React.ReactNode } } /** @internal */ export const DocumentPaneContext = createContext<DocumentPaneContextValue | null>(null)