sanity 5.16.0 → 5.17.0-next.19

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.
@@ -14,7 +14,7 @@ import { ScrollToOptions } from "@tanstack/react-virtual";
14
14
  import * as _sanity_telemetry0 from "@sanity/telemetry";
15
15
  import { DRAFTS_FOLDER, DraftId, PublishedId, VERSION_FOLDER, getDraftId, getPublishedId, getVersionFromId, getVersionId, isDraftId, isPublishedId, isVersionId } from "@sanity/client/csm";
16
16
  import * as sanity__singletons0 from "sanity/_singletons";
17
- import { DocumentLimitUpsellContextValue, FieldActionsContextValue, HoveredFieldContextValue, LocaleContextValue, SchedulesContext, SingleDocReleaseContextValue } from "sanity/_singletons";
17
+ import { DocumentDivergencesContextValue, DocumentLimitUpsellContextValue, FieldActionsContextValue, HoveredFieldContextValue, LocaleContextValue, SchedulesContext, SingleDocReleaseContextValue } from "sanity/_singletons";
18
18
  import { Mutation } from "@sanity/mutator";
19
19
  import { CanvasResource, FrameMessages, MediaResource, StudioResource, WindowMessages } from "@sanity/message-protocol";
20
20
  import { DocumentHandle } from "@sanity/sdk";
@@ -26,7 +26,7 @@ import { ColorHueKey, ColorTintKey, ColorTints } from "@sanity/color";
26
26
  import { Subscriber } from "nano-pubsub";
27
27
  import { ArrayDiff, BooleanDiff, Diff, ItemDiff, NullDiff, NumberDiff, ObjectDiff, StringDiff, StringSegmentChanged, StringSegmentUnchanged, TypeChangeDiff } from "@sanity/diff";
28
28
  import * as styled_components0 from "styled-components";
29
- import { ExecutionProps } from "styled-components";
29
+ import { CSSProperties as CSSProperties$1, ExecutionProps } from "styled-components";
30
30
  import * as date_fns_formatRelative0 from "date-fns/formatRelative";
31
31
  import { ResizeObserverEntry } from "@juggle/resize-observer";
32
32
  import { ThrottleSettings } from "lodash-es/throttle.js";
@@ -2380,7 +2380,17 @@ declare const studioLocaleStrings: {
2380
2380
  'default-orderings.heading': string; /** Title for the default ordering/SortOrder if no orderings are provided and the label field is found */
2381
2381
  'default-orderings.label': string; /** Title for the default ordering/SortOrder if no orderings are provided and the name field is found */
2382
2382
  'default-orderings.name': string; /** Title for the default ordering/SortOrder if no orderings are provided and the title field is found */
2383
- 'default-orderings.title': string; /** Label to show in the document footer indicating the creation date of the document */
2383
+ 'default-orderings.title': string; /** Label for action that closes divergence inspector */
2384
+ 'divergence.action.close.label': string; /** Label for action that marks divergence as resolved */
2385
+ 'divergence.action.markResolved.label': string; /** Label for action that moves inspector to the next divergence in the document */
2386
+ 'divergence.action.next.label': string; /** Label for action that moves inspector to the previous divergence in the document */
2387
+ 'divergence.action.previous.label': string; /** Label for action that replaces the node's value in the current version with its latest value in the upstream version */
2388
+ 'divergence.action.takeFromUpstream.label': string; /** Verb to describe the node's value changed */
2389
+ 'divergence.effect.changed': string; /** Summary of the change that occurred */
2390
+ 'divergence.effect.summary': string; /** Description of the position of the current divergence being inspected, compared to the total count of divergences */
2391
+ 'divergence.pagination': string; /** Label for divergence in a single node */
2392
+ 'divergence.unresolved-divergence_one': string; /** Label for divergences in multiple nodes */
2393
+ 'divergence.unresolved-divergence_other': string; /** Label to show in the document footer indicating the creation date of the document */
2384
2394
  'document-status.created': string; /** Label to show in the document status indicating the date of the status */
2385
2395
  'document-status.date': string; /** Label to show in the document footer indicating the last edited date of the document */
2386
2396
  'document-status.edited': string; /** Label to show in the document footer status line when a document was last published */
@@ -7124,6 +7134,19 @@ declare function isRemovedItemDiff(item: ItemDiff$1): item is ItemDiff$1 & {
7124
7134
  declare function isUnchangedDiff(diff: Diff$1): diff is Diff$1 & {
7125
7135
  action: 'unchanged';
7126
7136
  };
7137
+ /**
7138
+ * A map of supported JSON types to valid empty values that may be used for diffing purposes when
7139
+ * the node has no underlying value to be compared with.
7140
+ *
7141
+ * @internal
7142
+ */
7143
+ declare const emptyValuesByType: {
7144
+ string: string;
7145
+ number: number;
7146
+ boolean: boolean;
7147
+ array: never[];
7148
+ object: {};
7149
+ };
7127
7150
  /** @internal */
7128
7151
  declare function useDocumentChange(): DocumentChangeContextInstance;
7129
7152
  /** @internal */
@@ -7180,14 +7203,14 @@ declare function isPerspectiveWriteable({
7180
7203
  result: false;
7181
7204
  reason: PerspectiveNotWriteableReason;
7182
7205
  };
7183
- interface Props$4 {
7206
+ interface Props$5 {
7184
7207
  withReleasesToolButton?: boolean;
7185
7208
  menuItemProps?: ReleasesNavMenuItemPropsGetter;
7186
7209
  }
7187
7210
  /**
7188
7211
  * @internal
7189
7212
  */
7190
- declare const ReleasesNav: ComponentType<Props$4>;
7213
+ declare const ReleasesNav: ComponentType<Props$5>;
7191
7214
  /**
7192
7215
  * @internal
7193
7216
  */
@@ -7265,7 +7288,7 @@ interface Schedule {
7265
7288
  interface ScheduleFormData {
7266
7289
  date: string;
7267
7290
  }
7268
- interface Props$3 {
7291
+ interface Props$4 {
7269
7292
  onChange?: (formData: ScheduleFormData) => void;
7270
7293
  value?: ScheduleFormData | null;
7271
7294
  }
@@ -7274,7 +7297,7 @@ interface Props$3 {
7274
7297
  * @deprecated we will be dropping support for scheduled publishing on a future major version
7275
7298
  * @internal
7276
7299
  */
7277
- declare function EditScheduleForm(props: PropsWithChildren<Props$3>): react.JSX.Element;
7300
+ declare function EditScheduleForm(props: PropsWithChildren<Props$4>): react.JSX.Element;
7278
7301
  /**
7279
7302
  * @internal
7280
7303
  */
@@ -8148,1449 +8171,1653 @@ declare function getDocumentIdForCanvasLink(actionProps: Omit<DocumentActionProp
8148
8171
  /**
8149
8172
  * @internal
8150
8173
  */
8151
- declare const useDocumentLimitsUpsellContext: () => DocumentLimitUpsellContextValue;
8152
- /**
8153
- * @internal
8154
- */
8155
- declare const isDocumentLimitError: (error: unknown) => boolean;
8174
+ interface ConditionalPropertyCallbackContext {
8175
+ parent?: unknown;
8176
+ document?: Record<string, unknown>;
8177
+ currentUser: Omit<CurrentUser, 'role'> | null;
8178
+ value: unknown;
8179
+ path: Path;
8180
+ }
8156
8181
  /**
8157
8182
  * @internal
8158
8183
  */
8159
- declare const RELEASES_INTENT = "release";
8160
- interface ReleasesMetadata {
8161
- /**
8162
- * The number of documents with the release version as a prefix
8163
- */
8164
- documentCount: number;
8165
- /**
8166
- * The last time a document in the release was edited
8167
- */
8168
- updatedAt: string | null;
8169
- }
8170
- type ReleasesMetadataMap = Record<string, ReleasesMetadata>;
8171
- type MetadataWrapper = {
8172
- data: ReleasesMetadataMap | null;
8173
- error: null;
8174
- loading: boolean;
8175
- };
8176
- interface BundleDeletedAction {
8177
- id: string;
8178
- currentUserId?: string;
8179
- deletedByUserId: string;
8180
- type: 'BUNDLE_DELETED';
8181
- }
8182
- interface ReleasesSetAction {
8183
- payload: ReleaseDocument[] | null;
8184
- type: 'RELEASES_SET';
8185
- }
8186
- interface LoadingStateChangedAction {
8187
- payload: {
8188
- loading: boolean;
8189
- error: Error | undefined;
8190
- };
8191
- type: 'LOADING_STATE_CHANGED';
8192
- }
8193
- type ReleasesReducerAction = BundleDeletedAction | ReleasesSetAction | LoadingStateChangedAction;
8184
+ declare function resolveConditionalProperty(property: ConditionalProperty, context: ConditionalPropertyCallbackContext): boolean;
8194
8185
  /**
8195
- * @internal
8186
+ * The "all fields" group definition
8187
+ * Users can import this to create a custom "all fields" group.
8188
+ * Name must be `all-fields` to be considered an "all fields" group.
8189
+ *
8190
+ * @example hides the all fields group.
8191
+ * ```ts
8192
+ *
8193
+ * const author = defineType({
8194
+ * name: 'author',
8195
+ * title: 'Author',
8196
+ * type: 'document',
8197
+ * groups: [
8198
+ * {
8199
+ * ...ALL_FIELDS_GROUP,
8200
+ * hidden: true,
8201
+ * },
8202
+ * ],
8203
+ * })
8204
+ * ```
8205
+ *
8206
+ * @public
8196
8207
  */
8197
- declare function isReleaseDocument(doc: unknown): doc is ReleaseDocument;
8208
+ declare const ALL_FIELDS_GROUP: FieldGroup;
8198
8209
  /**
8199
- * @internal
8210
+ * When comparing documents, diff provenance reflects details about the bundle in which a change
8211
+ * was introduced.
8212
+ *
8213
+ * @public
8200
8214
  */
8201
- interface VersionInfoDocumentStub {
8202
- _id: string;
8203
- _rev: string;
8204
- _createdAt: string;
8205
- _updatedAt: string;
8206
- }
8207
- interface ReleasesState {
8208
- /**
8209
- * Sorted array of releases, excluding archived releases
8210
- */
8211
- data: ReleaseDocument[];
8212
- error?: Error;
8213
- loading: boolean;
8214
- dispatch: (event: ReleasesReducerAction) => void;
8215
+ interface ProvenanceDiffAnnotation {
8216
+ provenance: {
8217
+ bundle?: TargetPerspective;
8218
+ };
8215
8219
  }
8216
8220
  /**
8217
- * Hook to get the (non archived, non published) active releases
8218
- * @internal
8219
- */
8220
- declare function useActiveReleases(): ReleasesState;
8221
+ * @hidden
8222
+ * @beta */
8223
+ interface FormFieldGroup {
8224
+ name: string;
8225
+ selected?: boolean;
8226
+ disabled?: boolean;
8227
+ title?: string;
8228
+ i18n?: I18nTextRecord<'title'>;
8229
+ icon?: ComponentType;
8230
+ fields: ObjectField[];
8231
+ }
8221
8232
  /**
8222
- * @internal
8233
+ * This error may happen if the member type is structurally incompatible with the defined schema type.
8234
+ * Some examples:
8235
+ * - the schema type defines an array, but the actual value is an object (or vice versa)
8236
+ * - the schema type defines a number, but the actual value is a string (or vice versa)
8237
+ * - the schema type defines an object, but the actual value is a string (or vice versa)
8238
+ *
8239
+ * @public
8223
8240
  */
8224
- declare function useArchivedReleases(): {
8225
- data: ReleaseDocument[];
8226
- error?: Error;
8227
- loading: boolean;
8241
+ type IncompatibleTypeError = {
8242
+ type: 'INCOMPATIBLE_TYPE';
8243
+ expectedSchemaType: SchemaType;
8244
+ resolvedValueType: string;
8245
+ value: unknown;
8228
8246
  };
8229
8247
  /**
8230
- * Takes a document id, and returns information about what other versions of the document currently exists
8231
- * @param documentId - The document id. Should be the published id
8232
- * @internal
8248
+ * This error may happen if the _type of the value is different from the declared schema type
8249
+ * It represents a case where we encounter field value that is structurally compatible with the field's defined schema type
8250
+ * (e.g. they are both json objects), but the _type name is different from what the schema type expects
8251
+ *
8252
+ * Note on compatibility: The schema of a field may be defined as an object with fields (a, b, c), but the value is an object with (d, e, f)
8253
+ * These are still structurally compatible because (d, e, f) will be considered undeclared members
8254
+ *
8255
+ * @public
8233
8256
  */
8234
- declare function useDocumentVersionInfo(documentId: string): {
8235
- isLoading: boolean;
8236
- draft: VersionInfoDocumentStub | undefined;
8237
- published: VersionInfoDocumentStub | undefined;
8238
- versions: Record<string, VersionInfoDocumentStub | undefined>;
8257
+ type TypeAnnotationMismatchError = {
8258
+ type: 'TYPE_ANNOTATION_MISMATCH';
8259
+ expectedSchemaType: SchemaType;
8260
+ resolvedValueType: string;
8239
8261
  };
8240
- interface ReleasesUpsellContextValue {
8241
- /**
8242
- * Is upsell mode when the user has reached the release limit
8243
- * Is default mode when the user has not reached the release limits
8244
- */
8245
- mode: 'upsell' | 'default';
8246
- upsellDialogOpen: boolean;
8247
- upsellData: UpsellData | null;
8248
- guardWithReleaseLimitUpsell: (callback: () => void, throwError?: boolean, whenResolved?: (hasPassed: boolean) => void) => Promise<false | void>;
8249
- onReleaseLimitReached: (limit: number) => void;
8250
- handleOpenDialog: (source?: UpsellDialogViewedInfo['source']) => void;
8251
- telemetryLogs: {
8252
- dialogSecondaryClicked: () => void;
8253
- dialogPrimaryClicked: () => void;
8254
- panelViewed: (source: UpsellDialogViewedInfo['source']) => void;
8255
- panelDismissed: () => void;
8256
- panelPrimaryClicked: () => void;
8257
- panelSecondaryClicked: () => void;
8258
- };
8259
- }
8260
- interface DocumentValidationStatus extends ValidationStatus {
8261
- hasError: boolean;
8262
- }
8263
- interface DocumentInRelease {
8264
- memoKey: string;
8265
- isPending?: boolean;
8266
- document: SanityDocument & {
8267
- publishedDocumentExists: boolean;
8268
- };
8269
- validation: DocumentValidationStatus;
8270
- }
8271
8262
  /**
8272
- * Gets all the releases ids
8273
- * @internal
8263
+ * This error may happen for arrays of objects where one or more of the members are missing a _key
8264
+ *
8265
+ * @public
8274
8266
  */
8275
- declare function useReleasesIds(releases: ReleaseDocument[]): {
8276
- releasesIds: string[];
8267
+ type MissingKeysError = {
8268
+ type: 'MISSING_KEYS';
8269
+ schemaType: ArraySchemaType;
8270
+ value: {
8271
+ _key?: string;
8272
+ }[];
8277
8273
  };
8278
8274
  /**
8279
- * @internal
8275
+ * This error may happen for arrays of objects where one or more of the members are having duplicate keys
8276
+ *
8277
+ * @public
8280
8278
  */
8281
- declare const LATEST: "drafts";
8279
+ type DuplicateKeysError = {
8280
+ type: 'DUPLICATE_KEYS';
8281
+ schemaType: ArraySchemaType;
8282
+ duplicates: [index: number, key: string][];
8283
+ };
8282
8284
  /**
8283
- * @internal
8285
+ * This error may happen for objects if we encounter fields that are not declared in the schema
8286
+ *
8287
+ * @public
8284
8288
  */
8285
- declare const PUBLISHED: "published";
8289
+ type UndeclaredMembersError = {
8290
+ type: 'UNDECLARED_MEMBERS';
8291
+ schemaType: ArraySchemaType;
8292
+ };
8286
8293
  /**
8287
- * @internal
8288
- * @param releaseDocumentId - the document id of the release
8294
+ * This error may happen for objects if we encounter fields that are not declared in the schema
8295
+ *
8296
+ * @public
8289
8297
  */
8290
- declare function getReleaseIdFromReleaseDocumentId(releaseDocumentId: string): ReleaseId;
8291
- /** @internal */
8292
- declare function getReleaseTone(release: TargetPerspective): BadgeTone;
8298
+ type MixedArrayError = {
8299
+ type: 'MIXED_ARRAY';
8300
+ schemaType: ArraySchemaType;
8301
+ value: unknown[];
8302
+ };
8293
8303
  /**
8294
- * checks if the document has been set for unpublishing
8295
- * @internal
8304
+ * This error may happen for arrays (of both objects and primitive values) if we encounter items that are not valid according to the schema definition
8296
8305
  *
8297
- * @param document - sanity document
8298
- * @returns boolean if the system delete is set
8306
+ *
8307
+ * @hidden
8308
+ * @beta
8299
8309
  */
8300
- declare function isGoingToUnpublish(document: SanityDocument$1 | SanityDocumentLike): boolean;
8310
+ type InvalidItemTypeError = {
8311
+ type: 'INVALID_ITEM_TYPE';
8312
+ validTypes: SchemaType[];
8313
+ resolvedValueType: string;
8314
+ value: unknown;
8315
+ };
8301
8316
  /**
8302
- * @internal This is the client options used for the releases studio client, using the `X` API version for now
8303
- * Will change to a specific version soon.
8304
- * TODO: Remove after API version is stable and support releases
8317
+ * Represents an error that occurred in a specific field of a data object.
8318
+ * @public
8319
+ *
8320
+ * @remarks
8321
+ * This interface is used to provide detailed information about the error,
8322
+ * including the field name, the error type, and the error message.
8305
8323
  */
8306
- declare const RELEASES_STUDIO_CLIENT_OPTIONS: SourceClientOptions;
8307
- /**
8308
- * @internal Checks if the perspective is a release perspective
8309
- * TODO: Remove after API version is stable and support releases
8310
- */
8311
- declare const isReleasePerspective: (perspective: string | _sanity_client0.StackablePerspective[] | string[] | undefined) => boolean;
8312
- /**
8313
- * @beta
8314
- * @param documentId - The document id, e.g. `my-document-id` or `drafts.my-document-id` or `summer.my-document-id`
8315
- * @param perspective - The current perspective, e.g. `release.summer` or undefined, it can be obtained from `useRouter().stickyParams.perspective`
8316
- * @returns boolean - `true` if the document is in the current perspective.
8317
- * e.g:
8318
- * - document: `summer.my-document-id`, perspective: `release.summer` : **true**
8319
- * - document: `my-document-id`, perspective: `release.summer` : **false**
8320
- * - document: `summer.my-document-id`perspective: `release.winter` : **false**
8321
- * - document: `summer.my-document-id`, perspective: `undefined` : **false**
8322
- * - document: `my-document-id`, perspective: `undefined` : **true**
8323
- * - document: `drafts.my-document-id`, perspective: `undefined` : **true**
8324
- */
8325
- declare function getDocumentIsInPerspective(documentId: string, perspective: string | undefined): boolean;
8326
- /** @internal */
8327
- declare function formatRelativeLocalePublishDate(release: ReleaseDocument): string;
8328
- /** @internal */
8329
- declare function isPublishedPerspective(perspective: TargetPerspective | string): perspective is 'published';
8330
- /** @internal */
8331
- declare function isDraftPerspective(perspective: TargetPerspective | string): perspective is 'drafts';
8332
- /** @internal */
8333
- declare function isReleaseScheduledOrScheduling(release: ReleaseDocument): boolean;
8334
- interface DocumentStatusProps$1 {
8335
- draft?: PreviewValue | Partial<SanityDocument> | null;
8336
- published?: PreviewValue | Partial<SanityDocument> | null;
8337
- versions?: Record<string, VersionInfoDocumentStub | undefined>;
8338
- singleLine?: boolean;
8339
- }
8340
- /**
8341
- * Displays document status indicating both last published and edited dates in either relative (the default)
8342
- * or absolute formats.
8343
- *
8344
- * These can be displayed in a single or multi-line (the default) lockups.
8345
- *
8346
- * Example: `**Published Oct 16 2023** Edited 8m ago`
8347
- *
8348
- * @internal
8349
- */
8350
- declare function DocumentStatus({
8351
- draft,
8352
- published,
8353
- versions,
8354
- singleLine
8355
- }: DocumentStatusProps$1): react.JSX.Element;
8356
- /**
8357
- * @internal
8358
- */
8359
- type BaseStudioRenderingContext<Name extends string = string, Metadata = Record<PropertyKey, never>> = {
8360
- name: Name;
8361
- metadata: Metadata;
8362
- };
8363
- /**
8364
- * @internal
8365
- */
8366
- type DefaultRenderingContext = BaseStudioRenderingContext<'default'>;
8367
- /**
8368
- * @internal
8369
- */
8370
- type CoreUiRenderingContext = BaseStudioRenderingContext<'coreUi', {
8371
- environment: string;
8372
- }>;
8373
- /**
8374
- * @internal
8375
- */
8376
- type StudioRenderingContext = DefaultRenderingContext | CoreUiRenderingContext;
8377
- /**
8378
- * @internal
8379
- */
8380
- declare const capabilities: readonly ["globalUserMenu", "globalWorkspaceControl", "comlink"];
8381
- /**
8382
- * @internal
8383
- */
8384
- type Capability = (typeof capabilities)[number];
8385
- /**
8386
- * @internal
8387
- */
8388
- type CapabilityRecord = Partial<Record<Capability, boolean>>;
8389
- /**
8390
- * @internal
8391
- */
8392
- type RenderingContextStore = {
8393
- renderingContext: Observable<StudioRenderingContext>;
8394
- capabilities: Observable<CapabilityRecord>;
8395
- };
8396
- type Props$2 = PropsWithChildren<{
8397
- capability: Capability;
8398
- condition?: 'available' | 'unavailable';
8399
- }>;
8400
- /**
8401
- * `CapabilityGate` only renders its children if the current Studio rendering context does not
8402
- * provide the specified capability.
8403
- *
8404
- * This allows consumers of the component to conveniently mark a portion of the React tree as
8405
- * providing a capability that may be overriden by the Studio rendering context. If the rendering
8406
- * context provides this capability, the local implementation will not be rendered.
8407
- *
8408
- * @internal
8409
- */
8410
- declare const CapabilityGate: ComponentType<Props$2>;
8411
- interface DocumentStatusProps {
8412
- draft?: VersionInfoDocumentStub | undefined;
8413
- published?: VersionInfoDocumentStub | undefined;
8414
- versions?: Record<string, VersionInfoDocumentStub | undefined>;
8415
- }
8416
- /**
8417
- * Renders a dot indicating the current document status.
8418
- *
8419
- * @internal
8420
- */
8421
- declare function DocumentStatusIndicator({
8422
- draft,
8423
- published,
8424
- versions
8425
- }: DocumentStatusProps): react.JSX.Element;
8426
- /**
8427
- * @internal
8428
- */
8429
- interface ErrorActionsProps extends Pick<ComponentProps<typeof Button>, 'size'> {
8430
- error: unknown;
8431
- eventId?: string | null;
8432
- onRetry?: () => void;
8433
- isRetrying?: boolean;
8324
+ interface FieldError {
8325
+ /**
8326
+ * The type of error that occurred.
8327
+ */
8328
+ kind: 'error';
8329
+ /**
8330
+ * The unique identifier for the error.
8331
+ */
8332
+ key: string;
8333
+ /**
8334
+ * The name of the field that the error occurred in.
8335
+ */
8336
+ fieldName: string;
8337
+ /**
8338
+ * The specific error that occurred.
8339
+ *
8340
+ * ```md
8341
+ * Possible error types include:
8342
+ * - IncompatibleTypeError
8343
+ * - TypeAnnotationMismatchError
8344
+ * - MissingKeysError
8345
+ * - DuplicateKeysError
8346
+ * - UndeclaredMembersError
8347
+ * - MixedArrayError
8348
+ * ```
8349
+ *
8350
+ * See {@link IncompatibleTypeError},
8351
+ * {@link TypeAnnotationMismatchError},
8352
+ * {@link MissingKeysError},
8353
+ * {@link DuplicateKeysError},
8354
+ * {@link UndeclaredMembersError} and
8355
+ * {@link MixedArrayError} for more information.
8356
+ *
8357
+ */
8358
+ error: IncompatibleTypeError | TypeAnnotationMismatchError | MissingKeysError | DuplicateKeysError | UndeclaredMembersError | MixedArrayError;
8359
+ path: Path;
8434
8360
  }
8435
8361
  /**
8436
- * @internal
8437
- */
8438
- declare const ErrorActions: ComponentType<ErrorActionsProps>;
8439
- /**
8440
- * @internal
8441
- */
8442
- interface ErrorWithId {
8443
- error: unknown;
8444
- eventId?: string | null;
8362
+ * @hidden
8363
+ * @beta */
8364
+ interface ArrayItemError {
8365
+ kind: 'error';
8366
+ key: string;
8367
+ index: number;
8368
+ error: InvalidItemTypeError;
8445
8369
  }
8446
8370
  /**
8447
- * @internal
8448
- */
8449
- declare function useCopyErrorDetails(error: unknown, eventId?: string | null): () => void;
8450
- /**
8451
- * @internal
8371
+ * @public
8452
8372
  */
8453
- declare function serializeError(): OperatorFunction<ErrorWithId, string>;
8373
+ type ComputeDiff<Annotation> = (value: unknown) => Diff<Annotation>;
8454
8374
  /**
8455
- * Properties for the `Hotkeys` component.
8375
+ * Props that encapsulate document chronology within a stack of versions.
8456
8376
  *
8457
8377
  * @public
8458
8378
  */
8459
- type HotkeysProps$1 = HotkeysProps & {
8379
+ interface NodeChronologyProps {
8460
8380
  /**
8461
- * Whether to make the keys platform-aware (eg `alt` to `option` on Apple devices).
8462
- *
8463
- * @defaultValue true
8381
+ * Whether the document has an upstream version.
8464
8382
  */
8465
- makePlatformAware?: boolean;
8466
- } & Omit<HTMLProps<HTMLElement>, 'ref' | 'size' | 'as'> & RefAttributes<HTMLElement>;
8467
- /**
8468
- * Renders given `keys` as "keycaps" visually.
8469
- *
8470
- * This is a wrapper around `@sanity/ui`'s `Hotkeys` component, which allows for altering keys
8471
- * (eg `alt` to `option`) on Apple devices unless `makePlatformAware` is set to `false`.
8472
- *
8473
- * @param props - Properties to render with
8474
- * @returns React element
8475
- * @public
8476
- */
8477
- declare function Hotkeys({
8478
- makePlatformAware,
8479
- keys: hotKeys,
8480
- ...props
8481
- }: HotkeysProps$1): react.JSX.Element;
8482
- /** @internal */
8483
- interface InsufficientPermissionsMessageProps {
8484
- currentUser?: CurrentUser | null;
8485
- context: 'create-new-reference' | 'create-document-type' | 'create-any-document' | 'create-document' | 'delete-document' | 'delete-schedules' | 'discard-changes' | 'duplicate-document' | 'edit-schedules' | 'execute-schedules' | 'publish-document' | 'unpublish-document';
8383
+ hasUpstreamVersion: boolean;
8486
8384
  }
8487
- /** @internal */
8488
- declare function InsufficientPermissionsMessage({
8489
- currentUser,
8490
- context
8491
- }: InsufficientPermissionsMessageProps): react.JSX.Element;
8492
8385
  /**
8386
+ * Props that encapsulate changes in the node's value.
8493
8387
  *
8494
- * @hidden
8495
- * @beta
8388
+ * @public
8496
8389
  */
8497
- declare function IntentButton(props: IntentLinkProps & ButtonProps$1 & Omit<HTMLProps<HTMLButtonElement>, 'ref' | 'size' | 'as'>): react.JSX.Element;
8498
- interface LoadingTestProps {
8499
- /** Absolutely positions this component when `true`. */
8500
- fill?: boolean;
8501
- /** Optionally show loading title. If `true`, both text and spinner will appear and animate after an initial delay */
8502
- showText?: boolean;
8390
+ interface NodeDiffProps<Annotation, Value = unknown> extends NodeChronologyProps {
8503
8391
  /**
8504
- * Text to display underneath the spinner. If omitted, will default to `'Loading'`.
8505
- * If providing a value, avoid using trailing ellipses.
8392
+ * A function that takes any value and produces a diff between that value and the value the node
8393
+ * is being compared to.
8506
8394
  *
8507
- * @defaultValue `'Loading'`
8395
+ * This can be used to compute a diff optimistically.
8396
+ *
8397
+ * This is marked as unstable because the API may need to evolve as we iterate on the advanced
8398
+ * version control functionality. It will be stabilised when that project has matured.
8508
8399
  */
8509
- title?: string | null;
8400
+ __unstable_computeDiff: ComputeDiff<Annotation>;
8401
+ /**
8402
+ * Whether the current value is different to the value the node is being compared to.
8403
+ */
8404
+ changed: boolean;
8405
+ /**
8406
+ * The value the node is currently being compared to. This is taken from the upstream version, if
8407
+ * the document has an upstream version. Otherwise, it's taken from the document's current value.
8408
+ *
8409
+ * You can use the `hasUpstreamVersion` prop to determine whether the document has an upstream
8410
+ * version.
8411
+ */
8412
+ compareValue?: Value;
8510
8413
  }
8511
8414
  /**
8512
- * A generic loading container which displays a spinner and text.
8513
- * The spinner won't initially be visible and fades in after a short delay.
8514
- *
8515
- * @internal
8415
+ * @hidden
8416
+ * @public
8516
8417
  */
8517
- declare function LoadingBlock({
8518
- fill,
8519
- showText,
8520
- title
8521
- }: LoadingTestProps): react.JSX.Element;
8522
- interface PopoverDialogProps {
8523
- children: ReactNode;
8524
- header?: ReactNode;
8525
- onClose: () => void;
8526
- referenceElement: PopoverProps$1['referenceElement'];
8527
- width: ResponsiveWidthProps['width'];
8528
- containerRef?: Dispatch<SetStateAction<HTMLDivElement | null>>;
8418
+ interface BaseFormNode<T = unknown, S extends SchemaType = SchemaType> extends NodeDiffProps<ProvenanceDiffAnnotation, T> {
8419
+ /** The unique identifier of the node. */
8420
+ id: string;
8421
+ /** The schema type of the node. */
8422
+ schemaType: S;
8423
+ /** The level of the node in the form hierarchy. */
8424
+ level: number;
8425
+ /** The path of the node in the form hierarchy. */
8426
+ path: Path;
8427
+ /**
8428
+ * @hidden
8429
+ * @beta */
8430
+ presence: FormNodePresence[];
8431
+ /** The validation markers of the node. */
8432
+ validation: FormNodeValidation[];
8433
+ /** The value of the node. */
8434
+ value: T | undefined;
8435
+ /** Whether the node is read-only. */
8436
+ readOnly?: boolean;
8437
+ /** Whether the node is focused. */
8438
+ focused?: boolean;
8439
+ displayInlineChanges?: boolean;
8529
8440
  }
8530
8441
  /** @internal */
8531
- declare function PopoverDialog(props: PopoverDialogProps): react.JSX.Element;
8532
- /** @internal */
8533
- interface PreviewCardContextValue {
8534
- selected?: boolean;
8442
+ interface HiddenField {
8443
+ kind: 'hidden';
8444
+ key: string;
8445
+ name: string;
8446
+ index: number;
8535
8447
  }
8536
- /** @internal */
8537
- declare function usePreviewCard(): PreviewCardContextValue;
8538
- /** @internal */
8539
- declare const PreviewCard: react.ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>>;
8540
- /**
8541
- * This is a workaround for a circular import issue.
8542
- * Calling `styled(PreviewCard)` at program load time triggered a build error with the commonjs bundle because it tried
8543
- * to access the PreviewCard variable/symbol before it was initialized.
8544
- * The workaround is to colocate the styled component with the component itself.
8545
- * @internal
8546
- */
8547
- declare const ReferenceInputPreviewCard: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>, never>> & string & Omit<react.ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>>, keyof react.Component<any, {}, any>>;
8548
- /**
8549
- * Portable text preview layout key
8550
- *
8551
- * @public
8552
- */
8553
- type PortableTextPreviewLayoutKey = 'block' | 'blockImage' | 'inline';
8554
- /**
8555
- * General preview layout key
8556
- *
8557
- * @public
8558
- */
8559
- type GeneralPreviewLayoutKey = 'compact' | 'default' | 'media' | 'detail';
8560
- /**
8561
- * General Document list layout key
8562
- *
8563
- * @hidden
8564
- * @beta
8565
- */
8566
- type GeneralDocumentListLayoutKey = GeneralPreviewLayoutKey | 'sheetList';
8567
- /**
8568
- * Preview layout key. See also {@link GeneralPreviewLayoutKey} and {@link PortableTextPreviewLayoutKey}
8569
- *
8570
- * @public
8571
- */
8572
- type PreviewLayoutKey = GeneralPreviewLayoutKey | PortableTextPreviewLayoutKey;
8573
8448
  /**
8574
8449
  * @hidden
8575
- * @public
8576
- */
8577
- interface PreviewMediaDimensions {
8578
- aspect?: number;
8579
- dpr?: number;
8580
- fit?: ImageUrlFitMode;
8581
- height?: number;
8582
- width?: number;
8450
+ * @public */
8451
+ type ObjectRenderMembersCallback = (members: ObjectMember[]) => ObjectMember[];
8452
+ /** @public */
8453
+ interface ObjectFormNode<T = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> extends BaseFormNode<T, S & {
8454
+ renderMembers?: ObjectRenderMembersCallback;
8455
+ }> {
8456
+ /** The focus path of the form node. */
8457
+ focusPath: Path;
8458
+ /**
8459
+ * @hidden
8460
+ * @beta */
8461
+ groups: FormFieldGroup[];
8462
+ /**
8463
+ * @hidden
8464
+ * @beta */
8465
+ members: ObjectMember[];
8466
+ /**
8467
+ * @hidden
8468
+ * @beta */
8469
+ _allMembers?: ObjectMember[];
8583
8470
  }
8584
- /**
8585
- * @hidden
8586
- * @beta
8587
- */
8588
- interface PreviewProps<TLayoutKey = PreviewLayoutKey> {
8589
- actions?: ReactNode | ComponentType<{
8590
- layout: TLayoutKey;
8591
- }>;
8592
- children?: ReactNode;
8593
- description?: ReactNode | ComponentType<{
8594
- layout: TLayoutKey;
8595
- }>;
8596
- error?: Error | null;
8597
- fallbackTitle?: ReactNode;
8598
- imageUrl?: string;
8599
- isPlaceholder?: boolean;
8600
- layout?: TLayoutKey;
8601
- media?: ReactNode | ComponentType<{
8602
- dimensions: PreviewMediaDimensions;
8603
- layout: TLayoutKey;
8604
- }>;
8605
- mediaDimensions?: PreviewMediaDimensions;
8606
- progress?: number;
8607
- status?: ReactNode | ComponentType<{
8608
- layout: TLayoutKey;
8609
- }>;
8610
- subtitle?: ReactNode | ComponentType<{
8611
- layout: TLayoutKey;
8612
- }>;
8613
- title?: ReactNode | ComponentType<{
8614
- layout: TLayoutKey;
8615
- }>;
8616
- withBorder?: boolean;
8617
- withRadius?: boolean;
8618
- withShadow?: boolean;
8619
- schemaType?: SchemaType;
8620
- renderDefault: (props: PreviewProps) => React.JSX.Element;
8471
+ /** @public */
8472
+ interface ObjectArrayFormNode<T extends ObjectItem = ObjectItem, S extends ObjectSchemaType = ObjectSchemaType> extends BaseFormNode<T, S> {
8473
+ /** The focus path of the form node. */
8474
+ focusPath: Path;
8475
+ value: T;
8476
+ /**
8477
+ * @hidden
8478
+ * @beta */
8479
+ groups: FormFieldGroup[];
8480
+ /**
8481
+ * @hidden
8482
+ * @beta */
8483
+ members: ObjectMember[];
8484
+ changesOpen?: boolean;
8621
8485
  }
8622
- /**
8623
- * @hidden
8624
- * @beta
8625
- */
8626
- type PreviewComponent = ComponentType<PreviewProps>;
8627
- /**
8628
- * @hidden
8629
- * @beta */
8630
- type CompactPreviewProps = Omit<PreviewProps<'compact'>, 'renderDefault'>;
8631
- /**
8632
- * @hidden
8633
- * @beta */
8634
- declare function CompactPreview(props: CompactPreviewProps): react.JSX.Element;
8635
- /**
8636
- * @hidden
8637
- * @beta */
8638
- interface DefaultPreviewProps extends Omit<PreviewProps<'default'>, 'renderDefault'> {
8639
- styles?: {
8640
- root?: string;
8641
- placeholder?: string;
8642
- media?: string;
8643
- heading?: string;
8644
- title?: string;
8645
- subtitle?: string;
8646
- hasSubtitle?: string;
8647
- mediaString?: string;
8648
- status?: string;
8649
- children?: string;
8650
- };
8486
+ /** @internal */
8487
+ type DocumentFormNode<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> = ObjectFormNode<T, S>;
8488
+ /** @public */
8489
+ interface ArrayOfObjectsFormNode<T extends any[] = KeyedObject[], S extends ArraySchemaType = ArraySchemaType> extends BaseFormNode<T, S> {
8490
+ /** The focus path of the form node. */
8491
+ focusPath: Path;
8492
+ /**
8493
+ * @hidden
8494
+ * @beta */
8495
+ members: ArrayOfObjectsMember[];
8651
8496
  }
8497
+ /** @public */
8498
+ interface ArrayOfPrimitivesFormNode<T extends (string | number | boolean)[] = (string | number | boolean)[], S extends ArraySchemaType = ArraySchemaType> extends BaseFormNode<T, S> {
8499
+ /** The focus path of the form node. */
8500
+ focusPath: Path;
8501
+ /**
8502
+ * @hidden
8503
+ * @beta */
8504
+ members: ArrayOfPrimitivesMember[];
8505
+ }
8506
+ /** @public */
8507
+ type BooleanFormNode<S extends BooleanSchemaType = BooleanSchemaType> = BaseFormNode<boolean, S>;
8508
+ /** @public */
8509
+ type NumberFormNode<S extends NumberSchemaType = NumberSchemaType> = BaseFormNode<number, S>;
8510
+ /** @public */
8511
+ type StringFormNode<S extends StringSchemaType = StringSchemaType> = BaseFormNode<string, S>;
8652
8512
  /**
8653
8513
  * @hidden
8654
8514
  * @beta */
8655
- declare function DefaultPreview(props: DefaultPreviewProps): react.JSX.Element;
8656
- /**
8657
- * @hidden
8658
- * @beta */
8659
- type DetailPreviewProps = PreviewProps<'detail'>;
8515
+ type PrimitiveFormNode = BooleanFormNode | NumberFormNode | StringFormNode;
8516
+ /** @public */
8517
+ type ObjectMember = FieldMember | FieldSetMember | FieldError | DecorationMember;
8660
8518
  /**
8661
8519
  * @hidden
8662
8520
  * @beta */
8663
- declare function DetailPreview(props: DetailPreviewProps): react.JSX.Element;
8521
+ type ArrayOfObjectsMember = ArrayOfObjectsItemMember | ArrayItemError;
8664
8522
  /**
8665
8523
  * @hidden
8666
8524
  * @beta */
8667
- type MediaPreviewProps = Omit<PreviewProps<'media'>, 'renderDefault'>;
8525
+ type ArrayOfPrimitivesMember = ArrayOfPrimitivesItemMember | ArrayItemError;
8668
8526
  /**
8669
8527
  * @hidden
8670
8528
  * @beta */
8671
- declare function MediaPreview(props: MediaPreviewProps): react.JSX.Element;
8529
+ interface ArrayOfObjectsItemMember<Node extends ObjectArrayFormNode = ObjectArrayFormNode> {
8530
+ kind: 'item';
8531
+ key: string;
8532
+ index: number;
8533
+ collapsed: boolean | undefined;
8534
+ collapsible: boolean | undefined;
8535
+ open: boolean;
8536
+ parentSchemaType: ArraySchemaType;
8537
+ /**
8538
+ * @hidden
8539
+ * @beta */
8540
+ item: Node;
8541
+ }
8672
8542
  /**
8673
8543
  * @hidden
8674
8544
  * @beta */
8675
- type BlockImagePreviewProps = Omit<PreviewProps<'blockImage'>, 'renderDefault'>;
8545
+ interface ArrayOfPrimitivesItemMember<Node extends PrimitiveFormNode = PrimitiveFormNode> {
8546
+ kind: 'item';
8547
+ key: string;
8548
+ index: number;
8549
+ open: boolean;
8550
+ parentSchemaType: ArraySchemaType;
8551
+ /**
8552
+ * @hidden
8553
+ * @beta */
8554
+ item: Node;
8555
+ }
8676
8556
  /**
8677
- * @hidden
8678
- * @beta */
8679
- declare function BlockImagePreview(props: BlockImagePreviewProps): react.JSX.Element;
8680
- /**
8681
- * @hidden
8682
- * @beta */
8683
- declare function BlockPreview(props: Omit<PreviewProps<'block'>, 'renderDefault'>): react.JSX.Element;
8557
+ * Represents a field member in a form.
8558
+ * @public
8559
+ */
8560
+ interface FieldMember<Node extends BaseFormNode = BaseFormNode> {
8561
+ /** The kind of the form node. */
8562
+ kind: 'field';
8563
+ /** The key of the field. */
8564
+ key: string;
8565
+ /** The name of the field. */
8566
+ name: string;
8567
+ /** The index of the field. */
8568
+ index: number;
8569
+ /** Whether the field is collapsed. */
8570
+ collapsed: boolean | undefined;
8571
+ /** Whether the field is collapsible. */
8572
+ collapsible: boolean | undefined;
8573
+ /** Whether the field is open. */
8574
+ open: boolean;
8575
+ /**
8576
+ * @internal
8577
+ * Whether this field is in the selected group.
8578
+ */
8579
+ inSelectedGroup: boolean;
8580
+ /**
8581
+ * @internal
8582
+ * Names of the field groups this field is part of.
8583
+ */
8584
+ groups: string[];
8585
+ /**
8586
+ * @hidden
8587
+ * @beta
8588
+ * The form node that represents this field.
8589
+ */
8590
+ field: Node;
8591
+ path: Path;
8592
+ }
8684
8593
  /**
8685
8594
  * @hidden
8686
- * @beta */
8687
- type InlinePreviewProps = Omit<PreviewProps<'inline'>, 'renderDefault'>;
8595
+ * @public
8596
+ */
8597
+ type FieldsetRenderMembersCallback = (members: FieldsetMembers[]) => FieldsetMembers[];
8688
8598
  /**
8689
- * @hidden
8690
- * @beta */
8691
- declare function InlinePreview(props: InlinePreviewProps): react.JSX.Element;
8692
- interface MediaProps {
8693
- border?: boolean;
8694
- dimensions: PreviewMediaDimensions;
8695
- layout: PreviewLayoutKey;
8696
- media: PreviewProps['media'];
8697
- radius?: number;
8698
- responsive?: boolean;
8699
- styles?: {
8700
- media?: string;
8701
- mediaString?: string;
8702
- };
8599
+ * Represents a member of a field set.
8600
+ * @public
8601
+ */
8602
+ interface FieldSetMember {
8603
+ /** The kind of member. */
8604
+ kind: 'fieldSet';
8605
+ /** The key of the member. */
8606
+ key: string;
8607
+ /**
8608
+ * Indicates whether the member is included in the currently selected group.
8609
+ * If it's hidden and in the currently selected group, it should still be excluded from its group.
8610
+ * @internal
8611
+ */
8612
+ _inSelectedGroup: boolean;
8613
+ /** The names of the field groups the member belongs to. */
8614
+ groups: string[];
8615
+ /**
8616
+ * @hidden
8617
+ * @beta
8618
+ * The state of the field set.
8619
+ */
8620
+ fieldSet: FieldsetState;
8621
+ /**
8622
+ * @hidden
8623
+ * @beta
8624
+ * The callback to render the members of the field set.
8625
+ */
8626
+ renderMembers?: FieldsetRenderMembersCallback;
8627
+ path: Path;
8703
8628
  }
8704
8629
  /**
8630
+ * Represents a decoration member for a form.
8705
8631
  * @hidden
8706
- * @beta */
8707
- interface TemplatePreviewProps {
8708
- description?: ReactNode;
8709
- isPlaceholder?: boolean;
8710
- media?: MediaProps['media'];
8711
- mediaDimensions?: PreviewMediaDimensions;
8712
- subtitle?: ElementType<{
8713
- layout: 'default';
8714
- }> | ReactNode;
8715
- title?: ElementType<{
8716
- layout: 'default';
8717
- }> | ReactNode;
8632
+ * @public
8633
+ */
8634
+ interface DecorationMember {
8635
+ kind: 'decoration';
8636
+ key: string;
8637
+ component: React.JSX.Element | ComponentType;
8718
8638
  }
8719
8639
  /**
8720
8640
  * @hidden
8721
- * @beta */
8722
- declare function TemplatePreview(props: TemplatePreviewProps): react.JSX.Element;
8641
+ * @public */
8642
+ type FieldsetMembers = FieldMember | FieldError | DecorationMember;
8723
8643
  /**
8724
8644
  * @hidden
8725
8645
  * @beta */
8726
- declare function CircularProgress(props: {
8727
- /** Percentage */value: number;
8728
- }): react.JSX.Element;
8646
+ interface FieldsetState {
8647
+ path: Path;
8648
+ name: string;
8649
+ level: number;
8650
+ title?: string;
8651
+ description?: string;
8652
+ hidden?: boolean;
8653
+ collapsible?: boolean;
8654
+ collapsed?: boolean;
8655
+ columns?: number | number[];
8656
+ members: FieldsetMembers[];
8657
+ }
8729
8658
  /**
8730
8659
  * @hidden
8731
8660
  * @beta */
8732
- declare function LinearProgress(props: {
8733
- /** Percentage */value: number;
8734
- }): react.JSX.Element;
8661
+ interface StateTree<T> {
8662
+ value?: T | undefined;
8663
+ children?: {
8664
+ [key: string]: StateTree<T>;
8665
+ };
8666
+ }
8667
+ /** @internal */
8668
+ declare function setAtPath<T>(currentTree: StateTree<T> | undefined, path: Path, value: T): StateTree<T>;
8669
+ /** @internal */
8670
+ type FormState<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> = ObjectFormNode<T, S>;
8671
+ /** @internal */
8672
+ interface UseFormStateOptions extends Pick<NodeChronologyProps, 'hasUpstreamVersion'> {
8673
+ schemaType: ObjectSchemaType;
8674
+ documentValue: unknown;
8675
+ comparisonValue: unknown;
8676
+ openPath: Path;
8677
+ focusPath: Path;
8678
+ perspective: TargetPerspective;
8679
+ presence: FormNodePresence[];
8680
+ validation: ValidationMarker[];
8681
+ fieldGroupState?: StateTree<string> | undefined;
8682
+ collapsedFieldSets?: StateTree<boolean> | undefined;
8683
+ collapsedPaths?: StateTree<boolean> | undefined;
8684
+ readOnly?: boolean;
8685
+ changesOpen?: boolean;
8686
+ displayInlineChanges?: boolean;
8687
+ }
8688
+ /** @internal */
8689
+ declare function useFormState<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType>({
8690
+ comparisonValue,
8691
+ documentValue,
8692
+ fieldGroupState,
8693
+ collapsedFieldSets,
8694
+ collapsedPaths,
8695
+ focusPath,
8696
+ openPath,
8697
+ presence,
8698
+ validation,
8699
+ readOnly: inputReadOnly,
8700
+ changesOpen,
8701
+ schemaType,
8702
+ perspective,
8703
+ hasUpstreamVersion,
8704
+ displayInlineChanges
8705
+ }: UseFormStateOptions): FormState<T, S> | null;
8706
+ /** @internal */
8707
+ interface ExpandPathOperation {
8708
+ type: 'expandPath';
8709
+ path: Path;
8710
+ }
8711
+ /** @internal */
8712
+ interface ExpandFieldSetOperation {
8713
+ type: 'expandFieldSet';
8714
+ path: Path;
8715
+ }
8716
+ /** @internal */
8717
+ interface SetActiveGroupOperation {
8718
+ type: 'setSelectedGroup';
8719
+ path: Path;
8720
+ groupName: string;
8721
+ }
8722
+ /** @internal */
8723
+ type ExpandOperation = ExpandPathOperation | ExpandFieldSetOperation | SetActiveGroupOperation;
8735
8724
  /**
8725
+ * This takes a form state and returns a list of operations required to open a node at a particular path
8726
+ * @param node - The base form node (i.e. the form state node for the _document_)
8727
+ * @param path - The path to open
8728
+ *
8736
8729
  * @internal
8737
8730
  */
8738
- interface RelativeTimeProps extends RelativeTimeOptions {
8739
- time: string | Date;
8740
- }
8731
+ declare function getExpandOperations(node: BaseFormNode, path: Path): ExpandOperation[];
8741
8732
  /**
8742
8733
  * @internal
8743
8734
  */
8744
- declare function RelativeTime({
8745
- time,
8746
- ...options
8747
- }: RelativeTimeProps): react.JSX.Element;
8748
- interface ResizableProps {
8749
- minWidth: number;
8750
- maxWidth: number;
8751
- initialWidth?: number;
8752
- resizerPosition?: 'left' | 'right';
8735
+ interface PathSegmentWithType {
8736
+ segment: number | string;
8737
+ type: string;
8753
8738
  }
8754
8739
  /**
8755
8740
  * @internal
8756
- * Provides a resizable container with a resizer handle.
8757
8741
  */
8758
- declare function Resizable(props: ResizableProps & BoxProps & Omit<HTMLProps<HTMLDivElement>, 'as'>): react.JSX.Element;
8759
- /**
8760
- * @hidden
8761
- * @beta */
8762
- type RovingFocusNavigationType = 'arrows' | 'tab';
8742
+ type PathWithTypes = PathSegmentWithType[];
8743
+ type DivergenceStatus = 'unresolved' | 'resolved';
8744
+ type SnapshotType = 'subjectHead' | 'upstreamHead' | 'upstreamAtFork';
8745
+ type SnapshotsByType = Record<SnapshotType, undefined | {
8746
+ value: unknown;
8747
+ /**
8748
+ * If the node is a direct descendant of an array, `parentArray` can be used to access all of
8749
+ * the parent array's descendants. This is used to determine the movement of array nodes.
8750
+ */
8751
+ parentArray?: KeyedObject[] | unknown[];
8752
+ /**
8753
+ * If the node is a direct descendant of an object, this can be used to determine the parent
8754
+ * object's type. This is used to determine objects whose type has changed.
8755
+ */
8756
+ parentObjectType?: string;
8757
+ /**
8758
+ * The node's path as an array, enriched with the content type found at each segment.
8759
+ */
8760
+ pathWithTypes: PathWithTypes;
8761
+ }>;
8763
8762
  /**
8764
- * @hidden
8765
- * @beta */
8766
- interface RovingFocusProps {
8767
- direction?: 'horizontal' | 'vertical';
8768
- initialFocus?: 'first' | 'last';
8769
- navigation?: RovingFocusNavigationType[];
8770
- loop?: boolean;
8771
- pause?: boolean;
8772
- rootElement: HTMLElement | HTMLDivElement | null;
8773
- }
8763
+ * @internal
8764
+ */
8765
+ type DivergenceEffect = 'unset' | 'set' | 'insert' | 'move' | 'changeObjectType';
8774
8766
  /**
8775
- * This hook handles focus with the keyboard arrows.
8776
- *
8777
- * @see {@link https://a11y-solutions.stevenwoodson.com/solutions/focus/roving-focus/ | Roving focus definition}
8778
- *
8779
- * @example
8780
- * ```tsx
8781
- * function MyComponent() {
8782
- * const [rootElement, setRootElement] = setRootElement(null)
8783
- *
8784
- * useRovingFocus({
8785
- * rootElement: rootElement,
8786
- * })
8787
- *
8788
- * return (
8789
- * <div ref={setRootElement}>
8790
- * <button>Button</button>
8791
- * <button>Button</button>
8792
- * <button>Button</button>
8793
- * </div>
8794
- * )
8795
- * }
8796
- * ```
8797
- *
8798
- *
8799
- * @hidden
8800
- * @beta
8767
+ * @internal
8801
8768
  */
8802
- declare function useRovingFocus(props: RovingFocusProps): undefined;
8803
- /** @hidden @beta */
8804
- type StatusButtonProps = ButtonProps$1 & {
8805
- ['aria-label']: HTMLProps<HTMLButtonElement>['aria-label'];
8806
- 'forwardedAs'?: string;
8807
- 'disabled'?: boolean | {
8808
- reason: ReactNode;
8809
- };
8810
- 'mode'?: ButtonProps$1['mode'];
8811
- 'iconRight'?: undefined;
8769
+ type BaseDivergence = {
8770
+ snapshots: SnapshotsByType;
8771
+ documentType: string;
8772
+ /**
8773
+ * Whether the divergence is addressable.
8774
+ *
8775
+ * Divergences that occur at leaf primitive nodes are addressable. Addressable divergences can be
8776
+ * marked as resolved.
8777
+ */
8778
+ isAddressable: boolean;
8779
+ /**
8780
+ * The type of operation that occurred upstream to cause the divergence.
8781
+ */
8782
+ effect?: DivergenceEffect;
8783
+ /**
8784
+ * The upstream document id.
8785
+ */
8786
+ documentId: string;
8787
+ /**
8788
+ * The subject document id.
8789
+ */
8790
+ subjectId: string;
8791
+ /**
8792
+ * The upstream revision that caused the divergence.
8793
+ */
8794
+ sinceRevisionId: string;
8795
+ /**
8796
+ * Whether the divergence has been resolved or not.
8797
+ */
8798
+ status: DivergenceStatus;
8799
+ /**
8800
+ * The stringified path to the divergence in the document.
8801
+ *
8802
+ * TODO: It'd be more efficient to provide this as an array to avoid repeatedly converting it to
8803
+ * and from a string.
8804
+ */
8805
+ path: string;
8812
8806
  };
8813
- /** @hidden @beta */
8814
- declare const StatusButton: react.ForwardRefExoticComponent<(StatusButtonProps & Omit<HTMLProps<HTMLButtonElement>, "disabled" | "ref" | "size" | "title">) & react.RefAttributes<HTMLButtonElement>>;
8815
- /** @internal */
8816
- interface TextWithToneProps extends ComponentProps<typeof Text> {
8817
- tone: ButtonTone;
8818
- dimmed?: boolean;
8819
- }
8820
- /** @internal */
8821
- declare const TextWithTone: react.ForwardRefExoticComponent<Omit<TextWithToneProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
8822
- /** @internal */
8823
- declare const TooltipOfDisabled: react.ForwardRefExoticComponent<Omit<_sanity_ui0.TooltipProps, "arrow" | "padding" | "shadow"> & {
8824
- hotkeys?: string[] | undefined;
8825
- } & react.RefAttributes<HTMLDivElement>>;
8826
- /** @internal */
8827
- interface ToastParams$1 {
8828
- closable?: boolean;
8829
- description?: ReactNode;
8830
- duration?: number;
8831
- onClose?: () => void;
8832
- title?: ReactNode;
8833
- status?: 'error' | 'warning' | 'success' | 'info';
8834
- }
8835
8807
  /**
8836
8808
  * @internal
8837
- * @deprecated -- Refactor the component so it can call `useToast` instead
8838
8809
  */
8839
- declare const ImperativeToast: react.ForwardRefExoticComponent<react.RefAttributes<unknown>>;
8810
+ type Divergence = BaseDivergence & ({
8811
+ effect: Exclude<DivergenceEffect, 'move'>;
8812
+ } | {
8813
+ effect: Extract<DivergenceEffect, 'move'>;
8814
+ /**
8815
+ * The position of the item in the upstream array.
8816
+ */
8817
+ upstreamPosition: number;
8818
+ /**
8819
+ * The distance the item has moved in the upstream array since the last consistent state.
8820
+ */
8821
+ delta: number;
8822
+ } | {
8823
+ effect: Extract<DivergenceEffect, 'insert'>;
8824
+ /**
8825
+ * The position at which the item was inserted inro the upstream array.
8826
+ */
8827
+ position: number;
8828
+ } | {
8829
+ effect?: undefined;
8830
+ delta?: never;
8831
+ position?: never;
8832
+ });
8833
+ type DivergenceAtPath = [path: string, context: Divergence];
8834
+ interface CollatedDocumentDivergencesState {
8835
+ state: 'pending' | 'ready';
8836
+ upstreamId: string | undefined;
8837
+ divergences: Record<string, Divergence>;
8838
+ }
8840
8839
  /**
8841
- * TODO: Rename to `ZOffsetsContextValue`
8840
+ * A divergence that has been transposed onto a schema type and that can be
8841
+ * reached in the document editor.
8842
8842
  *
8843
8843
  * @internal
8844
8844
  */
8845
- interface ZIndexContextValue {
8846
- /** Used by: Navbar */
8847
- navbar: number | number[];
8848
- navbarPopover: number | number[];
8849
- navbarDialog: number | number[];
8850
- /** Used by: DefaultPane, DocumentPane */
8851
- pane: number | number[];
8852
- paneHeader: number | number[];
8853
- paneFooter: number | number[];
8854
- paneResizer: number | number[];
8855
- paneDialog: number | number[];
8856
- /** Used by: EditItemFoldOut, Spinner, ConnectorsOverlay, tippy.css, BaseDateTimeInput */
8857
- portal: number | number[];
8858
- /** Used by: Tooltip */
8859
- popover: number | number[];
8860
- /** Used by: `@sanity/google-maps-input` */
8861
- modal: number | number[];
8862
- /** TODO this path does not seem to be correct - fix? */
8863
- /** Used by: `movingItem` in packages/sanity/src/styles/layout/helpers.css */
8864
- movingItem: number | number[];
8865
- /** Used for shadow behind the navbar search, and behind sidemenu */
8866
- drawershade: number | number[];
8867
- /** Used by: Snackbar */
8868
- drawer: number | number[];
8869
- /** Used for UI that sits on top of the entire application */
8870
- fullscreen: number | number[];
8871
- /** Used for inspector dialog */
8872
- inspectorDialog: number | number[];
8873
- /** Used for toasts */
8874
- toast: number | number[];
8875
- dropdown: number | number[];
8876
- navbarFixed: number | number[];
8877
- fullscreenEdit: number | number[];
8878
- popoverBackground: number | number[];
8879
- tooltip: number | number[];
8880
- modalBackground: number | number[];
8881
- spinner: number | number[];
8882
- }
8883
- /** @internal */
8884
- type ZIndexContextValueKey = keyof ZIndexContextValue;
8845
+ type ReachableDivergence = Divergence & {
8846
+ /**
8847
+ * A composite divergence occurs when there is a divergence in a leaf node,
8848
+ * but it does not make sense to report it directly.
8849
+ *
8850
+ * A good example is when a divergence occurs in a reference field. It's not
8851
+ * useful to report the `_ref` id change directly, nor does it integrate
8852
+ * well with the document editor. Instead, the divergence is reported on the
8853
+ * reference field itself.
8854
+ *
8855
+ * Composite divergences are identified by checking whether they descend a
8856
+ * node that has a dedicated diff component.
8857
+ */
8858
+ isComposite: boolean;
8859
+ /**
8860
+ * All of the divergences this reachable divergence is composed of.
8861
+ *
8862
+ * To perform an action (e.g. ignore or copy from upstream) on a composite
8863
+ * divergence, the action must be performed on all descendant divergences.
8864
+ */
8865
+ divergences: DivergenceAtPath[];
8866
+ diffComponent?: DiffComponent | DiffComponentOptions;
8867
+ schemaType: SchemaType;
8868
+ };
8885
8869
  /**
8886
- * This component should only be used by core Sanity packages.
8887
8870
  * @internal
8888
8871
  */
8889
- declare function LegacyLayerProvider({
8890
- children,
8891
- zOffset: zOffsetKey
8892
- }: {
8893
- children: ReactNode;
8894
- zOffset: ZIndexContextValueKey;
8895
- }): react.JSX.Element;
8896
- interface AvatarSkeletonProps {
8897
- $size?: AvatarSize;
8898
- }
8872
+ type ReachableDivergenceAtPath = [path: string, divergence: ReachableDivergence];
8899
8873
  /**
8900
- * A loading skeleton element representing a user avatar
8901
- * @beta
8874
+ * @internal
8902
8875
  */
8903
- declare const AvatarSkeleton: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<Omit<_sanity_ui0.SkeletonProps & react.HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>, AvatarSkeletonProps>> & string & Omit<react.ForwardRefExoticComponent<Omit<_sanity_ui0.SkeletonProps & react.HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>, keyof react.Component<any, {}, any>>;
8904
- /**
8905
- * @hidden
8906
- * @beta */
8907
- interface UserAvatarProps {
8908
- __unstable_hideInnerStroke?: AvatarProps['__unstable_hideInnerStroke'];
8909
- animateArrowFrom?: AvatarPosition;
8910
- position?: AvatarPosition;
8911
- size?: AvatarSize;
8912
- status?: AvatarStatus;
8913
- tone?: 'navbar';
8914
- user: User | string;
8915
- withTooltip?: boolean;
8876
+ interface DivergenceNavigatorState {
8877
+ focusedDivergence: string | undefined;
8878
+ previousDivergence: string | undefined;
8879
+ nextDivergence: string | undefined;
8880
+ state: CollatedDocumentDivergencesState['state'];
8881
+ upstreamId: string | undefined;
8882
+ /**
8883
+ * For iterating ancestors when copying changes from upstream.
8884
+ */
8885
+ allDivergences: DivergenceAtPath[];
8886
+ /**
8887
+ * For paging through all reachable divergences in the document.
8888
+ */
8889
+ divergences: ReachableDivergenceAtPath[];
8890
+ /**
8891
+ * For showing a summary of divergences occurring node-by-node, and allowing
8892
+ * the editor to focus the first divergence inside a node.
8893
+ */
8894
+ divergencesByNode: Record<string, number>;
8916
8895
  }
8917
- /**
8918
- * @hidden
8919
- * @beta */
8920
- declare function UserAvatar(props: UserAvatarProps): react.JSX.Element;
8921
8896
  /**
8922
8897
  * @internal
8923
- * @deprecated - Will be removed in 4.0.0, use the `useReferringDocuments(<documentId>)` hook instead
8924
8898
  */
8925
- declare function WithReferringDocuments({
8926
- children,
8927
- id
8928
- }: {
8929
- children: (props: {
8930
- isLoading: boolean;
8931
- referringDocuments: SanityDocument[];
8932
- }) => React.JSX.Element;
8899
+ interface DivergenceNavigator {
8933
8900
  /**
8934
- * @deprecated - no longer required
8901
+ * Focus the divergence at the provided path.
8935
8902
  */
8936
- documentStore?: DocumentStore;
8937
- id: string;
8938
- }): react.JSX.Element;
8903
+ focusDivergence: (path: string) => void;
8904
+ /**
8905
+ * Blur the divergence at the provided path.
8906
+ */
8907
+ blurDivergence: (path: string) => void;
8908
+ /**
8909
+ * Blur the current focused divergence.
8910
+ */
8911
+ blurFocusedDivergence: () => void;
8912
+ /**
8913
+ * The current state.
8914
+ */
8915
+ state: DivergenceNavigatorState;
8916
+ }
8917
+ interface DivergenceNavigatorContext {
8918
+ divergences: Observable<CollatedDocumentDivergencesState>;
8919
+ schemaType: ObjectSchemaType;
8920
+ formState: FormState;
8921
+ }
8939
8922
  /**
8940
- * TODO: Rename to `useZOffsets`
8923
+ * Transpose a set of divergences onto the provided schema type, and create the
8924
+ * state and functions necessary to render and navigate them.
8941
8925
  *
8942
8926
  * @internal
8943
8927
  */
8944
- declare function useZIndex(): ZIndexContextValue;
8928
+ declare function useDivergenceNavigator({
8929
+ divergences,
8930
+ schemaType,
8931
+ formState
8932
+ }: DivergenceNavigatorContext): DivergenceNavigator;
8945
8933
  /**
8946
- * TODO: Rename to `ZOffsetsProvider`
8947
- *
8948
8934
  * @internal
8949
8935
  */
8950
- declare function ZIndexProvider({
8951
- children
8952
- }: {
8953
- children?: ReactNode;
8954
- }): React.JSX.Element;
8955
- /** @internal */
8956
- declare const SANITY_PATCH_TYPE: unique symbol;
8957
- /**
8958
- * @hidden
8959
- * @beta */
8960
- declare function setIfMissing(value: any, path?: Path): FormSetIfMissingPatch;
8961
- /**
8962
- * @hidden
8963
- * @beta */
8964
- declare function insert(items: any[], position: FormInsertPatchPosition, path?: Path): FormInsertPatch;
8965
- /**
8966
- * @hidden
8967
- * @beta */
8968
- declare function set(value: any, path?: Path): FormSetPatch;
8969
- /**
8970
- * @hidden
8971
- * @beta */
8972
- declare function unset(path?: Path): FormUnsetPatch;
8973
- /**
8974
- * @hidden
8975
- * @beta */
8976
- declare function diffMatchPatch(value: string, path?: Path): FormDiffMatchPatch;
8977
- /**
8978
- * @hidden
8979
- * @beta */
8980
- declare function inc(amount?: number, path?: Path): FormIncPatch;
8981
- /**
8982
- * @hidden
8983
- * @beta */
8984
- declare function dec(amount?: number, path?: Path): FormDecPatch;
8985
- /** @internal */
8986
- declare function prefixPath<T extends {
8987
- path: Path;
8988
- }>(patch: T, segment: PathSegment): T;
8936
+ declare const useDocumentLimitsUpsellContext: () => DocumentLimitUpsellContextValue;
8989
8937
  /**
8990
- *
8991
- * @hidden
8992
- * @beta
8938
+ * @internal
8993
8939
  */
8994
- interface MutationPatchMsg {
8995
- type: 'mutation';
8996
- patches: FormPatch[];
8997
- snapshot: unknown;
8998
- }
8940
+ declare const isDocumentLimitError: (error: unknown) => boolean;
8999
8941
  /**
9000
- *
9001
- * @hidden
9002
- * @beta
8942
+ * @internal
9003
8943
  */
9004
- interface RebasePatchMsg {
9005
- type: 'rebase';
9006
- patches: FormPatch[];
9007
- snapshot: unknown;
8944
+ declare const RELEASES_INTENT = "release";
8945
+ interface ReleasesMetadata {
8946
+ /**
8947
+ * The number of documents with the release version as a prefix
8948
+ */
8949
+ documentCount: number;
8950
+ /**
8951
+ * The last time a document in the release was edited
8952
+ */
8953
+ updatedAt: string | null;
9008
8954
  }
9009
- /**
9010
- *
9011
- * @hidden
9012
- * @beta
9013
- */
9014
- type PatchMsg = MutationPatchMsg | RebasePatchMsg;
9015
- /**
9016
- *
9017
- * @hidden
9018
- * @beta
9019
- */
9020
- interface PatchMsgSubscriber {
9021
- (msg: PatchMsg): void;
8955
+ type ReleasesMetadataMap = Record<string, ReleasesMetadata>;
8956
+ type MetadataWrapper = {
8957
+ data: ReleasesMetadataMap | null;
8958
+ error: null;
8959
+ loading: boolean;
8960
+ };
8961
+ interface BundleDeletedAction {
8962
+ id: string;
8963
+ currentUserId?: string;
8964
+ deletedByUserId: string;
8965
+ type: 'BUNDLE_DELETED';
9022
8966
  }
9023
- /**
9024
- *
9025
- * @hidden
9026
- * @beta
9027
- */
9028
- interface PatchChannel {
9029
- publish: (msg: PatchMsg) => void;
9030
- subscribe: (subscriber: PatchMsgSubscriber) => () => void;
8967
+ interface ReleasesSetAction {
8968
+ payload: ReleaseDocument[] | null;
8969
+ type: 'RELEASES_SET';
8970
+ }
8971
+ interface LoadingStateChangedAction {
8972
+ payload: {
8973
+ loading: boolean;
8974
+ error: Error | undefined;
8975
+ };
8976
+ type: 'LOADING_STATE_CHANGED';
9031
8977
  }
8978
+ type ReleasesReducerAction = BundleDeletedAction | ReleasesSetAction | LoadingStateChangedAction;
9032
8979
  /**
9033
8980
  * @internal
9034
8981
  */
9035
- declare function createPatchChannel(): PatchChannel;
8982
+ declare function isReleaseDocument(doc: unknown): doc is ReleaseDocument;
9036
8983
  /**
9037
8984
  * @internal
9038
8985
  */
9039
- interface ConditionalPropertyCallbackContext {
9040
- parent?: unknown;
9041
- document?: Record<string, unknown>;
9042
- currentUser: Omit<CurrentUser, 'role'> | null;
9043
- value: unknown;
9044
- path: Path;
8986
+ interface VersionInfoDocumentStub {
8987
+ _id: string;
8988
+ _rev: string;
8989
+ _createdAt: string;
8990
+ _updatedAt: string;
8991
+ }
8992
+ interface ReleasesState {
8993
+ /**
8994
+ * Sorted array of releases, excluding archived releases
8995
+ */
8996
+ data: ReleaseDocument[];
8997
+ error?: Error;
8998
+ loading: boolean;
8999
+ dispatch: (event: ReleasesReducerAction) => void;
9045
9000
  }
9046
9001
  /**
9002
+ * Hook to get the (non archived, non published) active releases
9047
9003
  * @internal
9048
9004
  */
9049
- declare function resolveConditionalProperty(property: ConditionalProperty, context: ConditionalPropertyCallbackContext): boolean;
9005
+ declare function useActiveReleases(): ReleasesState;
9050
9006
  /**
9051
- * The "all fields" group definition
9052
- * Users can import this to create a custom "all fields" group.
9053
- * Name must be `all-fields` to be considered an "all fields" group.
9054
- *
9055
- * @example hides the all fields group.
9056
- * ```ts
9057
- *
9058
- * const author = defineType({
9059
- * name: 'author',
9060
- * title: 'Author',
9061
- * type: 'document',
9062
- * groups: [
9063
- * {
9064
- * ...ALL_FIELDS_GROUP,
9065
- * hidden: true,
9066
- * },
9067
- * ],
9068
- * })
9069
- * ```
9070
- *
9071
- * @public
9007
+ * @internal
9072
9008
  */
9073
- declare const ALL_FIELDS_GROUP: FieldGroup;
9009
+ declare function useArchivedReleases(): {
9010
+ data: ReleaseDocument[];
9011
+ error?: Error;
9012
+ loading: boolean;
9013
+ };
9074
9014
  /**
9075
- * When comparing documents, diff provenance reflects details about the bundle in which a change
9076
- * was introduced.
9077
- *
9078
- * @public
9015
+ * Takes a document id, and returns information about what other versions of the document currently exists
9016
+ * @param documentId - The document id. Should be the published id
9017
+ * @internal
9079
9018
  */
9080
- interface ProvenanceDiffAnnotation {
9081
- provenance: {
9082
- bundle?: TargetPerspective;
9019
+ declare function useDocumentVersionInfo(documentId: string): {
9020
+ isLoading: boolean;
9021
+ draft: VersionInfoDocumentStub | undefined;
9022
+ published: VersionInfoDocumentStub | undefined;
9023
+ versions: Record<string, VersionInfoDocumentStub | undefined>;
9024
+ };
9025
+ interface ReleasesUpsellContextValue {
9026
+ /**
9027
+ * Is upsell mode when the user has reached the release limit
9028
+ * Is default mode when the user has not reached the release limits
9029
+ */
9030
+ mode: 'upsell' | 'default';
9031
+ upsellDialogOpen: boolean;
9032
+ upsellData: UpsellData | null;
9033
+ guardWithReleaseLimitUpsell: (callback: () => void, throwError?: boolean, whenResolved?: (hasPassed: boolean) => void) => Promise<false | void>;
9034
+ onReleaseLimitReached: (limit: number) => void;
9035
+ handleOpenDialog: (source?: UpsellDialogViewedInfo['source']) => void;
9036
+ telemetryLogs: {
9037
+ dialogSecondaryClicked: () => void;
9038
+ dialogPrimaryClicked: () => void;
9039
+ panelViewed: (source: UpsellDialogViewedInfo['source']) => void;
9040
+ panelDismissed: () => void;
9041
+ panelPrimaryClicked: () => void;
9042
+ panelSecondaryClicked: () => void;
9083
9043
  };
9084
9044
  }
9085
- /**
9086
- * @hidden
9087
- * @beta */
9088
- interface FormFieldGroup {
9089
- name: string;
9090
- selected?: boolean;
9091
- disabled?: boolean;
9092
- title?: string;
9093
- i18n?: I18nTextRecord<'title'>;
9094
- icon?: ComponentType;
9095
- fields: ObjectField[];
9045
+ interface DocumentValidationStatus extends ValidationStatus {
9046
+ hasError: boolean;
9047
+ }
9048
+ interface DocumentInRelease {
9049
+ memoKey: string;
9050
+ isPending?: boolean;
9051
+ document: SanityDocument & {
9052
+ publishedDocumentExists: boolean;
9053
+ };
9054
+ validation: DocumentValidationStatus;
9096
9055
  }
9097
9056
  /**
9098
- * This error may happen if the member type is structurally incompatible with the defined schema type.
9099
- * Some examples:
9100
- * - the schema type defines an array, but the actual value is an object (or vice versa)
9101
- * - the schema type defines a number, but the actual value is a string (or vice versa)
9102
- * - the schema type defines an object, but the actual value is a string (or vice versa)
9103
- *
9104
- * @public
9057
+ * Gets all the releases ids
9058
+ * @internal
9105
9059
  */
9106
- type IncompatibleTypeError = {
9107
- type: 'INCOMPATIBLE_TYPE';
9108
- expectedSchemaType: SchemaType;
9109
- resolvedValueType: string;
9110
- value: unknown;
9060
+ declare function useReleasesIds(releases: ReleaseDocument[]): {
9061
+ releasesIds: string[];
9111
9062
  };
9112
9063
  /**
9113
- * This error may happen if the _type of the value is different from the declared schema type
9114
- * It represents a case where we encounter field value that is structurally compatible with the field's defined schema type
9115
- * (e.g. they are both json objects), but the _type name is different from what the schema type expects
9116
- *
9117
- * Note on compatibility: The schema of a field may be defined as an object with fields (a, b, c), but the value is an object with (d, e, f)
9118
- * These are still structurally compatible because (d, e, f) will be considered undeclared members
9119
- *
9120
- * @public
9064
+ * @internal
9121
9065
  */
9122
- type TypeAnnotationMismatchError = {
9123
- type: 'TYPE_ANNOTATION_MISMATCH';
9124
- expectedSchemaType: SchemaType;
9125
- resolvedValueType: string;
9126
- };
9066
+ declare const LATEST: "drafts";
9127
9067
  /**
9128
- * This error may happen for arrays of objects where one or more of the members are missing a _key
9129
- *
9130
- * @public
9068
+ * @internal
9131
9069
  */
9132
- type MissingKeysError = {
9133
- type: 'MISSING_KEYS';
9134
- schemaType: ArraySchemaType;
9135
- value: {
9136
- _key?: string;
9137
- }[];
9138
- };
9070
+ declare const PUBLISHED: "published";
9139
9071
  /**
9140
- * This error may happen for arrays of objects where one or more of the members are having duplicate keys
9141
- *
9142
- * @public
9072
+ * @internal
9073
+ * @param releaseDocumentId - the document id of the release
9143
9074
  */
9144
- type DuplicateKeysError = {
9145
- type: 'DUPLICATE_KEYS';
9146
- schemaType: ArraySchemaType;
9147
- duplicates: [index: number, key: string][];
9148
- };
9075
+ declare function getReleaseIdFromReleaseDocumentId(releaseDocumentId: string): ReleaseId;
9076
+ /** @internal */
9077
+ declare function getReleaseTone(release: TargetPerspective): BadgeTone;
9149
9078
  /**
9150
- * This error may happen for objects if we encounter fields that are not declared in the schema
9079
+ * checks if the document has been set for unpublishing
9080
+ * @internal
9151
9081
  *
9152
- * @public
9082
+ * @param document - sanity document
9083
+ * @returns boolean if the system delete is set
9153
9084
  */
9154
- type UndeclaredMembersError = {
9155
- type: 'UNDECLARED_MEMBERS';
9156
- schemaType: ArraySchemaType;
9157
- };
9085
+ declare function isGoingToUnpublish(document: SanityDocument$1 | SanityDocumentLike): boolean;
9158
9086
  /**
9159
- * This error may happen for objects if we encounter fields that are not declared in the schema
9160
- *
9161
- * @public
9087
+ * @internal This is the client options used for the releases studio client, using the `X` API version for now
9088
+ * Will change to a specific version soon.
9089
+ * TODO: Remove after API version is stable and support releases
9162
9090
  */
9163
- type MixedArrayError = {
9164
- type: 'MIXED_ARRAY';
9165
- schemaType: ArraySchemaType;
9166
- value: unknown[];
9167
- };
9091
+ declare const RELEASES_STUDIO_CLIENT_OPTIONS: SourceClientOptions;
9168
9092
  /**
9169
- * This error may happen for arrays (of both objects and primitive values) if we encounter items that are not valid according to the schema definition
9170
- *
9171
- *
9172
- * @hidden
9173
- * @beta
9093
+ * @internal Checks if the perspective is a release perspective
9094
+ * TODO: Remove after API version is stable and support releases
9174
9095
  */
9175
- type InvalidItemTypeError = {
9176
- type: 'INVALID_ITEM_TYPE';
9177
- validTypes: SchemaType[];
9178
- resolvedValueType: string;
9179
- value: unknown;
9180
- };
9096
+ declare const isReleasePerspective: (perspective: string | _sanity_client0.StackablePerspective[] | string[] | undefined) => boolean;
9181
9097
  /**
9182
- * Represents an error that occurred in a specific field of a data object.
9183
- * @public
9184
- *
9185
- * @remarks
9186
- * This interface is used to provide detailed information about the error,
9187
- * including the field name, the error type, and the error message.
9188
- */
9189
- interface FieldError {
9190
- /**
9191
- * The type of error that occurred.
9192
- */
9193
- kind: 'error';
9194
- /**
9195
- * The unique identifier for the error.
9196
- */
9197
- key: string;
9198
- /**
9199
- * The name of the field that the error occurred in.
9200
- */
9201
- fieldName: string;
9202
- /**
9203
- * The specific error that occurred.
9204
- *
9205
- * ```md
9206
- * Possible error types include:
9207
- * - IncompatibleTypeError
9208
- * - TypeAnnotationMismatchError
9209
- * - MissingKeysError
9210
- * - DuplicateKeysError
9211
- * - UndeclaredMembersError
9212
- * - MixedArrayError
9213
- * ```
9214
- *
9215
- * See {@link IncompatibleTypeError},
9216
- * {@link TypeAnnotationMismatchError},
9217
- * {@link MissingKeysError},
9218
- * {@link DuplicateKeysError},
9219
- * {@link UndeclaredMembersError} and
9220
- * {@link MixedArrayError} for more information.
9221
- *
9222
- */
9223
- error: IncompatibleTypeError | TypeAnnotationMismatchError | MissingKeysError | DuplicateKeysError | UndeclaredMembersError | MixedArrayError;
9098
+ * @beta
9099
+ * @param documentId - The document id, e.g. `my-document-id` or `drafts.my-document-id` or `summer.my-document-id`
9100
+ * @param perspective - The current perspective, e.g. `release.summer` or undefined, it can be obtained from `useRouter().stickyParams.perspective`
9101
+ * @returns boolean - `true` if the document is in the current perspective.
9102
+ * e.g:
9103
+ * - document: `summer.my-document-id`, perspective: `release.summer` : **true**
9104
+ * - document: `my-document-id`, perspective: `release.summer` : **false**
9105
+ * - document: `summer.my-document-id`perspective: `release.winter` : **false**
9106
+ * - document: `summer.my-document-id`, perspective: `undefined` : **false**
9107
+ * - document: `my-document-id`, perspective: `undefined` : **true**
9108
+ * - document: `drafts.my-document-id`, perspective: `undefined` : **true**
9109
+ */
9110
+ declare function getDocumentIsInPerspective(documentId: string, perspective: string | undefined): boolean;
9111
+ /** @internal */
9112
+ declare function formatRelativeLocalePublishDate(release: ReleaseDocument): string;
9113
+ /** @internal */
9114
+ declare function isPublishedPerspective(perspective: TargetPerspective | string): perspective is 'published';
9115
+ /** @internal */
9116
+ declare function isDraftPerspective(perspective: TargetPerspective | string): perspective is 'drafts';
9117
+ /** @internal */
9118
+ declare function isReleaseScheduledOrScheduling(release: ReleaseDocument): boolean;
9119
+ interface DocumentStatusProps$1 {
9120
+ draft?: PreviewValue | Partial<SanityDocument> | null;
9121
+ published?: PreviewValue | Partial<SanityDocument> | null;
9122
+ versions?: Record<string, VersionInfoDocumentStub | undefined>;
9123
+ singleLine?: boolean;
9224
9124
  }
9225
9125
  /**
9226
- * @hidden
9227
- * @beta */
9228
- interface ArrayItemError {
9229
- kind: 'error';
9230
- key: string;
9231
- index: number;
9232
- error: InvalidItemTypeError;
9233
- }
9126
+ * Displays document status indicating both last published and edited dates in either relative (the default)
9127
+ * or absolute formats.
9128
+ *
9129
+ * These can be displayed in a single or multi-line (the default) lockups.
9130
+ *
9131
+ * Example: `**Published Oct 16 2023** Edited 8m ago`
9132
+ *
9133
+ * @internal
9134
+ */
9135
+ declare function DocumentStatus({
9136
+ draft,
9137
+ published,
9138
+ versions,
9139
+ singleLine
9140
+ }: DocumentStatusProps$1): react.JSX.Element;
9234
9141
  /**
9235
- * @public
9142
+ * @internal
9236
9143
  */
9237
- type ComputeDiff<Annotation> = (value: unknown) => Diff<Annotation>;
9144
+ type BaseStudioRenderingContext<Name extends string = string, Metadata = Record<PropertyKey, never>> = {
9145
+ name: Name;
9146
+ metadata: Metadata;
9147
+ };
9238
9148
  /**
9239
- * Props that encapsulate document chronology within a stack of versions.
9149
+ * @internal
9150
+ */
9151
+ type DefaultRenderingContext = BaseStudioRenderingContext<'default'>;
9152
+ /**
9153
+ * @internal
9154
+ */
9155
+ type CoreUiRenderingContext = BaseStudioRenderingContext<'coreUi', {
9156
+ environment: string;
9157
+ }>;
9158
+ /**
9159
+ * @internal
9160
+ */
9161
+ type StudioRenderingContext = DefaultRenderingContext | CoreUiRenderingContext;
9162
+ /**
9163
+ * @internal
9164
+ */
9165
+ declare const capabilities: readonly ["globalUserMenu", "globalWorkspaceControl", "comlink"];
9166
+ /**
9167
+ * @internal
9168
+ */
9169
+ type Capability = (typeof capabilities)[number];
9170
+ /**
9171
+ * @internal
9172
+ */
9173
+ type CapabilityRecord = Partial<Record<Capability, boolean>>;
9174
+ /**
9175
+ * @internal
9176
+ */
9177
+ type RenderingContextStore = {
9178
+ renderingContext: Observable<StudioRenderingContext>;
9179
+ capabilities: Observable<CapabilityRecord>;
9180
+ };
9181
+ type Props$3 = PropsWithChildren<{
9182
+ capability: Capability;
9183
+ condition?: 'available' | 'unavailable';
9184
+ }>;
9185
+ /**
9186
+ * `CapabilityGate` only renders its children if the current Studio rendering context does not
9187
+ * provide the specified capability.
9240
9188
  *
9241
- * @public
9189
+ * This allows consumers of the component to conveniently mark a portion of the React tree as
9190
+ * providing a capability that may be overriden by the Studio rendering context. If the rendering
9191
+ * context provides this capability, the local implementation will not be rendered.
9192
+ *
9193
+ * @internal
9242
9194
  */
9243
- interface NodeChronologyProps {
9244
- /**
9245
- * Whether the document has an upstream version.
9246
- */
9247
- hasUpstreamVersion: boolean;
9195
+ declare const CapabilityGate: ComponentType<Props$3>;
9196
+ interface DocumentStatusProps {
9197
+ draft?: VersionInfoDocumentStub | undefined;
9198
+ published?: VersionInfoDocumentStub | undefined;
9199
+ versions?: Record<string, VersionInfoDocumentStub | undefined>;
9248
9200
  }
9249
9201
  /**
9250
- * Props that encapsulate changes in the node's value.
9202
+ * Renders a dot indicating the current document status.
9203
+ *
9204
+ * @internal
9205
+ */
9206
+ declare function DocumentStatusIndicator({
9207
+ draft,
9208
+ published,
9209
+ versions
9210
+ }: DocumentStatusProps): react.JSX.Element;
9211
+ /**
9212
+ * @internal
9213
+ */
9214
+ interface ErrorActionsProps extends Pick<ComponentProps<typeof Button>, 'size'> {
9215
+ error: unknown;
9216
+ eventId?: string | null;
9217
+ onRetry?: () => void;
9218
+ isRetrying?: boolean;
9219
+ }
9220
+ /**
9221
+ * @internal
9222
+ */
9223
+ declare const ErrorActions: ComponentType<ErrorActionsProps>;
9224
+ /**
9225
+ * @internal
9226
+ */
9227
+ interface ErrorWithId {
9228
+ error: unknown;
9229
+ eventId?: string | null;
9230
+ }
9231
+ /**
9232
+ * @internal
9233
+ */
9234
+ declare function useCopyErrorDetails(error: unknown, eventId?: string | null): () => void;
9235
+ /**
9236
+ * @internal
9237
+ */
9238
+ declare function serializeError(): OperatorFunction<ErrorWithId, string>;
9239
+ /**
9240
+ * Properties for the `Hotkeys` component.
9251
9241
  *
9252
9242
  * @public
9253
9243
  */
9254
- interface NodeDiffProps<Annotation, Value = unknown> extends NodeChronologyProps {
9255
- /**
9256
- * A function that takes any value and produces a diff between that value and the value the node
9257
- * is being compared to.
9258
- *
9259
- * This can be used to compute a diff optimistically.
9260
- *
9261
- * This is marked as unstable because the API may need to evolve as we iterate on the advanced
9262
- * version control functionality. It will be stabilised when that project has matured.
9263
- */
9264
- __unstable_computeDiff: ComputeDiff<Annotation>;
9265
- /**
9266
- * Whether the current value is different to the value the node is being compared to.
9267
- */
9268
- changed: boolean;
9244
+ type HotkeysProps$1 = HotkeysProps & {
9269
9245
  /**
9270
- * The value the node is currently being compared to. This is taken from the upstream version, if
9271
- * the document has an upstream version. Otherwise, it's taken from the document's current value.
9246
+ * Whether to make the keys platform-aware (eg `alt` to `option` on Apple devices).
9272
9247
  *
9273
- * You can use the `hasUpstreamVersion` prop to determine whether the document has an upstream
9274
- * version.
9248
+ * @defaultValue true
9275
9249
  */
9276
- compareValue?: Value;
9277
- }
9250
+ makePlatformAware?: boolean;
9251
+ } & Omit<HTMLProps<HTMLElement>, 'ref' | 'size' | 'as'> & RefAttributes<HTMLElement>;
9278
9252
  /**
9279
- * @hidden
9253
+ * Renders given `keys` as "keycaps" visually.
9254
+ *
9255
+ * This is a wrapper around `@sanity/ui`'s `Hotkeys` component, which allows for altering keys
9256
+ * (eg `alt` to `option`) on Apple devices unless `makePlatformAware` is set to `false`.
9257
+ *
9258
+ * @param props - Properties to render with
9259
+ * @returns React element
9280
9260
  * @public
9281
9261
  */
9282
- interface BaseFormNode<T = unknown, S extends SchemaType = SchemaType> extends NodeDiffProps<ProvenanceDiffAnnotation, T> {
9283
- /** The unique identifier of the node. */
9284
- id: string;
9285
- /** The schema type of the node. */
9286
- schemaType: S;
9287
- /** The level of the node in the form hierarchy. */
9288
- level: number;
9289
- /** The path of the node in the form hierarchy. */
9290
- path: Path;
9291
- /**
9292
- * @hidden
9293
- * @beta */
9294
- presence: FormNodePresence[];
9295
- /** The validation markers of the node. */
9296
- validation: FormNodeValidation[];
9297
- /** The value of the node. */
9298
- value: T | undefined;
9299
- /** Whether the node is read-only. */
9300
- readOnly?: boolean;
9301
- /** Whether the node is focused. */
9302
- focused?: boolean;
9303
- displayInlineChanges?: boolean;
9304
- }
9262
+ declare function Hotkeys({
9263
+ makePlatformAware,
9264
+ keys: hotKeys,
9265
+ ...props
9266
+ }: HotkeysProps$1): react.JSX.Element;
9305
9267
  /** @internal */
9306
- interface HiddenField {
9307
- kind: 'hidden';
9308
- key: string;
9309
- name: string;
9310
- index: number;
9268
+ interface InsufficientPermissionsMessageProps {
9269
+ currentUser?: CurrentUser | null;
9270
+ context: 'create-new-reference' | 'create-document-type' | 'create-any-document' | 'create-document' | 'delete-document' | 'delete-schedules' | 'discard-changes' | 'duplicate-document' | 'edit-schedules' | 'execute-schedules' | 'publish-document' | 'unpublish-document';
9311
9271
  }
9272
+ /** @internal */
9273
+ declare function InsufficientPermissionsMessage({
9274
+ currentUser,
9275
+ context
9276
+ }: InsufficientPermissionsMessageProps): react.JSX.Element;
9312
9277
  /**
9278
+ *
9313
9279
  * @hidden
9314
- * @public */
9315
- type ObjectRenderMembersCallback = (members: ObjectMember[]) => ObjectMember[];
9316
- /** @public */
9317
- interface ObjectFormNode<T = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> extends BaseFormNode<T, S & {
9318
- renderMembers?: ObjectRenderMembersCallback;
9319
- }> {
9320
- /** The focus path of the form node. */
9321
- focusPath: Path;
9322
- /**
9323
- * @hidden
9324
- * @beta */
9325
- groups: FormFieldGroup[];
9326
- /**
9327
- * @hidden
9328
- * @beta */
9329
- members: ObjectMember[];
9280
+ * @beta
9281
+ */
9282
+ declare function IntentButton(props: IntentLinkProps & ButtonProps$1 & Omit<HTMLProps<HTMLButtonElement>, 'ref' | 'size' | 'as'>): react.JSX.Element;
9283
+ interface LoadingTestProps {
9284
+ /** Absolutely positions this component when `true`. */
9285
+ fill?: boolean;
9286
+ /** Optionally show loading title. If `true`, both text and spinner will appear and animate after an initial delay */
9287
+ showText?: boolean;
9330
9288
  /**
9331
- * @hidden
9332
- * @beta */
9333
- _allMembers?: ObjectMember[];
9289
+ * Text to display underneath the spinner. If omitted, will default to `'Loading'`.
9290
+ * If providing a value, avoid using trailing ellipses.
9291
+ *
9292
+ * @defaultValue `'Loading'`
9293
+ */
9294
+ title?: string | null;
9334
9295
  }
9335
- /** @public */
9336
- interface ObjectArrayFormNode<T extends ObjectItem = ObjectItem, S extends ObjectSchemaType = ObjectSchemaType> extends BaseFormNode<T, S> {
9337
- /** The focus path of the form node. */
9338
- focusPath: Path;
9339
- value: T;
9340
- /**
9341
- * @hidden
9342
- * @beta */
9343
- groups: FormFieldGroup[];
9344
- /**
9345
- * @hidden
9346
- * @beta */
9347
- members: ObjectMember[];
9348
- changesOpen?: boolean;
9296
+ /**
9297
+ * A generic loading container which displays a spinner and text.
9298
+ * The spinner won't initially be visible and fades in after a short delay.
9299
+ *
9300
+ * @internal
9301
+ */
9302
+ declare function LoadingBlock({
9303
+ fill,
9304
+ showText,
9305
+ title
9306
+ }: LoadingTestProps): react.JSX.Element;
9307
+ interface PopoverDialogProps {
9308
+ children: ReactNode;
9309
+ header?: ReactNode;
9310
+ onClose: () => void;
9311
+ referenceElement: PopoverProps$1['referenceElement'];
9312
+ width: ResponsiveWidthProps['width'];
9313
+ containerRef?: Dispatch<SetStateAction<HTMLDivElement | null>>;
9349
9314
  }
9350
9315
  /** @internal */
9351
- type DocumentFormNode<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> = ObjectFormNode<T, S>;
9352
- /** @public */
9353
- interface ArrayOfObjectsFormNode<T extends any[] = KeyedObject[], S extends ArraySchemaType = ArraySchemaType> extends BaseFormNode<T, S> {
9354
- /** The focus path of the form node. */
9355
- focusPath: Path;
9356
- /**
9357
- * @hidden
9358
- * @beta */
9359
- members: ArrayOfObjectsMember[];
9316
+ declare function PopoverDialog(props: PopoverDialogProps): react.JSX.Element;
9317
+ /** @internal */
9318
+ interface PreviewCardContextValue {
9319
+ selected?: boolean;
9360
9320
  }
9361
- /** @public */
9362
- interface ArrayOfPrimitivesFormNode<T extends (string | number | boolean)[] = (string | number | boolean)[], S extends ArraySchemaType = ArraySchemaType> extends BaseFormNode<T, S> {
9363
- /** The focus path of the form node. */
9364
- focusPath: Path;
9365
- /**
9366
- * @hidden
9367
- * @beta */
9368
- members: ArrayOfPrimitivesMember[];
9321
+ /** @internal */
9322
+ declare function usePreviewCard(): PreviewCardContextValue;
9323
+ /** @internal */
9324
+ declare const PreviewCard: react.ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>>;
9325
+ /**
9326
+ * This is a workaround for a circular import issue.
9327
+ * Calling `styled(PreviewCard)` at program load time triggered a build error with the commonjs bundle because it tried
9328
+ * to access the PreviewCard variable/symbol before it was initialized.
9329
+ * The workaround is to colocate the styled component with the component itself.
9330
+ * @internal
9331
+ */
9332
+ declare const ReferenceInputPreviewCard: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>, never>> & string & Omit<react.ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & react.RefAttributes<HTMLDivElement>>, keyof react.Component<any, {}, any>>;
9333
+ /**
9334
+ * Portable text preview layout key
9335
+ *
9336
+ * @public
9337
+ */
9338
+ type PortableTextPreviewLayoutKey = 'block' | 'blockImage' | 'inline';
9339
+ /**
9340
+ * General preview layout key
9341
+ *
9342
+ * @public
9343
+ */
9344
+ type GeneralPreviewLayoutKey = 'compact' | 'default' | 'media' | 'detail';
9345
+ /**
9346
+ * General Document list layout key
9347
+ *
9348
+ * @hidden
9349
+ * @beta
9350
+ */
9351
+ type GeneralDocumentListLayoutKey = GeneralPreviewLayoutKey | 'sheetList';
9352
+ /**
9353
+ * Preview layout key. See also {@link GeneralPreviewLayoutKey} and {@link PortableTextPreviewLayoutKey}
9354
+ *
9355
+ * @public
9356
+ */
9357
+ type PreviewLayoutKey = GeneralPreviewLayoutKey | PortableTextPreviewLayoutKey;
9358
+ /**
9359
+ * @hidden
9360
+ * @public
9361
+ */
9362
+ interface PreviewMediaDimensions {
9363
+ aspect?: number;
9364
+ dpr?: number;
9365
+ fit?: ImageUrlFitMode;
9366
+ height?: number;
9367
+ width?: number;
9369
9368
  }
9370
- /** @public */
9371
- type BooleanFormNode<S extends BooleanSchemaType = BooleanSchemaType> = BaseFormNode<boolean, S>;
9372
- /** @public */
9373
- type NumberFormNode<S extends NumberSchemaType = NumberSchemaType> = BaseFormNode<number, S>;
9374
- /** @public */
9375
- type StringFormNode<S extends StringSchemaType = StringSchemaType> = BaseFormNode<string, S>;
9369
+ /**
9370
+ * @hidden
9371
+ * @beta
9372
+ */
9373
+ interface PreviewProps<TLayoutKey = PreviewLayoutKey> {
9374
+ actions?: ReactNode | ComponentType<{
9375
+ layout: TLayoutKey;
9376
+ }>;
9377
+ children?: ReactNode;
9378
+ description?: ReactNode | ComponentType<{
9379
+ layout: TLayoutKey;
9380
+ }>;
9381
+ error?: Error | null;
9382
+ fallbackTitle?: ReactNode;
9383
+ imageUrl?: string;
9384
+ isPlaceholder?: boolean;
9385
+ layout?: TLayoutKey;
9386
+ media?: ReactNode | ComponentType<{
9387
+ dimensions: PreviewMediaDimensions;
9388
+ layout: TLayoutKey;
9389
+ }>;
9390
+ mediaDimensions?: PreviewMediaDimensions;
9391
+ progress?: number;
9392
+ status?: ReactNode | ComponentType<{
9393
+ layout: TLayoutKey;
9394
+ }>;
9395
+ subtitle?: ReactNode | ComponentType<{
9396
+ layout: TLayoutKey;
9397
+ }>;
9398
+ title?: ReactNode | ComponentType<{
9399
+ layout: TLayoutKey;
9400
+ }>;
9401
+ withBorder?: boolean;
9402
+ withRadius?: boolean;
9403
+ withShadow?: boolean;
9404
+ schemaType?: SchemaType;
9405
+ renderDefault: (props: PreviewProps) => React.JSX.Element;
9406
+ }
9407
+ /**
9408
+ * @hidden
9409
+ * @beta
9410
+ */
9411
+ type PreviewComponent = ComponentType<PreviewProps>;
9412
+ /**
9413
+ * @hidden
9414
+ * @beta */
9415
+ type CompactPreviewProps = Omit<PreviewProps<'compact'>, 'renderDefault'>;
9416
+ /**
9417
+ * @hidden
9418
+ * @beta */
9419
+ declare function CompactPreview(props: CompactPreviewProps): react.JSX.Element;
9420
+ /**
9421
+ * @hidden
9422
+ * @beta */
9423
+ interface DefaultPreviewProps extends Omit<PreviewProps<'default'>, 'renderDefault'> {
9424
+ styles?: {
9425
+ root?: string;
9426
+ placeholder?: string;
9427
+ media?: string;
9428
+ heading?: string;
9429
+ title?: string;
9430
+ subtitle?: string;
9431
+ hasSubtitle?: string;
9432
+ mediaString?: string;
9433
+ status?: string;
9434
+ children?: string;
9435
+ };
9436
+ }
9437
+ /**
9438
+ * @hidden
9439
+ * @beta */
9440
+ declare function DefaultPreview(props: DefaultPreviewProps): react.JSX.Element;
9441
+ /**
9442
+ * @hidden
9443
+ * @beta */
9444
+ type DetailPreviewProps = PreviewProps<'detail'>;
9445
+ /**
9446
+ * @hidden
9447
+ * @beta */
9448
+ declare function DetailPreview(props: DetailPreviewProps): react.JSX.Element;
9449
+ /**
9450
+ * @hidden
9451
+ * @beta */
9452
+ type MediaPreviewProps = Omit<PreviewProps<'media'>, 'renderDefault'>;
9453
+ /**
9454
+ * @hidden
9455
+ * @beta */
9456
+ declare function MediaPreview(props: MediaPreviewProps): react.JSX.Element;
9457
+ /**
9458
+ * @hidden
9459
+ * @beta */
9460
+ type BlockImagePreviewProps = Omit<PreviewProps<'blockImage'>, 'renderDefault'>;
9461
+ /**
9462
+ * @hidden
9463
+ * @beta */
9464
+ declare function BlockImagePreview(props: BlockImagePreviewProps): react.JSX.Element;
9465
+ /**
9466
+ * @hidden
9467
+ * @beta */
9468
+ declare function BlockPreview(props: Omit<PreviewProps<'block'>, 'renderDefault'>): react.JSX.Element;
9469
+ /**
9470
+ * @hidden
9471
+ * @beta */
9472
+ type InlinePreviewProps = Omit<PreviewProps<'inline'>, 'renderDefault'>;
9473
+ /**
9474
+ * @hidden
9475
+ * @beta */
9476
+ declare function InlinePreview(props: InlinePreviewProps): react.JSX.Element;
9477
+ interface MediaProps {
9478
+ border?: boolean;
9479
+ dimensions: PreviewMediaDimensions;
9480
+ layout: PreviewLayoutKey;
9481
+ media: PreviewProps['media'];
9482
+ radius?: number;
9483
+ responsive?: boolean;
9484
+ styles?: {
9485
+ media?: string;
9486
+ mediaString?: string;
9487
+ };
9488
+ }
9489
+ /**
9490
+ * @hidden
9491
+ * @beta */
9492
+ interface TemplatePreviewProps {
9493
+ description?: ReactNode;
9494
+ isPlaceholder?: boolean;
9495
+ media?: MediaProps['media'];
9496
+ mediaDimensions?: PreviewMediaDimensions;
9497
+ subtitle?: ElementType<{
9498
+ layout: 'default';
9499
+ }> | ReactNode;
9500
+ title?: ElementType<{
9501
+ layout: 'default';
9502
+ }> | ReactNode;
9503
+ }
9504
+ /**
9505
+ * @hidden
9506
+ * @beta */
9507
+ declare function TemplatePreview(props: TemplatePreviewProps): react.JSX.Element;
9508
+ /**
9509
+ * @hidden
9510
+ * @beta */
9511
+ declare function CircularProgress(props: {
9512
+ /** Percentage */value: number;
9513
+ }): react.JSX.Element;
9514
+ /**
9515
+ * @hidden
9516
+ * @beta */
9517
+ declare function LinearProgress(props: {
9518
+ /** Percentage */value: number;
9519
+ }): react.JSX.Element;
9520
+ /**
9521
+ * @internal
9522
+ */
9523
+ interface RelativeTimeProps extends RelativeTimeOptions {
9524
+ time: string | Date;
9525
+ }
9526
+ /**
9527
+ * @internal
9528
+ */
9529
+ declare function RelativeTime({
9530
+ time,
9531
+ ...options
9532
+ }: RelativeTimeProps): react.JSX.Element;
9533
+ interface ResizableProps {
9534
+ minWidth: number;
9535
+ maxWidth: number;
9536
+ initialWidth?: number;
9537
+ resizerPosition?: 'left' | 'right';
9538
+ }
9539
+ /**
9540
+ * @internal
9541
+ * Provides a resizable container with a resizer handle.
9542
+ */
9543
+ declare function Resizable(props: ResizableProps & BoxProps & Omit<HTMLProps<HTMLDivElement>, 'as'>): react.JSX.Element;
9544
+ /**
9545
+ * @hidden
9546
+ * @beta */
9547
+ type RovingFocusNavigationType = 'arrows' | 'tab';
9548
+ /**
9549
+ * @hidden
9550
+ * @beta */
9551
+ interface RovingFocusProps {
9552
+ direction?: 'horizontal' | 'vertical';
9553
+ initialFocus?: 'first' | 'last';
9554
+ navigation?: RovingFocusNavigationType[];
9555
+ loop?: boolean;
9556
+ pause?: boolean;
9557
+ rootElement: HTMLElement | HTMLDivElement | null;
9558
+ }
9559
+ /**
9560
+ * This hook handles focus with the keyboard arrows.
9561
+ *
9562
+ * @see {@link https://a11y-solutions.stevenwoodson.com/solutions/focus/roving-focus/ | Roving focus definition}
9563
+ *
9564
+ * @example
9565
+ * ```tsx
9566
+ * function MyComponent() {
9567
+ * const [rootElement, setRootElement] = setRootElement(null)
9568
+ *
9569
+ * useRovingFocus({
9570
+ * rootElement: rootElement,
9571
+ * })
9572
+ *
9573
+ * return (
9574
+ * <div ref={setRootElement}>
9575
+ * <button>Button</button>
9576
+ * <button>Button</button>
9577
+ * <button>Button</button>
9578
+ * </div>
9579
+ * )
9580
+ * }
9581
+ * ```
9582
+ *
9583
+ *
9584
+ * @hidden
9585
+ * @beta
9586
+ */
9587
+ declare function useRovingFocus(props: RovingFocusProps): undefined;
9588
+ /** @hidden @beta */
9589
+ type StatusButtonProps = ButtonProps$1 & {
9590
+ ['aria-label']: HTMLProps<HTMLButtonElement>['aria-label'];
9591
+ 'forwardedAs'?: string;
9592
+ 'disabled'?: boolean | {
9593
+ reason: ReactNode;
9594
+ };
9595
+ 'mode'?: ButtonProps$1['mode'];
9596
+ 'iconRight'?: undefined;
9597
+ };
9598
+ /** @hidden @beta */
9599
+ declare const StatusButton: react.ForwardRefExoticComponent<(StatusButtonProps & Omit<HTMLProps<HTMLButtonElement>, "disabled" | "ref" | "size" | "title">) & react.RefAttributes<HTMLButtonElement>>;
9600
+ /** @internal */
9601
+ interface TextWithToneProps extends ComponentProps<typeof Text> {
9602
+ tone: ButtonTone;
9603
+ dimmed?: boolean;
9604
+ }
9605
+ /** @internal */
9606
+ declare const TextWithTone: react.ForwardRefExoticComponent<Omit<TextWithToneProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
9607
+ /** @internal */
9608
+ declare const TooltipOfDisabled: react.ForwardRefExoticComponent<Omit<_sanity_ui0.TooltipProps, "arrow" | "padding" | "shadow"> & {
9609
+ hotkeys?: string[] | undefined;
9610
+ } & react.RefAttributes<HTMLDivElement>>;
9611
+ /** @internal */
9612
+ interface ToastParams$1 {
9613
+ closable?: boolean;
9614
+ description?: ReactNode;
9615
+ duration?: number;
9616
+ onClose?: () => void;
9617
+ title?: ReactNode;
9618
+ status?: 'error' | 'warning' | 'success' | 'info';
9619
+ }
9620
+ /**
9621
+ * @internal
9622
+ * @deprecated -- Refactor the component so it can call `useToast` instead
9623
+ */
9624
+ declare const ImperativeToast: react.ForwardRefExoticComponent<react.RefAttributes<unknown>>;
9625
+ /**
9626
+ * TODO: Rename to `ZOffsetsContextValue`
9627
+ *
9628
+ * @internal
9629
+ */
9630
+ interface ZIndexContextValue {
9631
+ /** Used by: Navbar */
9632
+ navbar: number | number[];
9633
+ navbarPopover: number | number[];
9634
+ navbarDialog: number | number[];
9635
+ /** Used by: DefaultPane, DocumentPane */
9636
+ pane: number | number[];
9637
+ paneHeader: number | number[];
9638
+ paneFooter: number | number[];
9639
+ paneResizer: number | number[];
9640
+ paneDialog: number | number[];
9641
+ /** Used by: EditItemFoldOut, Spinner, ConnectorsOverlay, tippy.css, BaseDateTimeInput */
9642
+ portal: number | number[];
9643
+ /** Used by: Tooltip */
9644
+ popover: number | number[];
9645
+ /** Used by: `@sanity/google-maps-input` */
9646
+ modal: number | number[];
9647
+ /** TODO this path does not seem to be correct - fix? */
9648
+ /** Used by: `movingItem` in packages/sanity/src/styles/layout/helpers.css */
9649
+ movingItem: number | number[];
9650
+ /** Used for shadow behind the navbar search, and behind sidemenu */
9651
+ drawershade: number | number[];
9652
+ /** Used by: Snackbar */
9653
+ drawer: number | number[];
9654
+ /** Used for UI that sits on top of the entire application */
9655
+ fullscreen: number | number[];
9656
+ /** Used for inspector dialog */
9657
+ inspectorDialog: number | number[];
9658
+ /** Used for toasts */
9659
+ toast: number | number[];
9660
+ dropdown: number | number[];
9661
+ navbarFixed: number | number[];
9662
+ fullscreenEdit: number | number[];
9663
+ popoverBackground: number | number[];
9664
+ tooltip: number | number[];
9665
+ modalBackground: number | number[];
9666
+ spinner: number | number[];
9667
+ }
9668
+ /** @internal */
9669
+ type ZIndexContextValueKey = keyof ZIndexContextValue;
9670
+ /**
9671
+ * This component should only be used by core Sanity packages.
9672
+ * @internal
9673
+ */
9674
+ declare function LegacyLayerProvider({
9675
+ children,
9676
+ zOffset: zOffsetKey
9677
+ }: {
9678
+ children: ReactNode;
9679
+ zOffset: ZIndexContextValueKey;
9680
+ }): react.JSX.Element;
9681
+ interface AvatarSkeletonProps {
9682
+ $size?: AvatarSize;
9683
+ }
9684
+ /**
9685
+ * A loading skeleton element representing a user avatar
9686
+ * @beta
9687
+ */
9688
+ declare const AvatarSkeleton: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<Omit<_sanity_ui0.SkeletonProps & react.HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>, AvatarSkeletonProps>> & string & Omit<react.ForwardRefExoticComponent<Omit<_sanity_ui0.SkeletonProps & react.HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>, keyof react.Component<any, {}, any>>;
9689
+ /**
9690
+ * @hidden
9691
+ * @beta */
9692
+ interface UserAvatarProps {
9693
+ __unstable_hideInnerStroke?: AvatarProps['__unstable_hideInnerStroke'];
9694
+ animateArrowFrom?: AvatarPosition;
9695
+ position?: AvatarPosition;
9696
+ size?: AvatarSize;
9697
+ status?: AvatarStatus;
9698
+ tone?: 'navbar';
9699
+ user: User | string;
9700
+ withTooltip?: boolean;
9701
+ }
9702
+ /**
9703
+ * @hidden
9704
+ * @beta */
9705
+ declare function UserAvatar(props: UserAvatarProps): react.JSX.Element;
9706
+ /**
9707
+ * @internal
9708
+ * @deprecated - Will be removed in 4.0.0, use the `useReferringDocuments(<documentId>)` hook instead
9709
+ */
9710
+ declare function WithReferringDocuments({
9711
+ children,
9712
+ id
9713
+ }: {
9714
+ children: (props: {
9715
+ isLoading: boolean;
9716
+ referringDocuments: SanityDocument[];
9717
+ }) => React.JSX.Element;
9718
+ /**
9719
+ * @deprecated - no longer required
9720
+ */
9721
+ documentStore?: DocumentStore;
9722
+ id: string;
9723
+ }): react.JSX.Element;
9724
+ /**
9725
+ * TODO: Rename to `useZOffsets`
9726
+ *
9727
+ * @internal
9728
+ */
9729
+ declare function useZIndex(): ZIndexContextValue;
9730
+ /**
9731
+ * TODO: Rename to `ZOffsetsProvider`
9732
+ *
9733
+ * @internal
9734
+ */
9735
+ declare function ZIndexProvider({
9736
+ children
9737
+ }: {
9738
+ children?: ReactNode;
9739
+ }): React.JSX.Element;
9740
+ /** @internal */
9741
+ declare const SANITY_PATCH_TYPE: unique symbol;
9376
9742
  /**
9377
9743
  * @hidden
9378
9744
  * @beta */
9379
- type PrimitiveFormNode = BooleanFormNode | NumberFormNode | StringFormNode;
9380
- /** @public */
9381
- type ObjectMember = FieldMember | FieldSetMember | FieldError | DecorationMember;
9745
+ declare function setIfMissing(value: any, path?: Path): FormSetIfMissingPatch;
9382
9746
  /**
9383
9747
  * @hidden
9384
9748
  * @beta */
9385
- type ArrayOfObjectsMember = ArrayOfObjectsItemMember | ArrayItemError;
9749
+ declare function insert(items: any[], position: FormInsertPatchPosition, path?: Path): FormInsertPatch;
9386
9750
  /**
9387
9751
  * @hidden
9388
9752
  * @beta */
9389
- type ArrayOfPrimitivesMember = ArrayOfPrimitivesItemMember | ArrayItemError;
9753
+ declare function set(value: any, path?: Path): FormSetPatch;
9390
9754
  /**
9391
9755
  * @hidden
9392
9756
  * @beta */
9393
- interface ArrayOfObjectsItemMember<Node extends ObjectArrayFormNode = ObjectArrayFormNode> {
9394
- kind: 'item';
9395
- key: string;
9396
- index: number;
9397
- collapsed: boolean | undefined;
9398
- collapsible: boolean | undefined;
9399
- open: boolean;
9400
- parentSchemaType: ArraySchemaType;
9401
- /**
9402
- * @hidden
9403
- * @beta */
9404
- item: Node;
9405
- }
9757
+ declare function unset(path?: Path): FormUnsetPatch;
9406
9758
  /**
9407
9759
  * @hidden
9408
9760
  * @beta */
9409
- interface ArrayOfPrimitivesItemMember<Node extends PrimitiveFormNode = PrimitiveFormNode> {
9410
- kind: 'item';
9411
- key: string;
9412
- index: number;
9413
- open: boolean;
9414
- parentSchemaType: ArraySchemaType;
9415
- /**
9416
- * @hidden
9417
- * @beta */
9418
- item: Node;
9419
- }
9761
+ declare function diffMatchPatch(value: string, path?: Path): FormDiffMatchPatch;
9420
9762
  /**
9421
- * Represents a field member in a form.
9422
- * @public
9423
- */
9424
- interface FieldMember<Node extends BaseFormNode = BaseFormNode> {
9425
- /** The kind of the form node. */
9426
- kind: 'field';
9427
- /** The key of the field. */
9428
- key: string;
9429
- /** The name of the field. */
9430
- name: string;
9431
- /** The index of the field. */
9432
- index: number;
9433
- /** Whether the field is collapsed. */
9434
- collapsed: boolean | undefined;
9435
- /** Whether the field is collapsible. */
9436
- collapsible: boolean | undefined;
9437
- /** Whether the field is open. */
9438
- open: boolean;
9439
- /**
9440
- * @internal
9441
- * Whether this field is in the selected group.
9442
- */
9443
- inSelectedGroup: boolean;
9444
- /**
9445
- * @internal
9446
- * Names of the field groups this field is part of.
9447
- */
9448
- groups: string[];
9449
- /**
9450
- * @hidden
9451
- * @beta
9452
- * The form node that represents this field.
9453
- */
9454
- field: Node;
9455
- }
9763
+ * @hidden
9764
+ * @beta */
9765
+ declare function inc(amount?: number, path?: Path): FormIncPatch;
9456
9766
  /**
9457
9767
  * @hidden
9458
- * @public
9459
- */
9460
- type FieldsetRenderMembersCallback = (members: FieldsetMembers[]) => FieldsetMembers[];
9768
+ * @beta */
9769
+ declare function dec(amount?: number, path?: Path): FormDecPatch;
9770
+ /** @internal */
9771
+ declare function prefixPath<T extends {
9772
+ path: Path;
9773
+ }>(patch: T, segment: PathSegment): T;
9461
9774
  /**
9462
- * Represents a member of a field set.
9463
- * @public
9775
+ *
9776
+ * @hidden
9777
+ * @beta
9464
9778
  */
9465
- interface FieldSetMember {
9466
- /** The kind of member. */
9467
- kind: 'fieldSet';
9468
- /** The key of the member. */
9469
- key: string;
9470
- /**
9471
- * Indicates whether the member is included in the currently selected group.
9472
- * If it's hidden and in the currently selected group, it should still be excluded from its group.
9473
- * @internal
9474
- */
9475
- _inSelectedGroup: boolean;
9476
- /** The names of the field groups the member belongs to. */
9477
- groups: string[];
9478
- /**
9479
- * @hidden
9480
- * @beta
9481
- * The state of the field set.
9482
- */
9483
- fieldSet: FieldsetState;
9484
- /**
9485
- * @hidden
9486
- * @beta
9487
- * The callback to render the members of the field set.
9488
- */
9489
- renderMembers?: FieldsetRenderMembersCallback;
9779
+ interface MutationPatchMsg {
9780
+ type: 'mutation';
9781
+ patches: FormPatch[];
9782
+ snapshot: unknown;
9490
9783
  }
9491
9784
  /**
9492
- * Represents a decoration member for a form.
9785
+ *
9493
9786
  * @hidden
9494
- * @public
9787
+ * @beta
9495
9788
  */
9496
- interface DecorationMember {
9497
- kind: 'decoration';
9498
- key: string;
9499
- component: React.JSX.Element | ComponentType;
9789
+ interface RebasePatchMsg {
9790
+ type: 'rebase';
9791
+ patches: FormPatch[];
9792
+ snapshot: unknown;
9500
9793
  }
9501
9794
  /**
9795
+ *
9502
9796
  * @hidden
9503
- * @public */
9504
- type FieldsetMembers = FieldMember | FieldError | DecorationMember;
9797
+ * @beta
9798
+ */
9799
+ type PatchMsg = MutationPatchMsg | RebasePatchMsg;
9505
9800
  /**
9801
+ *
9506
9802
  * @hidden
9507
- * @beta */
9508
- interface FieldsetState {
9509
- path: Path;
9510
- name: string;
9511
- level: number;
9512
- title?: string;
9513
- description?: string;
9514
- hidden?: boolean;
9515
- collapsible?: boolean;
9516
- collapsed?: boolean;
9517
- columns?: number | number[];
9518
- members: FieldsetMembers[];
9803
+ * @beta
9804
+ */
9805
+ interface PatchMsgSubscriber {
9806
+ (msg: PatchMsg): void;
9519
9807
  }
9520
9808
  /**
9809
+ *
9521
9810
  * @hidden
9522
- * @beta */
9523
- interface StateTree<T> {
9524
- value?: T | undefined;
9525
- children?: {
9526
- [key: string]: StateTree<T>;
9527
- };
9528
- }
9529
- /** @internal */
9530
- declare function setAtPath<T>(currentTree: StateTree<T> | undefined, path: Path, value: T): StateTree<T>;
9531
- /** @internal */
9532
- type FormState<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType> = ObjectFormNode<T, S>;
9533
- /** @internal */
9534
- interface UseFormStateOptions extends Pick<NodeChronologyProps, 'hasUpstreamVersion'> {
9535
- schemaType: ObjectSchemaType;
9536
- documentValue: unknown;
9537
- comparisonValue: unknown;
9538
- openPath: Path;
9539
- focusPath: Path;
9540
- perspective: TargetPerspective;
9541
- presence: FormNodePresence[];
9542
- validation: ValidationMarker[];
9543
- fieldGroupState?: StateTree<string> | undefined;
9544
- collapsedFieldSets?: StateTree<boolean> | undefined;
9545
- collapsedPaths?: StateTree<boolean> | undefined;
9546
- readOnly?: boolean;
9547
- changesOpen?: boolean;
9548
- displayInlineChanges?: boolean;
9549
- }
9550
- /** @internal */
9551
- declare function useFormState<T extends { [key in string]: unknown } = { [key in string]: unknown }, S extends ObjectSchemaType = ObjectSchemaType>({
9552
- comparisonValue,
9553
- documentValue,
9554
- fieldGroupState,
9555
- collapsedFieldSets,
9556
- collapsedPaths,
9557
- focusPath,
9558
- openPath,
9559
- presence,
9560
- validation,
9561
- readOnly: inputReadOnly,
9562
- changesOpen,
9563
- schemaType,
9564
- perspective,
9565
- hasUpstreamVersion,
9566
- displayInlineChanges
9567
- }: UseFormStateOptions): FormState<T, S> | null;
9568
- /** @internal */
9569
- interface ExpandPathOperation {
9570
- type: 'expandPath';
9571
- path: Path;
9572
- }
9573
- /** @internal */
9574
- interface ExpandFieldSetOperation {
9575
- type: 'expandFieldSet';
9576
- path: Path;
9577
- }
9578
- /** @internal */
9579
- interface SetActiveGroupOperation {
9580
- type: 'setSelectedGroup';
9581
- path: Path;
9582
- groupName: string;
9811
+ * @beta
9812
+ */
9813
+ interface PatchChannel {
9814
+ publish: (msg: PatchMsg) => void;
9815
+ subscribe: (subscriber: PatchMsgSubscriber) => () => void;
9583
9816
  }
9584
- /** @internal */
9585
- type ExpandOperation = ExpandPathOperation | ExpandFieldSetOperation | SetActiveGroupOperation;
9586
9817
  /**
9587
- * This takes a form state and returns a list of operations required to open a node at a particular path
9588
- * @param node - The base form node (i.e. the form state node for the _document_)
9589
- * @param path - The path to open
9590
- *
9591
9818
  * @internal
9592
9819
  */
9593
- declare function getExpandOperations(node: BaseFormNode, path: Path): ExpandOperation[];
9820
+ declare function createPatchChannel(): PatchChannel;
9594
9821
  /** @internal */
9595
9822
  interface FormCallbacksValue {
9596
9823
  transformPatches?: (patches: FormPatch[]) => FormPatch[];
@@ -10901,6 +11128,7 @@ interface PrimitiveInputElementProps {
10901
11128
  'onBlur': FocusEventHandler;
10902
11129
  'ref': MutableRefObject<any>;
10903
11130
  'aria-describedby': string | undefined;
11131
+ 'style': Pick<CSSProperties$1, 'anchorName'>;
10904
11132
  }
10905
11133
  /**
10906
11134
  * @hidden
@@ -10911,6 +11139,7 @@ interface ComplexElementProps {
10911
11139
  'onBlur': FocusEventHandler;
10912
11140
  'ref': MutableRefObject<any>;
10913
11141
  'aria-describedby': string | undefined;
11142
+ 'style': Pick<CSSProperties$1, 'anchorName'>;
10914
11143
  }
10915
11144
  /**
10916
11145
  * @hidden
@@ -13382,6 +13611,7 @@ interface FormFieldProps {
13382
13611
  */
13383
13612
  validation?: FormNodeValidation[];
13384
13613
  deprecated?: DeprecatedProperty;
13614
+ path: Path;
13385
13615
  }
13386
13616
  /** @internal */
13387
13617
  declare const FormField: react.NamedExoticComponent<FormFieldProps & Omit<HTMLProps<HTMLDivElement>, "as" | "height" | "ref">>;
@@ -13434,6 +13664,7 @@ interface FormFieldSetProps {
13434
13664
  level?: number;
13435
13665
  onCollapse?: () => void;
13436
13666
  onExpand?: () => void;
13667
+ schemaType?: SchemaType;
13437
13668
  title?: ReactNode;
13438
13669
  /**
13439
13670
  *
@@ -13443,6 +13674,8 @@ interface FormFieldSetProps {
13443
13674
  validation?: FormNodeValidation[];
13444
13675
  inputId: string;
13445
13676
  deprecated?: DeprecatedProperty;
13677
+ path: Path;
13678
+ readOnly?: boolean;
13446
13679
  }
13447
13680
  /** @internal */
13448
13681
  declare const FormFieldSet: react.ForwardRefExoticComponent<FormFieldSetProps & Omit<HTMLProps<HTMLDivElement>, "as" | "height" | "ref"> & react.RefAttributes<HTMLDivElement>>;
@@ -13521,17 +13754,33 @@ interface FormRowProps extends PropsWithChildren {
13521
13754
  * @internal
13522
13755
  */
13523
13756
  declare const FormRow: ComponentType<FormRowProps>;
13524
- interface Props$1 {
13757
+ interface Props$2 {
13525
13758
  $area: FormArea;
13526
13759
  }
13527
13760
  /**
13528
13761
  * @internal
13529
13762
  */
13530
- declare const FormCell: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Props$1>> & string;
13763
+ declare const FormCell: styled_components_dist_types0.IStyledComponentBase<"web", styled_components_dist_types0.Substitute<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Props$2>> & string;
13531
13764
  /**
13532
13765
  * @internal
13533
13766
  */
13534
13767
  declare const FormContainer: styled_components_dist_types0.IStyledComponentBase<"web", styled_components0.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
13768
+ interface Props$1 extends PropsWithChildren {
13769
+ formState: FormState;
13770
+ upstreamEditState: EditStateFor;
13771
+ editState: EditStateFor;
13772
+ subjectId: string;
13773
+ displayedId: string;
13774
+ schemaType: ObjectSchemaType;
13775
+ }
13776
+ /**
13777
+ * @internal
13778
+ */
13779
+ declare const DivergencesProvider: ComponentType<Props$1>;
13780
+ /**
13781
+ * @internal
13782
+ */
13783
+ declare function useDocumentDivergences(): DocumentDivergencesContextValue;
13535
13784
  /**
13536
13785
  * @internal
13537
13786
  * @hidden
@@ -14170,6 +14419,7 @@ declare const MemberFieldSet: react.NamedExoticComponent<{
14170
14419
  renderInput: RenderInputCallback;
14171
14420
  renderItem: RenderArrayOfObjectsItemCallback;
14172
14421
  renderPreview: RenderPreviewCallback;
14422
+ schemaType?: SchemaType | undefined;
14173
14423
  }>;
14174
14424
  /** @internal */
14175
14425
  interface ObjectInputMemberProps {
@@ -15466,8 +15716,8 @@ interface Source {
15466
15716
  /**
15467
15717
  * Control whether advanced version control functionality is enabled.
15468
15718
  *
15469
- * Advanced version control provides features such as inline content diffs in Studio to make
15470
- * resolving conflicts across document versions easier.
15719
+ * Advanced version control helps editors identify and resolve divergences
15720
+ * between document versions.
15471
15721
  *
15472
15722
  * @beta
15473
15723
  */
@@ -15900,4 +16150,4 @@ interface ActiveWorkspaceMatcherContextValue {
15900
16150
  activeWorkspace: WorkspaceSummary;
15901
16151
  setActiveWorkspace: (workspaceName: string) => void;
15902
16152
  }
15903
- export { MissingConfigFile as $, isDraft as $C, useOnlyHasVersions as $S, ToolLinkProps as $_, snapshotPair as $a, UnitFormatter as $b, FieldsetState as $c, supportsTouch as $d, DocumentBadgeProps as $f, useWorkspace as $g, UserId as $h, TemplatePermissionsResult as $i, useZIndex as $l, FieldOperationsAPI as $m, UniversalArrayInput as $n, FormBuilderInputComponentMap as $o, MetaInfoProps as $p, FieldPresenceWithOverlay as $r, PortableTextPluginsProps as $s, MutationPatch as $t, Hotkeys as $u, useColorSchemeInternalValue as $v, EditStateFor as $x, CommentUpdatePayload as $y, ComposableOption as A, VersionChip as AC, CommentDisabledIcon as AS, CopyPasteProvider as A_, createDocumentStore as Aa, ImplicitLocaleResourceBundle as Ab, defaultRenderInput as Ac, DEFAULT_ANNOTATIONS as Ad, defaultTheme as Af, useCommentsSelectedPath as Ag, UnpublishDocumentEvent as Ah, useProjectStore as Ai, MixedArrayError as Al, ChangeBreadcrumb as Am, StringInput as An, prepareForPreview as Ao, getValueAtPath as Ap, FormInputRelativePathArg as Ar, PrimitiveInputElementProps as As, DocumentInspectorUseMenuItemProps as At, MediaPreviewProps as Au, SearchOperatorInput as Av, ConnectionStatusStoreOptions as Aw, DocumentField as Ax, CommentsIntentProvider as Ay, DocumentBadgesContext as B, PublishedId as BC, useTrackerStore as BS, FormDiffMatchPatch as B_, InitialValueSuccessMsg as Ba, LocaleWeekInfo as Bb, FormCallbacksValue as Bc, measureFirstMatch as Bd, TasksEnabledContextValue as Bf, CommentInputContextValue as Bg, isUnpublishDocumentEvent as Bh, PresenceStore as Bi, PatchMsgSubscriber as Bl, ArrayDiff$1 as Bm, ObjectInput as Bn, PreviewLoader as Bo, useDocumentChange as Bp, FormFieldSetProps as Br, RenderPreviewCallback as Bs, DocumentFieldActionNode as Bt, PreviewComponent as Bu, SearchOptions as Bv, AuthStoreOptions as Bw, GlobalCopyPasteElementHandler as Bx, CommentListBreadcrumbs as By, ActionComponent as C, PreviewableType as CC, UseDateTimeFormatOptions as CS, uploadSchema as C_, isNewDocument as Ca, useI18nText as Cb, FormProviderProps as Cc, useDocumentVersionInfo as Cd, formatRelativeLocale as Cf, AutoCollapseMenu as Cg, DocumentVersionEventType as Ch, useConnectionStatusStore as Ci, StringFormNode as Cl, TIMELINE_ITEM_I18N_KEY_MAPPING as Cm, UrlInputProps as Cn, WithVersion as Co, ReleasesNav as Cp, FormValueProvider as Cr, InputProps as Cs, ReleaseActionProps as Ct, TemplatePreviewProps as Cu, I18nSearchOperatorDescriptionKey as Cv, CorsOriginError as Cw, SyncState as Cx, WorkspaceLike as Cy, AsyncConfigPropertyReducer as D, ReleaseTitle as DC, useConnectionState as DS, ManifestWorkspaceInput as D_, DocumentStore as Da, removeUndefinedLocaleResources as Db, defaultRenderBlock as Dc, isReleaseDocument as Dd, ReactHook as Df, buildRangeDecorationSelectionsFromComments as Dg, HistoryClearedEvent as Dh, useHistoryStore as Di, IncompatibleTypeError as Dl, ChangeResolverProps as Dm, TelephoneInputProps as Dn, createBufferedDocument as Do, findIndex as Dp, FormRow as Dr, OnPathFocusPayload as Ds, DocumentInspectorComponent as Dt, BlockImagePreview as Du, SearchOperatorBase as Dv, ConnectingStatus as Dw, useReviewChanges as Dx, CommentsSelectedPath as Dy, AsyncComposableOption as E, getVersionInlineBadge as EC, ConnectionState as ES, generateStudioManifest as E_, useDocumentType as Ea, defineLocalesResources as Eb, defaultRenderAnnotation as Ec, VersionInfoDocumentStub as Ed, LoadingTuple as Ef, buildTextSelectionFromFragment as Eg, EventsStoreRevision as Eh, useGrantsStore as Ei, FieldError as El, ChangeResolver as Em, TelephoneInput as En, BufferedDocumentWrapper as Eo, FIXME as Ep, FormCell as Er, OnPasteFn as Es, DocumentInspector as Et, BlockPreview as Eu, OperatorInputComponentProps as Ev, ConnectedStatus as Ew, useSchema as Ex, RouterHistory as Ey, DecisionParametersConfig as F, SelectedPerspective as FC, ChangeIndicatorTrackerContextValue as FS, DocumentMeta as F_, getInitialValueStream as Fa, LocalePluginOptions as Fb, ReferenceInputOptions as Fc, getDocumentIdForCanvasLink as Fd, TasksUpsellContextValue as Ff, CommentsContextValue as Fg, isDeleteDocumentGroupEvent as Fh, createProjectStore as Fi, ALL_FIELDS_GROUP as Fl, getAnnotationColor as Fm, CreateButton as Fn, useValuePreview as Fo, normalizePathSegment as Fp, FormFieldValidationStatus as Fr, RenderArrayOfPrimitivesItemCallback as Fs, DocumentFieldAction as Ft, CompactPreview as Fu, defineSearchOperator as Fv, isAuthStore as Fw, useNumberFormat as Fx, CommentContext as Fy, DocumentLanguageFilterComponent as G, createPublishedFrom as GC, ChangeConnectorRoot as GS, FormPatchBase as G_, emitOperation as Ga, ValidationLocaleResourceKeys as Gb, SetActiveGroupOperation as Gc, LoadableState as Gd, SingleDocReleaseProvider as Gf, CommentsUpsellContextValue as Gg, UserColorManagerOptions as Gh, PresenceLocation as Gi, diffMatchPatch as Gl, Chunk as Gm, EmailInputProps as Gn, isBooleanInputProps as Go, isUnchangedDiff as Gp, PresenceScope as Gr, ObjectItemProps as Gs, DocumentFieldActionsResolverContext as Gt, PreviewCardContextValue as Gu, SearchPopoverProps as Gv, LoginComponentProps as Gw, useFormattedDuration as Gx, CommentReactionItem as Gy, DocumentCommentsEnabledContext as H, VERSION_FOLDER as HC, IsEqualFunction as HS, FormInsertPatch as H_, remoteSnapshots as Ha, LocalesOption as Hb, ExpandFieldSetOperation as Hc, useThrottledCallback as Hd, useScheduledDraftsEnabled as Hf, CommentInputHandle as Hg, isUpdateLiveDocumentEvent as Hh, createPresenceStore as Hi, createPatchChannel as Hl, BooleanDiff$1 as Hm, AssetAccessPolicy as Hn, isArrayOfBlocksInputProps as Ho, isFieldChange as Hp, FormFieldHeaderTextProps as Hr, BaseItemProps as Hs, DocumentFieldActionStatus as Ht, PreviewMediaDimensions as Hu, SearchTerms as Hv, createAuthStore as Hw, FormDocumentValue as Hx, CommentOperations as Hy, DefaultPluginsWorkspaceOptions as I, TargetPerspective as IC, TrackedArea as IS, PasteOptions as I_, InitialValueErrorMsg as Ia, LocaleResourceBundle as Ib, ReferenceInputOptionsProvider as Ic, useNavigateToCanvasDoc as Id, TasksContextValue as If, hasCommentMessageValue as Ig, isDeleteDocumentVersionEvent as Ih, ProjectData as Ii, resolveConditionalProperty as Il, getDiffAtPath as Im, CreateReferenceOption as In, unstable_useObserveDocument as Io, pathToString as Ip, FormFieldValidationStatusProps as Ir, RenderBlockCallback as Is, DocumentFieldActionDivider as It, CompactPreviewProps as Iu, createSearch as Iv, isCookielessCompatibleLoginMethod as Iw, UseManageFavoriteProps as Ix, CommentCreatePayload as Iy, DocumentLayoutProps as J, getIdPair as JC, ChangeIndicator as JS, FormSetIfMissingPatch as J_, Operation as Ja, UserListWithPermissionsHookValue as Jb, UseFormStateOptions as Jc, asLoadable as Jd, createSchema as Jf, useWorkspaceLoader as Jg, useUserColorManager as Jh, UserSessionPair as Ji, prefixPath as Jl, DiffComponent as Jm, DateTimeInputProps as Jn, isObjectItemProps as Jo, ValueError as Jp, PresenceOverlayProps as Jr, BlockDecoratorProps as Js, CookielessCompatibleLoginMethod as Jt, PopoverDialog as Ju, ColorSchemeCustomProvider as Jv, KeyValueStoreValue as Jw, useEditState as Jx, CommentStatus as Jy, DocumentLanguageFilterContext as K, documentIdEquals as KC, ChangeConnectorRootProps as KS, FormPatchJSONValue as K_, operationEvents as Ka, StudioLocaleResourceKeys as Kb, getExpandOperations as Kc, LoadedState as Kd, useSingleDocRelease as Kf, UpsellData as Kg, createUserColorManager as Kh, Session as Ki, inc as Kl, ChunkType as Km, getCalendarLabels as Kn, isNumberInputProps as Ko, noop as Kp, PresenceScopeProps as Kr, PrimitiveItemProps as Ks, AuthConfig as Kt, ReferenceInputPreviewCard as Ku, SearchHeader as Kv, createKeyValueStore as Kw, useFilteredReleases as Kx, CommentReactionOption as Ky, DocumentActionsContext as L, CollatedHit as LC, TrackedChange as LS, SanityClipboardItem as L_, InitialValueLoadingMsg as La, LocaleResourceKey as Lb, TemplateOption as Lc, useCanvasCompanionDoc as Ld, TasksNavigationContextValue as Lf, isTextSelectionComment as Lg, isEditDocumentVersionEvent as Lh, ProjectDatasetData as Li, MutationPatchMsg as Ll, visitDiff as Lm, PortableTextInput as Ln, useUnstableObserveDocument as Lo, pathsAreEqual as Lp, FieldStatusProps as Lr, RenderFieldCallback as Ls, DocumentFieldActionGroup as Lt, GeneralDocumentListLayoutKey as Lu, isPerspectiveRaw as Lv, getProviderTitle as Lw, useManageFavorite as Lx, CommentDocument as Ly, ConfigContext$1 as M, PerspectiveStack as MC, ChangeIndicatorsTracker as MS, BaseOptions as M_, ListenQueryParams as Ma, LocaleConfigContext as Mb, defaultRenderPreview as Mc, ReleaseDocument$1 as Md, LegacyThemeProps as Mf, useCommentsEnabled as Mg, UpdateLiveDocumentEvent as Mh, useUserStore as Mi, UndeclaredMembersError as Ml, useDiffAnnotationColor as Mm, SlugInputProps as Mn, getPreviewStateObservable as Mo, normalizeIndexSegment as Mp, FormFieldValidationError as Mr, StringInputProps as Ms, initialDocumentFieldActions as Mt, DetailPreviewProps as Mu, SearchValueFormatterContext as Mv, RetryingStatus as Mw, useReconnectingToast as Mx, CommentsEnabledProvider as My, ConfigPropertyReducer as N, ReleaseId as NC, useChangeIndicatorsReportedValues as NS, CopyOptions as N_, listenQuery as Na, LocaleDefinition as Nb, EditReferenceLinkComponentProps as Nc, isDocumentLimitError as Nd, LegacyThemeTints as Nf, CommentsEnabledContextValue as Ng, isCreateDocumentVersionEvent as Nh, useProjectDatasets as Ni, FormFieldGroup as Nl, DiffVisitor as Nm, SelectInput as Nn, getPreviewPaths as No, normalizeIndexTupleSegment as Np, FormFieldValidationInfo as Nr, RenderAnnotationCallback as Ns, documentFieldActionsReducer as Nt, DefaultPreview as Nu, ValuelessSearchOperatorBuilder as Nv, createConnectionStatusStore as Nw, useProjectId as Nx, CommentsProvider as Ny, BaseActionDescription as O, ReleaseAvatar as OC, useConditionalToast as OS, StudioManifest as O_, DocumentStoreOptions as Oa, LocaleProvider as Ob, defaultRenderField as Oc, MetadataWrapper as Od, createHookFromObservableFactory as Of, buildCommentRangeDecorations as Og, PublishDocumentVersionEvent as Oh, useKeyValueStore as Oi, InvalidItemTypeError as Ol, ChangeList as Om, TagsArrayInput as On, CommitRequest as Oo, getItemKey as Op, FormInput as Or, PasteData$1 as Os, DocumentInspectorMenuItem as Ot, BlockImagePreviewProps as Ou, SearchOperatorBuilder as Ov, ConnectionStatus as Ow, RelativeTimeOptions as Ox, CommentsSelectedPathContextValue as Oy, DECISION_PARAMETERS_SCHEMA as P, ReleasesNavMenuItemPropsGetter as PC, useChangeIndicatorsReporter as PS, CopyPasteContextType as P_, InitialValueOptions as Pa, LocaleNestedResource as Pb, EditReferenceOptions as Pc, useDocumentLimitsUpsellContext as Pd, useDocumentPreviewValues as Pf, useComments as Pg, isCreateLiveDocumentEvent as Ph, useProject as Pi, ProvenanceDiffAnnotation as Pl, getAnnotationAtPath as Pm, ReferenceAutocomplete as Pn, unstable_useValuePreview as Po, normalizeKeySegment as Pp, FormFieldValidationWarning as Pr, RenderArrayOfObjectsItemCallback as Ps, defineDocumentFieldAction as Pt, DefaultPreviewProps as Pu, ValuelessSearchOperatorParams as Pv, onRetry as Pw, UseNumberFormatOptions as Px, CommentBaseCreatePayload as Py, MediaLibraryConfig as Q, idMatchesPerspective as QC, useVersionOperations as QS, ToolLink as Q_, DocumentVersionSnapshots as Qa, FormattableMeasurementUnit as Qb, FieldsetMembers as Qc, uncaughtErrorHandler as Qd, DocumentBadgeDescription as Qf, WorkspaceProviderProps as Qg, UserColorManager as Qh, TemplatePermissionsOptions as Qi, ZIndexProvider as Ql, FieldChangeNode as Qm, BooleanInput as Qn, FormBuilderFilterFieldFn as Qo, MetaInfo as Qp, FieldPresenceProps as Qr, MarkdownConfig as Qs, encodePath as Qt, InsufficientPermissionsMessageProps as Qu, useColorScheme as Qv, createSanityMediaLibraryImageSource as Qw, useDocumentIdStack as Qx, CommentUpdateOperationOptions as Qy, DocumentActionsResolver as R, DRAFTS_FOLDER as RC, TrackerContextGetSnapshot as RS, PatchEvent as R_, InitialValueMsg as Ra, LocaleResourceRecord as Rb, useReferenceInputOptions as Rc, SANITY_VERSION as Rd, MentionUserContextValue as Rf, COMMENTS_INSPECTOR_NAME as Rg, isPublishDocumentVersionEvent as Rh, ProjectGrants as Ri, PatchChannel as Rl, Annotation as Rm, PortableTextMemberItem as Rn, SanityDefaultPreview as Ro, stringToPath as Rp, FormFieldStatus as Rr, RenderInputCallback as Rs, DocumentFieldActionHook as Rt, GeneralPreviewLayoutKey as Ru, getSearchableTypes as Rv, MockAuthStoreOptions as Rw, UseListFormatOptions as Rx, CommentFieldCreatePayload as Ry, useMiddlewareComponents as S, Previewable as SC, useDialogStack as SS, renderStudio as S_, selectUpstreamVersion as Sa, I18nNode as Sb, FormProvider as Sc, ReleasesUpsellContextValue as Sd, getErrorMessage as Sf, CommonProps as Sg, DocumentGroupEvent as Sh, useComlinkStore as Si, PrimitiveFormNode as Sl, DiffCardProps as Sm, UrlInput as Sn, RemoteSnapshotVersionEvent as So, PerspectiveProvider as Sp, FormValueContextValue as Sr, InputOnSelectFileFunctionProps as Ss, ReleaseActionDescription as St, TemplatePreview as Su, operatorDefinitions as Sv, BetaBadgeProps as Sw, TypeTarget as Sx, getWorkspaceIdentifier as Sy, AssetSourceResolver as T, VersionInlineBadge as TC, useDataset as TS, GenerateStudioManifestOptions as T_, DocumentTypeResolveState as Ta, defineLocaleResourceBundle as Tb, FormBuilderProps as Tc, useActiveReleases as Td, EMPTY_OBJECT as Tf, CollapseMenuProps as Tg, EventsStore as Th, useDocumentStore as Ti, DuplicateKeysError as Tl, ChangesError as Tm, TextInputProps as Tn, BufferedDocumentEvent as To, isPerspectiveWriteable as Tp, FormContainer as Tr, ObjectInputProps as Ts, FormComponents as Tt, InlinePreviewProps as Tu, OperatorButtonValueComponentProps as Tv, CONNECTING as Tw, useStudioUrl as Tx, ActiveWorkspaceMatcherProps as Ty, DocumentInspectorContext as U, collate as UC, Reported as US, FormInsertPatchPosition as U_, OperationError as Ua, StaticLocaleResourceBundle as Ub, ExpandOperation as Uc, userHasRole as Ud, useScheduledDraftDocument as Uf, CommentInputProps as Ug, UserColorManagerProvider as Uh, DocumentPresence as Ui, SANITY_PATCH_TYPE as Ul, ChangeNode as Um, ImageUrlBuilder$1 as Un, isArrayOfObjectsInputProps as Uo, isGroupChange as Up, FormField as Ur, ItemProps as Us, DocumentFieldActionTone as Ut, PreviewProps as Uu, SearchResultItemPreview as Uv, AuthState as Uw, FormattedDuration as Ux, CommentPath as Uy, DocumentBadgesResolver as V, SystemBundle as VC, useTrackerStoreReporter as VS, FormIncPatch as V_, validation$1 as Va, LocalesBundlesOption as Vb, useFormCallbacks as Vc, useUnique as Vd, DEFAULT_STUDIO_CLIENT_OPTIONS as Vf, CommentInput as Vg, isUnscheduleDocumentVersionEvent as Vh, SESSION_ID as Vi, RebasePatchMsg as Vl, ArrayItemMetadata as Vm, NumberInput as Vn, Preview as Vo, isAddedItemDiff as Vp, FormFieldHeaderText as Vr, RenderPreviewCallbackProps as Vs, DocumentFieldActionProps as Vt, PreviewLayoutKey as Vu, SearchSort as Vv, _createAuthStore as Vw, useGlobalCopyPasteElementHandler as Vx, CommentMessage as Vy, DocumentInspectorsResolver as W, createDraftFrom as WC, ReporterHook as WS, FormPatch as W_, OperationSuccess as Wa, TFunction$1 as Wb, ExpandPathOperation as Wc, ErrorState as Wd, usePausedScheduledDraft as Wf, CommentsList as Wg, UserColorManagerProviderProps as Wh, GlobalPresence as Wi, dec as Wl, ChangeTitlePath as Wm, EmailInput as Wn, isArrayOfPrimitivesInputProps as Wo, isRemovedItemDiff as Wp, FormFieldProps as Wr, ObjectItem as Ws, DocumentFieldActionsResolver as Wt, PreviewCard as Wu, SearchPopover as Wv, AuthStore as Ww, UseFormattedDurationOptions as Wx, CommentPostPayload as Wy, FormBuilderComponentResolverContext as X, getVersionFromId as XC, ChangeFieldWrapper as XS, FormUnsetPatch as X_, OperationImpl as Xa, UserWithPermission as Xb, setAtPath as Xc, sliceString as Xd, ScheduledBadge as Xf, ErrorMessageProps as Xg, UserColor as Xh, UserStoreOptions as Xi, setIfMissing as Xl, DiffComponentResolver as Xm, DateInputProps as Xn, ArrayInputFunctionsProps as Xo, RevertChangesButton as Xp, FieldPresenceInner as Xr, BlockProps as Xs, TransformPatches as Xt, IntentButton as Xu, ColorSchemeProvider as Xv, EditPortal as Xw, useDocumentOperation as Xx, CommentTextSelection as Xy, DocumentPluginOptions as Y, getPublishedId as YC, ChangeIndicatorProps as YS, FormSetPatch as Y_, OperationArgs as Ya, UserListWithPermissionsOptions as Yb, useFormState as Yc, useLoadable as Yd, SchedulesContext as Yf, ErrorMessage as Yg, HexColor as Yh, UserStore as Yi, set as Yl, DiffComponentOptions as Ym, DateInput as Yn, isStringInputProps as Yo, RevertChangesConfirmDialog as Yp, FieldPresence as Yr, BlockListItemProps as Ys, LoginMethod as Yt, LoadingBlock as Yu, ColorSchemeLocalStorageProvider as Yv, EnhancedObjectDialog as Yw, useDocumentOperationEvent as Yx, CommentTaskCreatePayload as Yy, GroupableActionDescription as Z, getVersionId as ZC, sortReleases as ZS, PatchArg as Z_, OperationsAPI as Za, useUserListWithPermissions as Zb, StateTree as Zc, truncateString as Zd, DocumentBadgeComponent as Zf, WorkspaceProvider as Zg, UserColorHue as Zh, createUserStore as Zi, unset as Zl, DiffProps as Zm, CrossDatasetReferencePreview as Zn, FormBuilderCustomMarkersComponent as Zo, NoChanges as Zp, FieldPresenceInnerProps as Zr, BlockStyleProps as Zs, decodePath as Zt, InsufficientPermissionsMessage as Zu, ColorSchemeProviderProps as Zv, createSanityMediaLibraryFileSource as Zw, DocumentIdStack as Zx, CommentThreadItem as Zy, createDefaultIcon as _, ObserveDocumentAvailabilityFn as _C, DocumentRebaseEvent as _S, Studio as __, GrantsStore as _a, UseTranslationResponse as _b, UploaderResolver as _c, getReleaseTone as _d, isRecord as _f, ScrollContainer as _g, BaseEvent as _h, ResourceCacheProvider as _i, NodeDiffProps as _l, FieldPreviewComponent as _m, MemberItemProps as _n, Transaction as _o, EditScheduleForm as _p, FieldActionsProvider as _r, ArrayOfPrimitivesInputProps as _s, Tool as _t, Resizable as _u, SearchContextValue as _v, CommandListHandle as _w, TemplateArrayFieldDefinition as _x, validateBasePaths as _y, resolveSchemaTypes as a, ObserveForPreviewFn as aC, ListenerEvent as aS, UpsellDialogViewed as a_, grantsPermissionOn as aa, CommentsAuthoringPathContextValue as ab, useEnhancedObjectDialog as ac, ErrorActionsProps as ad, _isType as af, isSanityCreateLinkedDocument as ag, ObjectDiff$1 as ah, Rect as ai, FieldMember as al, FieldChange as am, ObjectMembers as an, HistoryStore as ao, DocumentActionConfirmDialogProps as ap, VirtualizerScrollInstanceProvider as ar, ArrayFieldProps as as, PluginOptions as at, ZIndexContextValueKey as au, NavbarAction as av, newDraftFrom as aw, useTemplates as ax, StudioThemeColorSchemeKey as ay, ConfigPropertyError as b, PreparedSnapshot as bC, RemoteSnapshotEvent as bS, SourceProviderProps as b_, useInitialValue as ba, useLocale as bb, StudioCrossDatasetReferenceInput as bc, PUBLISHED as bd, globalScope as bf, CollapseMenuButton as bg, DeleteDocumentGroupEvent as bh, useGlobalPresence as bi, ObjectFormNode as bl, DiffErrorBoundaryState as bm, ArrayOfObjectsInputMember as bn, MutationResult as bo, useGetDefaultPerspective as bp, GetFormValueProvider as br, ComplexElementProps as bs, WorkspaceSummary as bt, LinearProgress as bu, defineSearchFilterOperators as bv, CommandListRenderItemCallback as bw, TemplateParameter as bx, useWorkspaces as by, createWorkspaceFromConfig as c, AvailabilityReason as cC, MutationEvent as cS, StudioProviderProps as c_, useDocumentValuePermissions as ca, useValidationStatus as cb, FileInputProps as cc, DocumentStatus as cd, createSharedResizeObserver as cf, useSanityCreateConfig as cg, StringDiffSegment as ch, Size as ci, ObjectMember as cl, DiffTooltip as cm, ObjectInputMemberProps as cn, removeMissingReferences as co, DocumentActionDialogProps as cp, ArrayOfObjectsInput as cr, BooleanFieldProps as cs, ResolveProductionUrlContext as ct, ToastParams$1 as cu, StudioComponentsPluginOptions as cv, Chip as cw, isBuilder as cx, AddonDatasetProvider as cy, flattenConfig as d, DocumentStackAvailability as dC, ResetEvent as dS, StudioLayoutComponent as d_, getDocumentPairPermissions as da, Translate as db, FileLike as dc, isDraftPerspective as dd, isCardinalityOnePerspective as df, CreateLinkedDocumentBannerContentProps as dg, TypeChangeDiff$1 as dh, useCurrentUser as di, BaseFormNode as dl, DiffString as dm, MemberField as dn, TimelineControllerOptions as do, DocumentActionPopoverDialogProps as dp, FormBuilderContextValue as dr, NumberFieldProps as ds, SchemaPluginOptions as dt, TextWithToneProps as du, SearchDialog as dv, ContextMenuButton as dw, resolveInitialValueForType as dx, MatchWorkspaceResult as dy, useIsReleaseActive as eC, editState$1 as eS, InterpolationProp as e_, getTemplatePermissions as ea, CommentsListBreadcrumbItem as eb, ArrayInputCopyEvent as ec, HotkeysProps$1 as ed, escapeField as ef, isDev as eg, FromToIndex as eh, FieldPresenceData as ei, ArrayOfObjectsItemMember as el, GroupChange as em, fromMutationPatches as en, useTimelineSelector as eo, GetHookCollectionState as ep, ArrayOfPrimitivesInput as er, FormBuilderMarkersComponent as es, NewDocumentCreationContext as et, WithReferringDocuments as eu, StudioToolMenu as ev, isDraftId as ew, UseUnitFormatterOptions as ex, useColorSchemeOptions as ey, PluginFactory as f, DraftsModelDocument as fC, WelcomeBackEvent as fS, isValidAnnouncementAudience as f_, useDocumentPairPermissions as fa, TranslateComponentMap as fb, ResolvedUploader as fc, isPublishedPerspective as fd, isCardinalityOneRelease as ff, CreateLinkedSanityDocument as fg, FieldValueError as fh, useUser as fi, BooleanFormNode as fl, DiffStringSegment as fm, MemberFieldProps as fn, ParsedTimeRef as fo, DocumentActionProps as fp, useHoveredField as fr, ObjectFieldProps as fs, SingleWorkspace as ft, StatusButton as fu, SearchButton as fv, CommandList as fw, defaultTemplateForType as fx, matchWorkspace as fy, defineConfig as g, InvalidationChannelEvent as gC, DocumentMutationEvent as gS, StudioAnnouncementsCard as g_, Grant as ga, UseTranslationOptions as gb, UploaderDef as gc, isGoingToUnpublish as gd, isString as gf, ScrollEventHandler as gg, useEvents as gh, ResourceCache as gi, NodeChronologyProps as gl, DiffFromToProps as gm, ArrayOfObjectsItem as gn, DocumentRemoteMutationVersionEvent as go, SchedulesContextValue as gp, FieldActionsResolver as gr, ArrayOfPrimitivesElementType as gs, TemplateResolver as gt, RovingFocusProps as gu, SearchProvider as gv, CommandListGetItemSelectedCallback as gw, Template as gx, ValidateWorkspaceOptions as gy, createConfig as h, Id as hC, CommittedEvent as hS, StudioAnnouncementsContextValue as h_, EvaluationParams as ha, usEnglishLocale as hb, Uploader as hc, isReleasePerspective as hd, isTruthy as hf, ScrollContextValue as hg, EventsProvider as hh, isAgentBundleName as hi, HiddenField as hl, DiffFromTo as hm, PrimitiveMemberItemProps as hn, CombinedDocument as ho, isSanityDefinedAction as hp, FieldActionsProps as hr, ArrayOfObjectsInputProps as hs, SourceOptions as ht, RovingFocusNavigationType as hu, useSearchState as hv, CommandListGetItemKeyCallback as hw, InitialValueTemplateItem as hx, WorkspacesContextValue as hy, SchemaError as i, DocumentPreviewStoreOptions as iC, LatencyReportEvent as iS, UpsellDialogUpgradeCtaClicked as i_, createGrantsStore as ia, Loadable as ib, EnhancedObjectDialogContextValue as ic, ErrorActions as id, _isSanityDocumentTypeDefinition as if, isSanityCreateLinked as ig, NumberDiff$1 as ih, PresentUser as ii, DecorationMember as il, FromToProps as im, ObjectInputMembers as in, DocumentRevision as io, DocumentActionComponent as ip, ArrayOfObjectOptionsInput as ir, RenderCustomMarkers as is, Plugin as it, LegacyLayerProvider as iu, LogoProps as iv, isVersionId as iw, useTimeAgo as ix, StudioTheme as iy, Config as j, PerspectiveContextValue as jC, CommentDeleteDialog as jS, useCopyPaste as j_, ListenQueryOptions as ja, Locale as jb, defaultRenderItem as jc, DEFAULT_DECORATORS as jd, buildLegacyTheme as jf, CommentsOnboardingContextValue as jg, UnscheduleDocumentVersionEvent as jh, useRenderingContextStore as ji, TypeAnnotationMismatchError as jl, useAnnotationColor as jm, SlugInput as jn, getPreviewValueWithFallback as jo, isEmptyObject as jp, FormFieldValidation as jr, PrimitiveInputProps as js, defineDocumentInspector as jt, DetailPreview as ju, SearchOperatorParams as jv, ErrorStatus as jw, useReferringDocuments as jx, CommentsIntentProviderProps as jy, BetaFeatures as k, ReleaseAvatarIcon as kC, useClient as kS, StudioWorkspaceManifest as k_, QueryParams$1 as ka, LocaleProviderBase as kb, defaultRenderInlineBlock as kc, RELEASES_INTENT as kd, catchWithCount as kf, useCommentsTelemetry as kg, ScheduleDocumentVersionEvent as kh, usePresenceStore as ki, MissingKeysError as kl, ChangeListProps as km, TagsArrayInputProps as kn, createObservableBufferedDocument as ko, getItemKeySegment as kp, FormInputAbsolutePathArg as kr, PortableTextInputProps as ks, DocumentInspectorProps as kt, MediaPreview as ku, SearchOperatorButtonValue as kv, ConnectionStatusStore as kw, useRelativeTime as kx, CommentsSelectedPathProvider as ky, resolveConfig as l, AvailabilityResponse as lC, PendingMutationsEvent as lS, NavbarContextValue as l_, DocumentPairPermissionsOptions as la, ValidateDocumentOptions as lb, StudioFileInput as lc, formatRelativeLocalePublishDate as ld, resizeObserver as lf, CreateLinkMetadata as lg, StringSegmentChanged$1 as lh, DocumentPreviewPresence as li, ArrayOfObjectsFormNode as ll, DiffTooltipProps as lm, MemberFieldSet as ln, SelectionState as lo, DocumentActionGroup as lp, ArrayOfObjectsFunctions as lr, FieldCommentsProps as ls, SanityFormConfig as lt, TooltipOfDisabled as lu, ToolMenuProps as lv, DocumentVariantType as lw, resolveInitialObjectValue as lx, useActiveWorkspace as ly, definePlugin as m, FieldName as mC, CommitFunction as mS, StudioAnnouncementsDialog as m_, DocumentValuePermission as ma, defaultLocale as mb, UploadProgressEvent as mc, RELEASES_STUDIO_CLIENT_OPTIONS as md, PartialExcept as mf, SanityCreateConfigProvider as mg, useEventsStore as mh, useAgentVersionDisplay as mi, DocumentFormNode as ml, DiffInspectWrapperProps as mm, ArrayOfPrimitivesItem as mn, TimelineOptions as mo, DuplicateDocumentActionComponent as mp, useFieldActions as mr, StringFieldProps as ms, SourceClientOptions as mt, useRovingFocus as mu, useSearchMaxFieldDepth as mv, CommandListGetItemDisabledCallback as mw, prepareTemplates as mx, WorkspacesProviderProps as my, getConfigContextFromSource as n, useDocumentVersions as nC, DocumentStoreExtraOptions as nS, UpsellDialogDismissed as n_, useTemplatePermissionsFromHookFactory as na, CommentsType as nb, ArrayInputMoveItemEvent as nc, useCopyErrorDetails as nd, joinPath as nf, getSanityCreateLinkMetadata as ng, ItemDiff$1 as nh, Location as ni, ArrayOfPrimitivesItemMember as nl, FromToArrowDirection as nm, useFormBuilder as nn, TimelineStore as no, HookCollectionActionHook as np, ArrayOfPrimitiveOptionsInput as nr, RenderBlockActionsCallback as ns, NewDocumentOptionsResolver as nt, UserAvatar as nu, ActiveToolLayoutProps as nv, isSystemBundle as nw, useTools as nx, useColorSchemeValue as ny, CreateWorkspaceFromConfigOptions as o, createDocumentPreviewStore as oC, getPairListener as oS, UpsellDialogViewedInfo as o_, DocumentValuePermissionsOptions as oa, CommentsAuthoringPathProvider as ob, ImageInputProps as oc, DocumentStatusIndicator as od, createSWR as of, isSanityCreateStartCompatibleDoc as og, ReferenceDiff as oh, RegionWithIntersectionDetails as oi, FieldSetMember as ol, FallbackDiff as om, ObjectMembersProps as on, HistoryStoreOptions as oo, DocumentActionCustomDialogComponentProps as op, VirtualizerScrollInstance as or, ArrayOfPrimitivesFieldProps as os, PreparedConfig as ot, ZIndexContextValue as ou, NavbarProps as ov, removeDupes as ow, DEFAULT_MAX_RECURSION_DEPTH as ox, useAddonDataset as oy, createPlugin as p, DraftsModelDocumentAvailability as pC, WelcomeEvent as pS, isValidAnnouncementRole as p_, useDocumentPairPermissionsFromHookFactory as pa, TranslationProps as pb, UploadOptions as pc, isReleaseScheduledOrScheduling as pd, isPausedCardinalityOneRelease as pf, AppIdCache as pg, getValueError as ph, AgentVersionDisplay as pi, ComputeDiff as pl, DiffInspectWrapper as pm, MemberItemError as pn, Timeline as po, DuplicateActionProps as pp, HoveredFieldProvider as pr, PrimitiveFieldProps as ps, Source as pt, StatusButtonProps as pu, PartialIndexSettings as pv, CommandListElementType as pw, defaultTemplatesForSchema as px, WorkspacesProvider as py, DocumentLanguageFilterResolver as q, getDraftId as qC, ConnectorContextValue as qS, FormPatchOrigin as q_, MapDocument as qa, Rule as qb, FormState as qc, LoadingState as qd, getSchemaTypeTitle as qf, WorkspaceLoaderBoundary as qg, useUserColor as qh, Status as qi, insert as ql, Diff$1 as qm, DateTimeInput as qn, isObjectInputProps as qo, DocumentChangeContextInstance as qp, PresenceOverlay as qr, BlockAnnotationProps as qs, AuthProvider as qt, usePreviewCard as qu, Filters as qv, KeyValueStore as qw, useFeatureEnabled as qx, CommentReactionShortNames as qy, useConfigContextFromSource as r, DocumentPreviewStore as rC, InitialSnapshotEvent as rS, UpsellDialogLearnMoreCtaClicked as r_, GrantsStoreOptions as ra, CommentsUIMode as rb, UploadEvent as rc, ErrorWithId as rd, _isCustomDocumentTypeDefinition as rf, isSanityCreateExcludedType as rg, NullDiff$1 as rh, Position as ri, ArrayOfPrimitivesMember as rl, FromTo as rm, useDocumentForm as rn, useTimelineStore as ro, useScheduleAction as rp, ArrayOfOptionsInput as rr, RenderBlockActionsProps as rs, PartialContext as rt, UserAvatarProps as ru, LayoutProps as rv, isSystemBundleName as rw, TimeAgoOpts as rx, StudioColorScheme as ry, createSourceFromConfig as s, ApiConfig as sC, IdPair as sS, StudioProvider as s_, getDocumentValuePermissions as sa, useWorkspaceSchemaId as sb, StudioImageInput as sc, CapabilityGate as sd, SharedResizeObserver as sf, SanityCreateConfigContextValue as sg, StringDiff$1 as sh, ReportedRegionWithRect as si, FieldsetRenderMembersCallback as sl, Event$1 as sm, ObjectInputMember as sn, createHistoryStore as so, DocumentActionDescription as sp, useVirtualizerScrollInstance as sr, BaseFieldProps as ss, ReleaseActionsResolver as st, ImperativeToast as su, StudioComponents as sv, systemBundles as sw, Serializeable as sx, AddonDatasetContextValue as sy, ActiveWorkspaceMatcherContextValue as t, useDocumentVersionTypeSortedList as tC, DocumentPairLoadedEvent as tS, UpsellDescriptionSerializer as t_, useTemplatePermissions as ta, CommentsTextSelectionItem as tb, ArrayInputInsertEvent as tc, serializeError as td, fieldNeedsEscape as tf, isProd as tg, GroupChangeNode as th, FormNodePresence as ti, ArrayOfObjectsMember as tl, FromToArrow as tm, toMutationPatches as tn, TimelineState as to, GetHookCollectionStateProps as tp, ArrayOfPrimitivesFunctions as tr, PortableTextMarker as ts, NewDocumentOptionsContext as tt, AvatarSkeleton as tu, StudioNavbar as tv, isPublishedId as tw, useUnitFormatter as tx, useColorSchemeSetValue as ty, prepareConfig as u, DocumentAvailability as uC, ReconnectEvent as uS, StudioLayout as u_, DocumentPermission as ua, validateDocument as ub, AssetSourcesResolver as uc, getDocumentIsInPerspective as ud, CardinalityOneRelease as uf, CreateLinkedActionsProps as ug, StringSegmentUnchanged$1 as uh, DocumentPreviewPresenceProps as ui, ArrayOfPrimitivesFormNode as ul, DiffTooltipWithAnnotationsProps as um, MemberFieldError as un, TimelineController as uo, DocumentActionModalDialogProps as up, useDidUpdate as ur, FieldProps as us, ScheduledPublishingPluginOptions as ut, TextWithTone as uu, StudioLogo as uv, getDocumentVariantType as uw, resolveInitialValue as ux, MatchWorkspaceOptions as uy, ConfigResolutionError as v, ObserveDocumentTypeFromIdFn as vC, DocumentRemoteMutationEvent as vS, StudioProps as v_, PermissionCheckResult as va, useTranslation as vb, StudioReferenceInput as vc, getReleaseIdFromReleaseDocumentId as vd, isNonNullable as vf, ScrollContainerProps as vg, CreateDocumentVersionEvent as vh, ResourceCacheProviderProps as vi, NumberFormNode as vl, DiffErrorBoundary as vm, ArrayOfObjectsInputMembers as vn, DocumentVersion as vo, useSetPerspective as vp, FieldActionMenu as vr, BaseInputProps as vs, Workspace as vt, RelativeTime as vu, SearchFilterDefinition as vv, CommandListItemContext as vw, TemplateFieldDefinition as vx, validateNames as vy, AppsOptions as w, Selection as wC, useDateTimeFormat as wS, LiveManifestRegisterProvider as w_, useDocumentValues as wa, defineLocale as wb, FormBuilder as wc, useArchivedReleases as wd, EMPTY_ARRAY as wf, CollapseMenu as wg, EditDocumentVersionEvent as wh, useDocumentPreviewStore as wi, ArrayItemError as wl, ChangeTitleSegment as wm, TextInput as wn, checkoutPair as wo, PerspectiveNotWriteableReason as wp, useFormValue as wr, NumberInputProps as ws, ReleaseActionsContext as wt, InlinePreview as wu, I18nSearchOperatorNameKey as wv, CorsOriginErrorOptions as ww, useSyncState as wx, ActiveWorkspaceMatcher as wy, ConfigPropertyErrorOptions as x, PreviewPath as xC, SnapshotEvent as xS, useSource as x_, useInitialValueResolverContext as xa, useGetI18nText as xb, StudioCrossDatasetReferenceInputProps as xc, useReleasesIds as xd, getReferencePaths as xf, CollapseMenuButtonProps as xg, DeleteDocumentVersionEvent as xh, useDocumentPresence as xi, ObjectRenderMembersCallback as xl, DiffCard as xm, ArrayOfObjectsMemberProps as xn, Pair as xo, useExcludedPerspective as xp, useGetFormValue as xr, EditorChange as xs, ReleaseActionComponent as xt, CircularProgress as xu, SearchOperatorType as xv, BetaBadge as xw, TemplateReferenceTarget as xx, getNamelessWorkspaceIdentifier as xy, ConfigResolutionErrorOptions as y, ObservePathsFn as yC, MutationPayload as yS, SourceProvider as y_, useResolveInitialValueForType as ya, useCurrentLocale as yb, StudioReferenceInputProps as yc, LATEST as yd, isArray as yf, useOnScroll as yg, CreateLiveDocumentEvent as yh, useResourceCache as yi, ObjectArrayFormNode as yl, DiffErrorBoundaryProps as ym, ArrayOfObjectsInputMembersProps as yn, DocumentVersionEvent as yo, usePerspective as yp, FieldActionMenuProps as yr, BooleanInputProps as ys, WorkspaceOptions as yt, RelativeTimeProps as yu, defineSearchFilter as yv, CommandListProps as yw, TemplateItem as yx, validateWorkspaces as yy, DocumentActionsVersionType as z, DraftId as zC, TrackerContextStore as zS, FormDecPatch as z_, InitialValueState as za, LocaleSource as zb, FormCallbacksProvider as zc, measureFirstEmission as zd, IsLastPaneProvider as zf, CommentInlineHighlightSpan as zg, isScheduleDocumentVersionEvent as zh, ProjectStore as zi, PatchMsg as zl, AnnotationDetails as zm, UpdateReadOnlyPlugin as zn, SanityDefaultPreviewProps as zo, resolveDiffComponent as zp, FormFieldSet as zr, RenderItemCallback as zs, DocumentFieldActionItem as zt, PortableTextPreviewLayoutKey as zu, SearchFactoryOptions as zv, createMockAuthStore as zw, useListFormat as zx, CommentIntentGetter as zy };
16153
+ export { MissingConfigFile as $, getIdPair as $C, ChangeIndicator as $S, FormSetIfMissingPatch as $_, OperationsAPI as $a, UserListWithPermissionsHookValue as $b, inc as $c, useLoadable as $d, SchedulesContext as $f, useWorkspaceLoader as $g, useUserColorManager as $h, createUserStore as $i, ReferenceInputPreviewCard as $l, DiffComponent as $m, UniversalArrayInput as $n, FormBuilderCustomMarkersComponent as $o, ValueError as $p, FieldPresenceInnerProps as $r, BlockStyleProps as $s, MutationPatch as $t, StateTree as $u, ColorSchemeCustomProvider as $v, KeyValueStoreValue as $w, useEditState as $x, CommentStatus as $y, ComposableOption as A, VersionInlineBadge as AC, useDataset as AS, GenerateStudioManifestOptions as A_, DocumentStoreOptions as Aa, defineLocaleResourceBundle as Ab, defaultRenderField as Ac, InvalidItemTypeError as Ad, LoadingTuple as Af, CollapseMenuProps as Ag, EventsStore as Ah, useKeyValueStore as Ai, TemplatePreviewProps as Al, ChangesError as Am, StringInput as An, CommitRequest as Ao, FIXME as Ap, FormInput as Ar, PasteData$1 as As, DocumentInspectorUseMenuItemProps as At, useDocumentVersionInfo as Au, OperatorButtonValueComponentProps as Av, CONNECTING as Aw, useStudioUrl as Ax, ActiveWorkspaceMatcherProps as Ay, DocumentBadgesContext as B, SelectedPerspective as BC, ChangeIndicatorTrackerContextValue as BS, DocumentMeta as B_, InitialValueMsg as Ba, LocalePluginOptions as Bb, useReferenceInputOptions as Bc, useNavigateToCanvasDoc as Bd, TasksContextValue as Bf, CommentsContextValue as Bg, isDeleteDocumentGroupEvent as Bh, ProjectGrants as Bi, DefaultPreview as Bl, getAnnotationColor as Bm, ObjectInput as Bn, SanityDefaultPreview as Bo, pathToString as Bp, FormFieldStatus as Br, RenderInputCallback as Bs, DocumentFieldActionNode as Bt, isDocumentLimitError as Bu, defineSearchOperator as Bv, isAuthStore as Bw, useNumberFormat as Bx, CommentContext as By, ActionComponent as C, ObserveDocumentTypeFromIdFn as CC, DocumentRemoteMutationEvent as CS, StudioProps as C_, useInitialValueResolverContext as Ca, useTranslation as Cb, StudioCrossDatasetReferenceInputProps as Cc, ObjectRenderMembersCallback as Cd, isArray as Cf, ScrollContainerProps as Cg, CreateDocumentVersionEvent as Ch, useDocumentPresence as Ci, RovingFocusProps as Cl, DiffErrorBoundary as Cm, UrlInputProps as Cn, Pair as Co, usePerspective as Cp, FormValueProvider as Cr, EditorChange as Cs, ReleaseActionProps as Ct, isGoingToUnpublish as Cu, SearchFilterDefinition as Cv, CommandListItemContext as Cw, TemplateFieldDefinition as Cx, validateNames as Cy, AsyncConfigPropertyReducer as D, Previewable as DC, useDialogStack as DS, renderStudio as D_, DocumentTypeResolveState as Da, I18nNode as Db, FormBuilderProps as Dc, DuplicateKeysError as Dd, formatRelativeLocale as Df, CommonProps as Dg, DocumentGroupEvent as Dh, useDocumentStore as Di, LinearProgress as Dl, DiffCardProps as Dm, TelephoneInputProps as Dn, BufferedDocumentEvent as Do, ReleasesNav as Dp, FormContainer as Dr, ObjectInputProps as Ds, DocumentInspectorComponent as Dt, PUBLISHED as Du, operatorDefinitions as Dv, BetaBadgeProps as Dw, TypeTarget as Dx, getWorkspaceIdentifier as Dy, AsyncComposableOption as E, PreviewPath as EC, SnapshotEvent as ES, useSource as E_, useDocumentValues as Ea, useGetI18nText as Eb, FormBuilder as Ec, ArrayItemError as Ed, getErrorMessage as Ef, CollapseMenuButtonProps as Eg, DeleteDocumentVersionEvent as Eh, useDocumentPreviewStore as Ei, RelativeTimeProps as El, DiffCard as Em, TelephoneInput as En, checkoutPair as Eo, PerspectiveProvider as Ep, useDocumentDivergences as Er, NumberInputProps as Es, DocumentInspector as Et, LATEST as Eu, SearchOperatorType as Ev, BetaBadge as Ew, TemplateReferenceTarget as Ex, getNamelessWorkspaceIdentifier as Ey, DecisionParametersConfig as F, VersionChip as FC, CommentDisabledIcon as FS, CopyPasteProvider as F_, listenQuery as Fa, ImplicitLocaleResourceBundle as Fb, EditReferenceLinkComponentProps as Fc, FormFieldGroup as Fd, buildLegacyTheme as Ff, useCommentsSelectedPath as Fg, UnpublishDocumentEvent as Fh, useProjectDatasets as Fi, BlockImagePreviewProps as Fl, ChangeBreadcrumb as Fm, CreateButton as Fn, getPreviewPaths as Fo, isEmptyObject as Fp, FormFieldValidationInfo as Fr, RenderAnnotationCallback as Fs, DocumentFieldAction as Ft, MetadataWrapper as Fu, SearchOperatorInput as Fv, ConnectionStatusStoreOptions as Fw, DocumentField as Fx, CommentsIntentProvider as Fy, DocumentLanguageFilterComponent as G, PublishedId as GC, useTrackerStore as GS, FormDiffMatchPatch as G_, OperationError as Ga, LocaleWeekInfo as Gb, PatchChannel as Gc, useUnique as Gd, DEFAULT_STUDIO_CLIENT_OPTIONS as Gf, CommentInputContextValue as Gg, isUnpublishDocumentEvent as Gh, DocumentPresence as Gi, GeneralPreviewLayoutKey as Gl, ArrayDiff$1 as Gm, EmailInputProps as Gn, isArrayOfObjectsInputProps as Go, emptyValuesByType as Gp, FormField as Gr, ItemProps as Gs, DocumentFieldActionsResolverContext as Gt, ExpandOperation as Gu, SearchOptions as Gv, AuthStoreOptions as Gw, GlobalCopyPasteElementHandler as Gx, CommentListBreadcrumbs as Gy, DocumentCommentsEnabledContext as H, CollatedHit as HC, TrackedChange as HS, SanityClipboardItem as H_, InitialValueSuccessMsg as Ha, LocaleResourceKey as Hb, FormCallbacksValue as Hc, SANITY_VERSION as Hd, MentionUserContextValue as Hf, isTextSelectionComment as Hg, isEditDocumentVersionEvent as Hh, PresenceStore as Hi, CompactPreview as Hl, visitDiff as Hm, AssetAccessPolicy as Hn, PreviewLoader as Ho, stringToPath as Hp, FormFieldSetProps as Hr, RenderPreviewCallback as Hs, DocumentFieldActionStatus as Ht, DivergenceNavigator as Hu, isPerspectiveRaw as Hv, getProviderTitle as Hw, useManageFavorite as Hx, CommentDocument as Hy, DefaultPluginsWorkspaceOptions as I, PerspectiveContextValue as IC, CommentDeleteDialog as IS, useCopyPaste as I_, InitialValueOptions as Ia, Locale as Ib, EditReferenceOptions as Ic, ProvenanceDiffAnnotation as Id, LegacyThemeProps as If, CommentsOnboardingContextValue as Ig, UnscheduleDocumentVersionEvent as Ih, useProject as Ii, MediaPreview as Il, useAnnotationColor as Im, CreateReferenceOption as In, unstable_useValuePreview as Io, normalizeIndexSegment as Ip, FormFieldValidationWarning as Ir, RenderArrayOfObjectsItemCallback as Is, DocumentFieldActionDivider as It, RELEASES_INTENT as Iu, SearchOperatorParams as Iv, ErrorStatus as Iw, useReferringDocuments as Ix, CommentsIntentProviderProps as Iy, DocumentLayoutProps as J, collate as JC, Reported as JS, FormInsertPatchPosition as J_, operationEvents as Ja, StaticLocaleResourceBundle as Jb, RebasePatchMsg as Jc, ErrorState as Jd, usePausedScheduledDraft as Jf, CommentInputProps as Jg, UserColorManagerProvider as Jh, Session as Ji, PreviewLayoutKey as Jl, ChangeNode as Jm, DateTimeInputProps as Jn, isNumberInputProps as Jo, isGroupChange as Jp, PresenceScopeProps as Jr, PrimitiveItemProps as Js, CookielessCompatibleLoginMethod as Jt, getExpandOperations as Ju, SearchResultItemPreview as Jv, AuthState as Jw, FormattedDuration as Jx, CommentPath as Jy, DocumentLanguageFilterContext as K, SystemBundle as KC, useTrackerStoreReporter as KS, FormIncPatch as K_, OperationSuccess as Ka, LocalesBundlesOption as Kb, PatchMsg as Kc, useThrottledCallback as Kd, useScheduledDraftsEnabled as Kf, CommentInput as Kg, isUnscheduleDocumentVersionEvent as Kh, GlobalPresence as Ki, PortableTextPreviewLayoutKey as Kl, ArrayItemMetadata as Km, getCalendarLabels as Kn, isArrayOfPrimitivesInputProps as Ko, isAddedItemDiff as Kp, FormFieldProps as Kr, ObjectItem as Ks, AuthConfig as Kt, ExpandPathOperation as Ku, SearchSort as Kv, _createAuthStore as Kw, useGlobalCopyPasteElementHandler as Kx, CommentMessage as Ky, DocumentActionsContext as L, PerspectiveStack as LC, ChangeIndicatorsTracker as LS, BaseOptions as L_, getInitialValueStream as La, LocaleConfigContext as Lb, ReferenceInputOptions as Lc, ALL_FIELDS_GROUP as Ld, LegacyThemeTints as Lf, useCommentsEnabled as Lg, UpdateLiveDocumentEvent as Lh, createProjectStore as Li, MediaPreviewProps as Ll, useDiffAnnotationColor as Lm, PortableTextInput as Ln, useValuePreview as Lo, normalizeIndexTupleSegment as Lp, FormFieldValidationStatus as Lr, RenderArrayOfPrimitivesItemCallback as Ls, DocumentFieldActionGroup as Lt, DEFAULT_ANNOTATIONS as Lu, SearchValueFormatterContext as Lv, RetryingStatus as Lw, useReconnectingToast as Lx, CommentsEnabledProvider as Ly, ConfigContext$1 as M, ReleaseTitle as MC, useConnectionState as MS, ManifestWorkspaceInput as M_, createDocumentStore as Ma, removeUndefinedLocaleResources as Mb, defaultRenderInput as Mc, MixedArrayError as Md, createHookFromObservableFactory as Mf, buildRangeDecorationSelectionsFromComments as Mg, HistoryClearedEvent as Mh, useProjectStore as Mi, InlinePreviewProps as Ml, ChangeResolverProps as Mm, SlugInputProps as Mn, prepareForPreview as Mo, getItemKey as Mp, FormInputRelativePathArg as Mr, PrimitiveInputElementProps as Ms, initialDocumentFieldActions as Mt, useActiveReleases as Mu, SearchOperatorBase as Mv, ConnectingStatus as Mw, useReviewChanges as Mx, CommentsSelectedPath as My, ConfigPropertyReducer as N, ReleaseAvatar as NC, useConditionalToast as NS, StudioManifest as N_, ListenQueryOptions as Na, LocaleProvider as Nb, defaultRenderItem as Nc, TypeAnnotationMismatchError as Nd, catchWithCount as Nf, buildCommentRangeDecorations as Ng, PublishDocumentVersionEvent as Nh, useRenderingContextStore as Ni, BlockPreview as Nl, ChangeList as Nm, SelectInput as Nn, getPreviewValueWithFallback as No, getItemKeySegment as Np, FormFieldValidation as Nr, PrimitiveInputProps as Ns, documentFieldActionsReducer as Nt, VersionInfoDocumentStub as Nu, SearchOperatorBuilder as Nv, ConnectionStatus as Nw, RelativeTimeOptions as Nx, CommentsSelectedPathContextValue as Ny, BaseActionDescription as O, PreviewableType as OC, UseDateTimeFormatOptions as OS, uploadSchema as O_, useDocumentType as Oa, useI18nText as Ob, defaultRenderAnnotation as Oc, FieldError as Od, EMPTY_ARRAY as Of, AutoCollapseMenu as Og, DocumentVersionEventType as Oh, useGrantsStore as Oi, CircularProgress as Ol, TIMELINE_ITEM_I18N_KEY_MAPPING as Om, TagsArrayInput as On, BufferedDocumentWrapper as Oo, PerspectiveNotWriteableReason as Op, FormCell as Or, OnPasteFn as Os, DocumentInspectorMenuItem as Ot, useReleasesIds as Ou, I18nSearchOperatorDescriptionKey as Ov, CorsOriginError as Ow, SyncState as Ox, WorkspaceLike as Oy, DECISION_PARAMETERS_SCHEMA as P, ReleaseAvatarIcon as PC, useClient as PS, StudioWorkspaceManifest as P_, ListenQueryParams as Pa, LocaleProviderBase as Pb, defaultRenderPreview as Pc, UndeclaredMembersError as Pd, defaultTheme as Pf, useCommentsTelemetry as Pg, ScheduleDocumentVersionEvent as Ph, useUserStore as Pi, BlockImagePreview as Pl, ChangeListProps as Pm, ReferenceAutocomplete as Pn, getPreviewStateObservable as Po, getValueAtPath as Pp, FormFieldValidationError as Pr, StringInputProps as Ps, defineDocumentFieldAction as Pt, isReleaseDocument as Pu, SearchOperatorButtonValue as Pv, ConnectionStatusStore as Pw, useRelativeTime as Px, CommentsSelectedPathProvider as Py, MediaLibraryConfig as Q, getDraftId as QC, ConnectorContextValue as QS, FormPatchOrigin as Q_, OperationImpl as Qa, Rule as Qb, diffMatchPatch as Qc, asLoadable as Qd, createSchema as Qf, WorkspaceLoaderBoundary as Qg, useUserColor as Qh, UserStoreOptions as Qi, PreviewCardContextValue as Ql, Diff$1 as Qm, BooleanInput as Qn, ArrayInputFunctionsProps as Qo, DocumentChangeContextInstance as Qp, FieldPresenceInner as Qr, BlockProps as Qs, encodePath as Qt, setAtPath as Qu, Filters as Qv, KeyValueStore as Qw, useFeatureEnabled as Qx, CommentReactionShortNames as Qy, DocumentActionsResolver as R, ReleaseId as RC, useChangeIndicatorsReportedValues as RS, CopyOptions as R_, InitialValueErrorMsg as Ra, LocaleDefinition as Rb, ReferenceInputOptionsProvider as Rc, resolveConditionalProperty as Rd, useDocumentPreviewValues as Rf, CommentsEnabledContextValue as Rg, isCreateDocumentVersionEvent as Rh, ProjectData as Ri, DetailPreview as Rl, DiffVisitor as Rm, PortableTextMemberItem as Rn, unstable_useObserveDocument as Ro, normalizeKeySegment as Rp, FormFieldValidationStatusProps as Rr, RenderBlockCallback as Rs, DocumentFieldActionHook as Rt, DEFAULT_DECORATORS as Ru, ValuelessSearchOperatorBuilder as Rv, createConnectionStatusStore as Rw, useProjectId as Rx, CommentsProvider as Ry, useMiddlewareComponents as S, ObserveDocumentAvailabilityFn as SC, DocumentRebaseEvent as SS, Studio as S_, useInitialValue as Sa, UseTranslationResponse as Sb, StudioCrossDatasetReferenceInput as Sc, ObjectFormNode as Sd, isNonNullable as Sf, ScrollContainer as Sg, BaseEvent as Sh, useGlobalPresence as Si, RovingFocusNavigationType as Sl, FieldPreviewComponent as Sm, UrlInput as Sn, MutationResult as So, useSetPerspective as Sp, FormValueContextValue as Sr, ComplexElementProps as Ss, ReleaseActionDescription as St, isReleasePerspective as Su, SearchContextValue as Sv, CommandListHandle as Sw, TemplateArrayFieldDefinition as Sx, validateBasePaths as Sy, AssetSourceResolver as T, PreparedSnapshot as TC, RemoteSnapshotEvent as TS, SourceProviderProps as T_, isNewDocument as Ta, useLocale as Tb, FormProviderProps as Tc, StringFormNode as Td, getReferencePaths as Tf, CollapseMenuButton as Tg, DeleteDocumentGroupEvent as Th, useConnectionStatusStore as Ti, RelativeTime as Tl, DiffErrorBoundaryState as Tm, TextInputProps as Tn, WithVersion as To, useExcludedPerspective as Tp, DivergencesProvider as Tr, InputProps as Ts, FormComponents as Tt, getReleaseIdFromReleaseDocumentId as Tu, defineSearchFilterOperators as Tv, CommandListRenderItemCallback as Tw, TemplateParameter as Tx, useWorkspaces as Ty, DocumentInspectorContext as U, DRAFTS_FOLDER as UC, TrackerContextGetSnapshot as US, PatchEvent as U_, validation$1 as Ua, LocaleResourceRecord as Ub, useFormCallbacks as Uc, measureFirstEmission as Ud, IsLastPaneProvider as Uf, COMMENTS_INSPECTOR_NAME as Ug, isPublishDocumentVersionEvent as Uh, SESSION_ID as Ui, CompactPreviewProps as Ul, Annotation as Um, ImageUrlBuilder$1 as Un, Preview as Uo, resolveDiffComponent as Up, FormFieldHeaderText as Ur, RenderPreviewCallbackProps as Us, DocumentFieldActionTone as Ut, useDivergenceNavigator as Uu, getSearchableTypes as Uv, MockAuthStoreOptions as Uw, UseListFormatOptions as Ux, CommentFieldCreatePayload as Uy, DocumentBadgesResolver as V, TargetPerspective as VC, TrackedArea as VS, PasteOptions as V_, InitialValueState as Va, LocaleResourceBundle as Vb, FormCallbacksProvider as Vc, useCanvasCompanionDoc as Vd, TasksNavigationContextValue as Vf, hasCommentMessageValue as Vg, isDeleteDocumentVersionEvent as Vh, ProjectStore as Vi, DefaultPreviewProps as Vl, getDiffAtPath as Vm, NumberInput as Vn, SanityDefaultPreviewProps as Vo, pathsAreEqual as Vp, FormFieldSet as Vr, RenderItemCallback as Vs, DocumentFieldActionProps as Vt, useDocumentLimitsUpsellContext as Vu, createSearch as Vv, isCookielessCompatibleLoginMethod as Vw, UseManageFavoriteProps as Vx, CommentCreatePayload as Vy, DocumentInspectorsResolver as W, DraftId as WC, TrackerContextStore as WS, FormDecPatch as W_, remoteSnapshots as Wa, LocaleSource as Wb, MutationPatchMsg as Wc, measureFirstMatch as Wd, TasksEnabledContextValue as Wf, CommentInlineHighlightSpan as Wg, isScheduleDocumentVersionEvent as Wh, createPresenceStore as Wi, GeneralDocumentListLayoutKey as Wl, AnnotationDetails as Wm, EmailInput as Wn, isArrayOfBlocksInputProps as Wo, useDocumentChange as Wp, FormFieldHeaderTextProps as Wr, BaseItemProps as Ws, DocumentFieldActionsResolver as Wt, ExpandFieldSetOperation as Wu, SearchFactoryOptions as Wv, createMockAuthStore as Ww, useListFormat as Wx, CommentIntentGetter as Wy, FormBuilderComponentResolverContext as X, createPublishedFrom as XC, ChangeConnectorRoot as XS, FormPatchBase as X_, Operation as Xa, ValidationLocaleResourceKeys as Xb, SANITY_PATCH_TYPE as Xc, LoadedState as Xd, useSingleDocRelease as Xf, CommentsUpsellContextValue as Xg, UserColorManagerOptions as Xh, UserSessionPair as Xi, PreviewProps as Xl, Chunk as Xm, DateInputProps as Xn, isObjectItemProps as Xo, isUnchangedDiff as Xp, PresenceOverlayProps as Xr, BlockDecoratorProps as Xs, TransformPatches as Xt, UseFormStateOptions as Xu, SearchPopoverProps as Xv, LoginComponentProps as Xw, useFormattedDuration as Xx, CommentReactionItem as Xy, DocumentPluginOptions as Y, createDraftFrom as YC, ReporterHook as YS, FormPatch as Y_, MapDocument as Ya, TFunction$1 as Yb, createPatchChannel as Yc, LoadableState as Yd, SingleDocReleaseProvider as Yf, CommentsList as Yg, UserColorManagerProviderProps as Yh, Status as Yi, PreviewMediaDimensions as Yl, ChangeTitlePath as Ym, DateInput as Yn, isObjectInputProps as Yo, isRemovedItemDiff as Yp, PresenceOverlay as Yr, BlockAnnotationProps as Ys, LoginMethod as Yt, FormState as Yu, SearchPopover as Yv, AuthStore as Yw, UseFormattedDurationOptions as Yx, CommentPostPayload as Yy, GroupableActionDescription as Z, documentIdEquals as ZC, ChangeConnectorRootProps as ZS, FormPatchJSONValue as Z_, OperationArgs as Za, StudioLocaleResourceKeys as Zb, dec as Zc, LoadingState as Zd, getSchemaTypeTitle as Zf, UpsellData as Zg, createUserColorManager as Zh, UserStore as Zi, PreviewCard as Zl, ChunkType as Zm, CrossDatasetReferencePreview as Zn, isStringInputProps as Zo, noop as Zp, FieldPresence as Zr, BlockListItemProps as Zs, decodePath as Zt, useFormState as Zu, SearchHeader as Zv, createKeyValueStore as Zw, useFilteredReleases as Zx, CommentReactionOption as Zy, createDefaultIcon as _, DraftsModelDocument as _C, WelcomeBackEvent as _S, isValidAnnouncementAudience as __, EvaluationParams as _a, TranslateComponentMap as _b, Uploader as _c, HiddenField as _d, isPausedCardinalityOneRelease as _f, CreateLinkedSanityDocument as _g, FieldValueError as _h, isAgentBundleName as _i, TextWithTone as _l, DiffStringSegment as _m, MemberItemProps as _n, CombinedDocument as _o, DuplicateActionProps as _p, FieldActionsProvider as _r, ArrayOfObjectsInputProps as _s, Tool as _t, getDocumentIsInPerspective as _u, SearchButton as _v, CommandList as _w, defaultTemplateForType as _x, matchWorkspace as _y, resolveSchemaTypes as a, useIsReleaseActive as aC, editState$1 as aS, InterpolationProp as a_, GrantsStoreOptions as aa, CommentsListBreadcrumbItem as ab, UploadEvent as ac, ArrayOfPrimitivesMember as ad, fieldNeedsEscape as af, isDev as ag, FromToIndex as ah, Position as ai, ZIndexProvider as al, GroupChange as am, ObjectMembers as an, useTimelineStore as ao, GetHookCollectionStateProps as ap, VirtualizerScrollInstanceProvider as ar, RenderBlockActionsProps as as, PluginOptions as at, InsufficientPermissionsMessageProps as au, StudioToolMenu as av, isDraftId as aw, UseUnitFormatterOptions as ax, useColorSchemeOptions as ay, ConfigPropertyError as b, Id as bC, CommittedEvent as bS, StudioAnnouncementsContextValue as b_, PermissionCheckResult as ba, usEnglishLocale as bb, StudioReferenceInput as bc, NumberFormNode as bd, isString as bf, ScrollContextValue as bg, EventsProvider as bh, ResourceCacheProviderProps as bi, StatusButtonProps as bl, DiffFromTo as bm, ArrayOfObjectsInputMember as bn, DocumentVersion as bo, SchedulesContextValue as bp, GetFormValueProvider as br, BaseInputProps as bs, WorkspaceSummary as bt, isReleaseScheduledOrScheduling as bu, useSearchState as bv, CommandListGetItemKeyCallback as bw, InitialValueTemplateItem as bx, WorkspacesContextValue as by, createWorkspaceFromConfig as c, DocumentPreviewStore as cC, InitialSnapshotEvent as cS, UpsellDialogLearnMoreCtaClicked as c_, DocumentValuePermissionsOptions as ca, CommentsUIMode as cb, ImageInputProps as cc, FieldSetMember as cd, _isSanityDocumentTypeDefinition as cf, isSanityCreateExcludedType as cg, NullDiff$1 as ch, RegionWithIntersectionDetails as ci, AvatarSkeleton as cl, FromTo as cm, ObjectInputMemberProps as cn, HistoryStoreOptions as co, DocumentActionComponent as cp, ArrayOfObjectsInput as cr, ArrayOfPrimitivesFieldProps as cs, ResolveProductionUrlContext as ct, serializeError as cu, LayoutProps as cv, isSystemBundleName as cw, TimeAgoOpts as cx, StudioColorScheme as cy, flattenConfig as d, createDocumentPreviewStore as dC, getPairListener as dS, UpsellDialogViewedInfo as d_, DocumentPairPermissionsOptions as da, CommentsAuthoringPathProvider as db, StudioFileInput as dc, ArrayOfObjectsFormNode as dd, SharedResizeObserver as df, isSanityCreateStartCompatibleDoc as dg, ReferenceDiff as dh, DocumentPreviewPresence as di, LegacyLayerProvider as dl, FallbackDiff as dm, MemberField as dn, SelectionState as do, DocumentActionDescription as dp, FormBuilderContextValue as dr, FieldCommentsProps as ds, SchemaPluginOptions as dt, ErrorActions as du, NavbarProps as dv, removeDupes as dw, DEFAULT_MAX_RECURSION_DEPTH as dx, useAddonDataset as dy, ChangeIndicatorProps as eC, useDocumentOperationEvent as eS, EnhancedObjectDialog as eT, ErrorMessage as e_, TemplatePermissionsOptions as ea, CommentTaskCreatePayload as eb, MarkdownConfig as ec, FieldsetMembers as ed, sliceString as ef, HexColor as eg, DiffComponentOptions as eh, FieldPresenceProps as ei, insert as el, RevertChangesConfirmDialog as em, fromMutationPatches as en, DocumentVersionSnapshots as eo, ScheduledBadge as ep, ArrayOfPrimitivesInput as er, FormBuilderFilterFieldFn as es, NewDocumentCreationContext as et, usePreviewCard as eu, FormSetPatch as ev, getPublishedId as ew, UserListWithPermissionsOptions as ex, ColorSchemeLocalStorageProvider as ey, PluginFactory as f, ApiConfig as fC, IdPair as fS, StudioProvider as f_, DocumentPermission as fa, useWorkspaceSchemaId as fb, AssetSourcesResolver as fc, ArrayOfPrimitivesFormNode as fd, createSharedResizeObserver as ff, SanityCreateConfigContextValue as fg, StringDiff$1 as fh, DocumentPreviewPresenceProps as fi, ZIndexContextValueKey as fl, Event$1 as fm, MemberFieldProps as fn, TimelineController as fo, DocumentActionDialogProps as fp, useHoveredField as fr, FieldProps as fs, SingleWorkspace as ft, ErrorActionsProps as fu, StudioComponents as fv, systemBundles as fw, Serializeable as fx, AddonDatasetContextValue as fy, defineConfig as g, DocumentStackAvailability as gC, ResetEvent as gS, StudioLayoutComponent as g_, DocumentValuePermission as ga, Translate as gb, UploadProgressEvent as gc, DocumentFormNode as gd, isCardinalityOneRelease as gf, CreateLinkedDocumentBannerContentProps as gg, TypeChangeDiff$1 as gh, useAgentVersionDisplay as gi, TooltipOfDisabled as gl, DiffString as gm, ArrayOfObjectsItem as gn, TimelineOptions as go, DocumentActionProps as gp, FieldActionsResolver as gr, StringFieldProps as gs, TemplateResolver as gt, formatRelativeLocalePublishDate as gu, SearchDialog as gv, ContextMenuButton as gw, resolveInitialValueForType as gx, MatchWorkspaceResult as gy, createConfig as h, DocumentAvailability as hC, ReconnectEvent as hS, StudioLayout as h_, useDocumentPairPermissionsFromHookFactory as ha, validateDocument as hb, UploadOptions as hc, ComputeDiff as hd, isCardinalityOnePerspective as hf, CreateLinkedActionsProps as hg, StringSegmentUnchanged$1 as hh, AgentVersionDisplay as hi, ToastParams$1 as hl, DiffTooltipWithAnnotationsProps as hm, PrimitiveMemberItemProps as hn, Timeline as ho, DocumentActionPopoverDialogProps as hp, FieldActionsProps as hr, PrimitiveFieldProps as hs, SourceOptions as ht, DocumentStatus as hu, StudioLogo as hv, getDocumentVariantType as hw, resolveInitialValue as hx, MatchWorkspaceOptions as hy, SchemaError as i, useOnlyHasVersions as iC, EditStateFor as iS, useWorkspace as i_, useTemplatePermissionsFromHookFactory as ia, CommentUpdatePayload as ib, ArrayInputMoveItemEvent as ic, ArrayOfPrimitivesItemMember as id, escapeField as if, UserId as ig, FieldOperationsAPI as ih, Location as ii, unset as il, MetaInfoProps as im, ObjectInputMembers as in, TimelineStore as io, GetHookCollectionState as ip, ArrayOfObjectOptionsInput as ir, RenderBlockActionsCallback as is, Plugin as it, InsufficientPermissionsMessage as iu, ToolLinkProps as iv, isDraft as iw, UnitFormatter as ix, useColorSchemeInternalValue as iy, Config as j, getVersionInlineBadge as jC, ConnectionState as jS, generateStudioManifest as j_, QueryParams$1 as ja, defineLocalesResources as jb, defaultRenderInlineBlock as jc, MissingKeysError as jd, ReactHook as jf, buildTextSelectionFromFragment as jg, EventsStoreRevision as jh, usePresenceStore as ji, InlinePreview as jl, ChangeResolver as jm, SlugInput as jn, createObservableBufferedDocument as jo, findIndex as jp, FormInputAbsolutePathArg as jr, PortableTextInputProps as js, defineDocumentInspector as jt, useArchivedReleases as ju, OperatorInputComponentProps as jv, ConnectedStatus as jw, useSchema as jx, RouterHistory as jy, BetaFeatures as k, Selection as kC, useDateTimeFormat as kS, LiveManifestRegisterProvider as k_, DocumentStore as ka, defineLocale as kb, defaultRenderBlock as kc, IncompatibleTypeError as kd, EMPTY_OBJECT as kf, CollapseMenu as kg, EditDocumentVersionEvent as kh, useHistoryStore as ki, TemplatePreview as kl, ChangeTitleSegment as km, TagsArrayInputProps as kn, createBufferedDocument as ko, isPerspectiveWriteable as kp, FormRow as kr, OnPathFocusPayload as ks, DocumentInspectorProps as kt, ReleasesUpsellContextValue as ku, I18nSearchOperatorNameKey as kv, CorsOriginErrorOptions as kw, useSyncState as kx, ActiveWorkspaceMatcher as ky, resolveConfig as l, DocumentPreviewStoreOptions as lC, LatencyReportEvent as lS, UpsellDialogUpgradeCtaClicked as l_, getDocumentValuePermissions as la, Loadable as lb, StudioImageInput as lc, FieldsetRenderMembersCallback as ld, _isType as lf, isSanityCreateLinked as lg, NumberDiff$1 as lh, ReportedRegionWithRect as li, UserAvatar as ll, FromToProps as lm, MemberFieldSet as ln, createHistoryStore as lo, DocumentActionConfirmDialogProps as lp, ArrayOfObjectsFunctions as lr, BaseFieldProps as ls, SanityFormConfig as lt, useCopyErrorDetails as lu, LogoProps as lv, isVersionId as lw, useTimeAgo as lx, StudioTheme as ly, definePlugin as m, AvailabilityResponse as mC, PendingMutationsEvent as mS, NavbarContextValue as m_, useDocumentPairPermissions as ma, ValidateDocumentOptions as mb, ResolvedUploader as mc, BooleanFormNode as md, CardinalityOneRelease as mf, CreateLinkMetadata as mg, StringSegmentChanged$1 as mh, useUser as mi, ImperativeToast as ml, DiffTooltipProps as mm, ArrayOfPrimitivesItem as mn, ParsedTimeRef as mo, DocumentActionModalDialogProps as mp, useFieldActions as mr, ObjectFieldProps as ms, SourceClientOptions as mt, CapabilityGate as mu, ToolMenuProps as mv, DocumentVariantType as mw, resolveInitialObjectValue as mx, useActiveWorkspace as my, getConfigContextFromSource as n, sortReleases as nC, DocumentIdStack as nS, createSanityMediaLibraryFileSource as nT, WorkspaceProvider as n_, getTemplatePermissions as na, CommentThreadItem as nb, ArrayInputCopyEvent as nc, ArrayOfObjectsItemMember as nd, uncaughtErrorHandler as nf, UserColorHue as ng, DiffProps as nh, FieldPresenceData as ni, set as nl, NoChanges as nm, useFormBuilder as nn, useTimelineSelector as no, DocumentBadgeDescription as np, ArrayOfPrimitiveOptionsInput as nr, FormBuilderMarkersComponent as ns, NewDocumentOptionsResolver as nt, LoadingBlock as nu, PatchArg as nv, getVersionId as nw, useUserListWithPermissions as nx, ColorSchemeProviderProps as ny, CreateWorkspaceFromConfigOptions as o, useDocumentVersionTypeSortedList as oC, DocumentPairLoadedEvent as oS, UpsellDescriptionSerializer as o_, createGrantsStore as oa, CommentsTextSelectionItem as ob, EnhancedObjectDialogContextValue as oc, DecorationMember as od, joinPath as of, isProd as og, GroupChangeNode as oh, PresentUser as oi, useZIndex as ol, FromToArrow as om, ObjectMembersProps as on, DocumentRevision as oo, HookCollectionActionHook as op, VirtualizerScrollInstance as or, RenderCustomMarkers as os, PreparedConfig as ot, Hotkeys as ou, StudioNavbar as ov, isPublishedId as ow, useUnitFormatter as ox, useColorSchemeSetValue as oy, createPlugin as p, AvailabilityReason as pC, MutationEvent as pS, StudioProviderProps as p_, getDocumentPairPermissions as pa, useValidationStatus as pb, FileLike as pc, BaseFormNode as pd, resizeObserver as pf, useSanityCreateConfig as pg, StringDiffSegment as ph, useCurrentUser as pi, ZIndexContextValue as pl, DiffTooltip as pm, MemberItemError as pn, TimelineControllerOptions as po, DocumentActionGroup as pp, HoveredFieldProvider as pr, NumberFieldProps as ps, Source as pt, DocumentStatusIndicator as pu, StudioComponentsPluginOptions as pv, Chip as pw, isBuilder as px, AddonDatasetProvider as py, DocumentLanguageFilterResolver as q, VERSION_FOLDER as qC, IsEqualFunction as qS, FormInsertPatch as q_, emitOperation as qa, LocalesOption as qb, PatchMsgSubscriber as qc, userHasRole as qd, useScheduledDraftDocument as qf, CommentInputHandle as qg, isUpdateLiveDocumentEvent as qh, PresenceLocation as qi, PreviewComponent as ql, BooleanDiff$1 as qm, DateTimeInput as qn, isBooleanInputProps as qo, isFieldChange as qp, PresenceScope as qr, ObjectItemProps as qs, AuthProvider as qt, SetActiveGroupOperation as qu, SearchTerms as qv, createAuthStore as qw, FormDocumentValue as qx, CommentOperations as qy, useConfigContextFromSource as r, useVersionOperations as rC, useDocumentIdStack as rS, createSanityMediaLibraryImageSource as rT, WorkspaceProviderProps as r_, useTemplatePermissions as ra, CommentUpdateOperationOptions as rb, ArrayInputInsertEvent as rc, ArrayOfObjectsMember as rd, supportsTouch as rf, UserColorManager as rg, FieldChangeNode as rh, FormNodePresence as ri, setIfMissing as rl, MetaInfo as rm, useDocumentForm as rn, TimelineState as ro, DocumentBadgeProps as rp, ArrayOfOptionsInput as rr, PortableTextMarker as rs, PartialContext as rt, IntentButton as ru, ToolLink as rv, idMatchesPerspective as rw, FormattableMeasurementUnit as rx, useColorScheme as ry, createSourceFromConfig as s, useDocumentVersions as sC, DocumentStoreExtraOptions as sS, UpsellDialogDismissed as s_, grantsPermissionOn as sa, CommentsType as sb, useEnhancedObjectDialog as sc, FieldMember as sd, _isCustomDocumentTypeDefinition as sf, getSanityCreateLinkMetadata as sg, ItemDiff$1 as sh, Rect as si, WithReferringDocuments as sl, FromToArrowDirection as sm, ObjectInputMember as sn, HistoryStore as so, useScheduleAction as sp, useVirtualizerScrollInstance as sr, ArrayFieldProps as ss, ReleaseActionsResolver as st, HotkeysProps$1 as su, ActiveToolLayoutProps as sv, isSystemBundle as sw, useTools as sx, useColorSchemeValue as sy, ActiveWorkspaceMatcherContextValue as t, ChangeFieldWrapper as tC, useDocumentOperation as tS, EditPortal as tT, ErrorMessageProps as t_, TemplatePermissionsResult as ta, CommentTextSelection as tb, PortableTextPluginsProps as tc, FieldsetState as td, truncateString as tf, UserColor as tg, DiffComponentResolver as th, FieldPresenceWithOverlay as ti, prefixPath as tl, RevertChangesButton as tm, toMutationPatches as tn, snapshotPair as to, DocumentBadgeComponent as tp, ArrayOfPrimitivesFunctions as tr, FormBuilderInputComponentMap as ts, NewDocumentOptionsContext as tt, PopoverDialog as tu, FormUnsetPatch as tv, getVersionFromId as tw, UserWithPermission as tx, ColorSchemeProvider as ty, prepareConfig as u, ObserveForPreviewFn as uC, ListenerEvent as uS, UpsellDialogViewed as u_, useDocumentValuePermissions as ua, CommentsAuthoringPathContextValue as ub, FileInputProps as uc, ObjectMember as ud, createSWR as uf, isSanityCreateLinkedDocument as ug, ObjectDiff$1 as uh, Size as ui, UserAvatarProps as ul, FieldChange as um, MemberFieldError as un, removeMissingReferences as uo, DocumentActionCustomDialogComponentProps as up, useDidUpdate as ur, BooleanFieldProps as us, ScheduledPublishingPluginOptions as ut, ErrorWithId as uu, NavbarAction as uv, newDraftFrom as uw, useTemplates as ux, StudioThemeColorSchemeKey as uy, ConfigResolutionError as v, DraftsModelDocumentAvailability as vC, WelcomeEvent as vS, isValidAnnouncementRole as v_, Grant as va, TranslationProps as vb, UploaderDef as vc, NodeChronologyProps as vd, PartialExcept as vf, AppIdCache as vg, getValueError as vh, ResourceCache as vi, TextWithToneProps as vl, DiffInspectWrapper as vm, ArrayOfObjectsInputMembers as vn, DocumentRemoteMutationVersionEvent as vo, DuplicateDocumentActionComponent as vp, FieldActionMenu as vr, ArrayOfPrimitivesElementType as vs, Workspace as vt, isDraftPerspective as vu, PartialIndexSettings as vv, CommandListElementType as vw, defaultTemplatesForSchema as vx, WorkspacesProvider as vy, AppsOptions as w, ObservePathsFn as wC, MutationPayload as wS, SourceProvider as w_, selectUpstreamVersion as wa, useCurrentLocale as wb, FormProvider as wc, PrimitiveFormNode as wd, globalScope as wf, useOnScroll as wg, CreateLiveDocumentEvent as wh, useComlinkStore as wi, Resizable as wl, DiffErrorBoundaryProps as wm, TextInput as wn, RemoteSnapshotVersionEvent as wo, useGetDefaultPerspective as wp, useFormValue as wr, InputOnSelectFileFunctionProps as ws, ReleaseActionsContext as wt, getReleaseTone as wu, defineSearchFilter as wv, CommandListProps as ww, TemplateItem as wx, validateWorkspaces as wy, ConfigPropertyErrorOptions as x, InvalidationChannelEvent as xC, DocumentMutationEvent as xS, StudioAnnouncementsCard as x_, useResolveInitialValueForType as xa, UseTranslationOptions as xb, StudioReferenceInputProps as xc, ObjectArrayFormNode as xd, isRecord as xf, ScrollEventHandler as xg, useEvents as xh, useResourceCache as xi, useRovingFocus as xl, DiffFromToProps as xm, ArrayOfObjectsMemberProps as xn, DocumentVersionEvent as xo, EditScheduleForm as xp, useGetFormValue as xr, BooleanInputProps as xs, ReleaseActionComponent as xt, RELEASES_STUDIO_CLIENT_OPTIONS as xu, SearchProvider as xv, CommandListGetItemSelectedCallback as xw, Template as xx, ValidateWorkspaceOptions as xy, ConfigResolutionErrorOptions as y, FieldName as yC, CommitFunction as yS, StudioAnnouncementsDialog as y_, GrantsStore as ya, defaultLocale as yb, UploaderResolver as yc, NodeDiffProps as yd, isTruthy as yf, SanityCreateConfigProvider as yg, useEventsStore as yh, ResourceCacheProvider as yi, StatusButton as yl, DiffInspectWrapperProps as ym, ArrayOfObjectsInputMembersProps as yn, Transaction as yo, isSanityDefinedAction as yp, FieldActionMenuProps as yr, ArrayOfPrimitivesInputProps as ys, WorkspaceOptions as yt, isPublishedPerspective as yu, useSearchMaxFieldDepth as yv, CommandListGetItemDisabledCallback as yw, prepareTemplates as yx, WorkspacesProviderProps as yy, DocumentActionsVersionType as z, ReleasesNavMenuItemPropsGetter as zC, useChangeIndicatorsReporter as zS, CopyPasteContextType as z_, InitialValueLoadingMsg as za, LocaleNestedResource as zb, TemplateOption as zc, getDocumentIdForCanvasLink as zd, TasksUpsellContextValue as zf, useComments as zg, isCreateLiveDocumentEvent as zh, ProjectDatasetData as zi, DetailPreviewProps as zl, getAnnotationAtPath as zm, UpdateReadOnlyPlugin as zn, useUnstableObserveDocument as zo, normalizePathSegment as zp, FieldStatusProps as zr, RenderFieldCallback as zs, DocumentFieldActionItem as zt, ReleaseDocument$1 as zu, ValuelessSearchOperatorParams as zv, onRetry as zw, UseNumberFormatOptions as zx, CommentBaseCreatePayload as zy };