sanity 6.7.0-next.50 → 6.7.0-next.51
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.
- package/lib/{ActiveWorkspaceMatcherContext-CNyMkw7b.d.ts → ActiveWorkspaceMatcherContext-CHfBjoka.d.ts} +90 -2
- package/lib/{CalendarFilter-B4CCERHQ.js → CalendarFilter-CZdQWkFJ.js} +2 -2
- package/lib/{CalendarFilter-B4CCERHQ.js.map → CalendarFilter-CZdQWkFJ.js.map} +1 -1
- package/lib/{CommentsInspector-C4atp1zl.js → CommentsInspector-DaQJs8qb.js} +2 -2
- package/lib/{CommentsInspector-C4atp1zl.js.map → CommentsInspector-DaQJs8qb.js.map} +1 -1
- package/lib/PresentationToolGrantsCheck-CjQqH5kz.js.map +1 -1
- package/lib/{ReleasesMetadataProvider-BWMH89-o.js → ReleasesMetadataProvider-D7nwBy7i.js} +2 -2
- package/lib/{ReleasesMetadataProvider-BWMH89-o.js.map → ReleasesMetadataProvider-D7nwBy7i.js.map} +1 -1
- package/lib/{ReleasesStudioLayout-BvzBJ-si.js → ReleasesStudioLayout-Dh4V-lPP.js} +3 -3
- package/lib/{ReleasesStudioLayout-BvzBJ-si.js.map → ReleasesStudioLayout-Dh4V-lPP.js.map} +1 -1
- package/lib/{ReleasesTool-B7cHv7ND.js → ReleasesTool-TQjLFe4c.js} +5 -5
- package/lib/{ReleasesTool-B7cHv7ND.js.map → ReleasesTool-TQjLFe4c.js.map} +1 -1
- package/lib/{SchedulePublishingStudioLayout-PxWUoPsB.js → SchedulePublishingStudioLayout-oBevIDAo.js} +2 -2
- package/lib/{SchedulePublishingStudioLayout-PxWUoPsB.js.map → SchedulePublishingStudioLayout-oBevIDAo.js.map} +1 -1
- package/lib/{SingleDocReleaseLayout-AScNkf5W.js → SingleDocReleaseLayout-CtlyxAnG.js} +2 -2
- package/lib/{SingleDocReleaseLayout-AScNkf5W.js.map → SingleDocReleaseLayout-CtlyxAnG.js.map} +1 -1
- package/lib/{TasksDocumentInputLayout-DuMxkS9Z.js → TasksDocumentInputLayout-mzkz03_z.js} +2 -2
- package/lib/{TasksDocumentInputLayout-DuMxkS9Z.js.map → TasksDocumentInputLayout-mzkz03_z.js.map} +1 -1
- package/lib/{TasksFooterOpenTasks-BC6CpGiX.js → TasksFooterOpenTasks-Bt2TDaXi.js} +2 -2
- package/lib/{TasksFooterOpenTasks-BC6CpGiX.js.map → TasksFooterOpenTasks-Bt2TDaXi.js.map} +1 -1
- package/lib/{TasksStudioActiveToolLayout--wK-RJOM.js → TasksStudioActiveToolLayout-CS6JbVi9.js} +2 -2
- package/lib/{TasksStudioActiveToolLayout--wK-RJOM.js.map → TasksStudioActiveToolLayout-CS6JbVi9.js.map} +1 -1
- package/lib/{TasksStudioLayout-DLjcNPxe.js → TasksStudioLayout-B87ZDZAU.js} +2 -2
- package/lib/{TasksStudioLayout-DLjcNPxe.js.map → TasksStudioLayout-B87ZDZAU.js.map} +1 -1
- package/lib/{TasksStudioNavbar-B4C4Ajnz.js → TasksStudioNavbar-DXrohEgQ.js} +2 -2
- package/lib/{TasksStudioNavbar-B4C4Ajnz.js.map → TasksStudioNavbar-DXrohEgQ.js.map} +1 -1
- package/lib/{Tool-CKy5Mp1e.js → Tool-CxWM65rs.js} +3 -3
- package/lib/{Tool-CKy5Mp1e.js.map → Tool-CxWM65rs.js.map} +1 -1
- package/lib/{VariantsStudioNavbar-DXN3eIll.js → VariantsStudioNavbar-BsqwtaQQ.js} +2 -2
- package/lib/{VariantsStudioNavbar-DXN3eIll.js.map → VariantsStudioNavbar-BsqwtaQQ.js.map} +1 -1
- package/lib/{VariantsTool-CV_qMPhL.js → VariantsTool-Dn5mP627.js} +3 -3
- package/lib/{VariantsTool-CV_qMPhL.js.map → VariantsTool-Dn5mP627.js.map} +1 -1
- package/lib/_createContext.js +1 -1
- package/lib/_singletons.d.ts +1 -1
- package/lib/{core-ALkQwzNp.js → core-BXnpDDjG.js} +15 -15
- package/lib/{core-ALkQwzNp.js.map → core-BXnpDDjG.js.map} +1 -1
- package/lib/desk.d.ts +1 -1
- package/lib/{document-layout-BW49kfcv.js → document-layout-ahx2rD47.js} +2 -2
- package/lib/{document-layout-BW49kfcv.js.map → document-layout-ahx2rD47.js.map} +1 -1
- package/lib/{field-DMGeob18.js → field-DJSeVkwb.js} +2 -2
- package/lib/{field-DMGeob18.js.map → field-DJSeVkwb.js.map} +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/{input-7fB-Jg7r.js → input-B2ojSg1E.js} +2 -2
- package/lib/{input-7fB-Jg7r.js.map → input-B2ojSg1E.js.map} +1 -1
- package/lib/{inputResolver-VNgf6R1_.js → inputResolver-Dim6wQg5.js} +2 -2
- package/lib/{inputResolver-VNgf6R1_.js.map → inputResolver-Dim6wQg5.js.map} +1 -1
- package/lib/{resources-00C8uhKt.js → resources-BLDnZmhJ.js} +2 -2
- package/lib/{resources-00C8uhKt.js.map → resources-BLDnZmhJ.js.map} +1 -1
- package/lib/{resources-Bg81K-Ez.js → resources-B_rgLR2b.js} +2 -2
- package/lib/{resources-Bg81K-Ez.js.map → resources-B_rgLR2b.js.map} +1 -1
- package/lib/{resources-C-fN43sQ.js → resources-Cz2ZsjQA.js} +2 -2
- package/lib/{resources-C-fN43sQ.js.map → resources-Cz2ZsjQA.js.map} +1 -1
- package/lib/{resources-1unHiBOp.js → resources-DGnfcuoP.js} +2 -2
- package/lib/{resources-1unHiBOp.js.map → resources-DGnfcuoP.js.map} +1 -1
- package/lib/{resources-CB9UXl8F.js → resources-D_4Is7q1.js} +2 -2
- package/lib/{resources-CB9UXl8F.js.map → resources-D_4Is7q1.js.map} +1 -1
- package/lib/{resources-DNmciojG.js → resources-KmvcgA4M.js} +2 -2
- package/lib/{resources-DNmciojG.js.map → resources-KmvcgA4M.js.map} +1 -1
- package/lib/{searchDocumentRelease-DYkiy3gG.js → searchDocumentRelease-DxrCCCGp.js} +2 -2
- package/lib/{searchDocumentRelease-DYkiy3gG.js.map → searchDocumentRelease-DxrCCCGp.js.map} +1 -1
- package/lib/{studio-layout-BJH1z7u9.js → studio-layout-Dy6_MRp2.js} +2 -2
- package/lib/{studio-layout-BJH1z7u9.js.map → studio-layout-Dy6_MRp2.js.map} +1 -1
- package/lib/{version-LoOFJY1I.js → version-CkRNC0Mk.js} +2 -2
- package/lib/{version-LoOFJY1I.js.map → version-CkRNC0Mk.js.map} +1 -1
- package/package.json +13 -12
|
@@ -9,6 +9,7 @@ import LRU from "quick-lru";
|
|
|
9
9
|
import { RootTheme, ThemeColorSchemeKey as ThemeColorSchemeKey$1 } from "@sanity/ui/theme";
|
|
10
10
|
import { ArraySchemaType, AssetMetadataType, AssetSource, AssetSourceSpec, BlockDecoratorDefinition, BlockListDefinition, BlockStyleDefinition, BooleanSchemaType, ConditionalProperty, CrossDatasetReferenceSchemaType, CrossDatasetReferenceValue, CrossDatasetType, CurrentUser, DeprecatedProperty, DocumentSystem, FieldGroup, File as File$1, FileAsset, FileSchemaType, FileValue, FormNodeValidation, GeopointValue, GlobalDocumentReferenceType, I18nTextRecord, Image, ImageAsset, ImageSchemaType, ImageUrlFitMode, ImageValue, IndexTuple, InitialValueProperty, InitialValueResolverContext, IntrinsicTypeName, KeyedObject, KeyedSegment, MendozaEffectPair, NumberSchemaType, ObjectField, ObjectFieldType, ObjectSchemaType, PatchOperations, Path, PathSegment, PortableTextBlock, PortableTextObject, PortableTextTextBlock, PrepareViewOptions, PreviewValue, Reference, ReferenceSchemaType, ReferenceValue, Role, RuleClass, SanityDocument, SanityDocumentLike, Schema, SchemaType, SchemaTypeDefinition, SearchStrategy, SlugSchemaType, SlugValue, SortOrdering, StrictVersionLayeringOptions, StringSchemaType, TextSchemaType, TransactionLogEventWithEffects, TransactionLogEventWithMutations, UploadState, User, ValidationMarker } from "@sanity/types";
|
|
11
11
|
import { DescriptorConverter } from "@sanity/schema/_internal";
|
|
12
|
+
import "groq-js";
|
|
12
13
|
import { ClientConfig, ClientError, ClientPerspective, QueryParams, ReconnectEvent, ReleaseDocument, ReleaseDocument as ReleaseDocument$1, ReleaseType, RequestHandler, ResetEvent, SanityClient, SanityDocument as SanityDocument$1, SingleActionResult, SingleMutationResult, StackablePerspective, WelcomeBackEvent, WelcomeEvent } from "@sanity/client";
|
|
13
14
|
import { ArrayDiff, BooleanDiff, Diff, ItemDiff, NullDiff, NumberDiff, ObjectDiff, StringDiff, StringSegmentChanged, StringSegmentUnchanged, TypeChangeDiff } from "@sanity/diff";
|
|
14
15
|
import { ScrollToOptions } from "@tanstack/react-virtual";
|
|
@@ -33,7 +34,7 @@ import "@sanity/icons";
|
|
|
33
34
|
import { Node } from "@sanity/comlink";
|
|
34
35
|
import { BifurClient } from "@sanity/bifur-client";
|
|
35
36
|
import { CanvasResource, FrameMessages, MediaResource, StudioResource, WindowMessages } from "@sanity/message-protocol";
|
|
36
|
-
import
|
|
37
|
+
import "@sanity/mutate/_unstable_store";
|
|
37
38
|
interface CreateSanityMediaLibrarySourceProps {
|
|
38
39
|
i18nKey?: string;
|
|
39
40
|
icon?: React.ComponentType;
|
|
@@ -2185,6 +2186,93 @@ interface GlobalCopyPasteElementHandler {
|
|
|
2185
2186
|
}
|
|
2186
2187
|
/** @internal */
|
|
2187
2188
|
declare function useGlobalCopyPasteElementHandler({ value, element, focusPath }: GlobalCopyPasteElementHandler): void;
|
|
2189
|
+
/**
|
|
2190
|
+
* Represents the minimal configuration required to identify a Sanity project.
|
|
2191
|
+
* @public
|
|
2192
|
+
*/
|
|
2193
|
+
interface ProjectHandle<TProjectId extends string = string> {
|
|
2194
|
+
projectId?: TProjectId;
|
|
2195
|
+
}
|
|
2196
|
+
/**
|
|
2197
|
+
* @public
|
|
2198
|
+
*/
|
|
2199
|
+
type ReleasePerspective = {
|
|
2200
|
+
releaseName: string;
|
|
2201
|
+
excludedPerspectives?: StackablePerspective[];
|
|
2202
|
+
};
|
|
2203
|
+
/**
|
|
2204
|
+
* @public
|
|
2205
|
+
*/
|
|
2206
|
+
interface PerspectiveHandle {
|
|
2207
|
+
perspective?: ClientPerspective | ReleasePerspective;
|
|
2208
|
+
}
|
|
2209
|
+
/**
|
|
2210
|
+
* @public
|
|
2211
|
+
*/
|
|
2212
|
+
interface DatasetHandle<TDataset extends string = string, TProjectId extends string = string> extends ProjectHandle<TProjectId>, PerspectiveHandle {
|
|
2213
|
+
dataset?: TDataset;
|
|
2214
|
+
/**
|
|
2215
|
+
* @beta
|
|
2216
|
+
* Explicit resource object to use for this operation.
|
|
2217
|
+
*/
|
|
2218
|
+
resource?: DocumentResource;
|
|
2219
|
+
/**
|
|
2220
|
+
* @deprecated Use `resource` instead.
|
|
2221
|
+
* @beta
|
|
2222
|
+
*/
|
|
2223
|
+
source?: DocumentResource;
|
|
2224
|
+
}
|
|
2225
|
+
/**
|
|
2226
|
+
* Identifies a specific document type within a Sanity dataset and project.
|
|
2227
|
+
* Includes `projectId`, `dataset`, and `documentType`.
|
|
2228
|
+
* Optionally includes a `documentId` and `liveEdit` flag.
|
|
2229
|
+
* @public
|
|
2230
|
+
*/
|
|
2231
|
+
interface DocumentTypeHandle<TDocumentType extends string = string, TDataset extends string = string, TProjectId extends string = string> extends DatasetHandle<TDataset, TProjectId> {
|
|
2232
|
+
documentId?: string;
|
|
2233
|
+
documentType: TDocumentType;
|
|
2234
|
+
/**
|
|
2235
|
+
* Indicates whether this document uses liveEdit mode.
|
|
2236
|
+
* When `true`, the document does not use the draft/published model and edits are applied directly to the document.
|
|
2237
|
+
* @see https://www.sanity.io/docs/content-lake/drafts#ca0663a8f002
|
|
2238
|
+
*/
|
|
2239
|
+
liveEdit?: boolean;
|
|
2240
|
+
}
|
|
2241
|
+
/**
|
|
2242
|
+
* Uniquely identifies a specific document within a Sanity dataset and project.
|
|
2243
|
+
* Includes `projectId`, `dataset`, `documentType`, and the required `documentId`.
|
|
2244
|
+
* Commonly used by document-related hooks and components to reference a document without fetching its full content initially.
|
|
2245
|
+
* @public
|
|
2246
|
+
*/
|
|
2247
|
+
interface DocumentHandle<TDocumentType extends string = string, TDataset extends string = string, TProjectId extends string = string> extends DocumentTypeHandle<TDocumentType, TDataset, TProjectId> {
|
|
2248
|
+
documentId: string;
|
|
2249
|
+
}
|
|
2250
|
+
/**
|
|
2251
|
+
* A document resource can be used for querying.
|
|
2252
|
+
* This will soon be the default way to identify where you are querying from.
|
|
2253
|
+
*
|
|
2254
|
+
* @beta
|
|
2255
|
+
*/
|
|
2256
|
+
type DocumentResource = DatasetResource | MediaLibraryResource | CanvasResource$1;
|
|
2257
|
+
/**
|
|
2258
|
+
* @beta
|
|
2259
|
+
*/
|
|
2260
|
+
type DatasetResource = {
|
|
2261
|
+
projectId: string;
|
|
2262
|
+
dataset: string;
|
|
2263
|
+
};
|
|
2264
|
+
/**
|
|
2265
|
+
* @beta
|
|
2266
|
+
*/
|
|
2267
|
+
type MediaLibraryResource = {
|
|
2268
|
+
mediaLibraryId: string;
|
|
2269
|
+
};
|
|
2270
|
+
/**
|
|
2271
|
+
* @beta
|
|
2272
|
+
*/
|
|
2273
|
+
type CanvasResource$1 = {
|
|
2274
|
+
canvasId: string;
|
|
2275
|
+
};
|
|
2188
2276
|
interface ManageFavorite {
|
|
2189
2277
|
favorite: () => void;
|
|
2190
2278
|
unfavorite: () => void;
|
|
@@ -17584,4 +17672,4 @@ interface ActiveWorkspaceMatcherContextValue {
|
|
|
17584
17672
|
setActiveWorkspace: (workspaceName: string) => void;
|
|
17585
17673
|
}
|
|
17586
17674
|
export { PluginOptions as $, RequestErrorChannel as $C, documentIdEquals as $S, operatorDefinitions as $_, ParsedTimeRef as $a, DocumentIdStack as $b, ZIndexContextValueKey as $c, getReferencePaths as $d, getItemKeySegment as $f, getApiErrorCode as $g, buildRangeDecorationSelectionsFromComments as $h, DocumentPermission as $i, RELEASES_STUDIO_CLIENT_OPTIONS as $l, UnscheduleDocumentVersionEvent as $m, ArrayOfObjectsInput as $n, NumberFieldProps as $o, useAnnotationColor as $p, useUser as $r, UploadOptions as $s, ObjectInputMember as $t, HiddenField as $u, CommentsIntentProvider as $v, ChangeFieldWrapper as $x, LocaleNestedResource as $y, DocumentActionsContext as A, ConnectedStatus as AC, VersionInlineBadge as AS, PatchArg as A_, OperationError as Aa, Template as Ab, FormCallbacksValue as Ac, isPublishedVersion as Ad, DocumentActionCustomDialogComponentProps as Af, StudioProviderProps as Ag, BaseFeedbackTags as Ah, GlobalPresence as Ai, PreviewCard as Al, StringDiffSegment as Am, PortableTextMemberItem as An, isArrayOfBlocksInputProps as Ao, Event$1 as Ap, FormField as Ar, BaseItemProps as As, defineDocumentFieldAction as At, getExpandOperations as Au, useColorSchemeSetValue as Av, connectionState as Ax, useValidationStatus as Ay, DocumentLanguageFilterContext as B, isCookielessCompatibleLoginMethod as BC, SelectedPerspective as BS, StudioComponents as B_, snapshotPair as Ba, useReferringDocuments as Bb, diffMatchPatch as Bc, asLoadable as Bd, SanityDefinedAction as Bf, useStudioErrorHandler as Bg, DocumentGroupInventoryPerspectiveList as Bh, KeyValueStoreValue as Bi, serializeError as Bl, CreateDocumentVersionEvent as Bm, DateInput as Bn, FormBuilderFilterFieldFn as Bo, FieldPreviewComponent as Bp, FieldPresenceWithOverlay as Br, MarkdownConfig as Bs, DocumentFieldActionsResolver as Bt, ArrayOfPrimitivesItemMember as Bu, matchWorkspace as Bv, TrackedChange as Bx, useTranslation$1 as By, BaseActionDescription as C, CommandListHandle as CC, ObserveDocumentTypeFromIdFn as CS, FormPatch as C_, InitialValueErrorMsg as Ca, resolveInitialObjectValue as Cb, TemplateOption as Cc, getVariantTitle as Cd, DocumentBadgeDescription as Cf, UpsellDescriptionSerializer as Cg, FeedbackContextValue as Ch, ProjectGrants as Ci, GeneralDocumentListLayoutKey as Cl, GroupChangeNode as Cm, SlugInput as Cn, useValuePreview as Co, GroupChange as Cp, FormFieldValidationStatusProps as Cr, RenderArrayOfPrimitivesItemCallback as Cs, DocumentInspectorComponent as Ct, useDivergenceNavigator as Cu, ColorSchemeCustomProvider as Cv, DocumentRemoteMutationEvent as Cx, CommentsListBreadcrumbItem as Cy, ConfigContext$1 as D, BetaBadge as DC, Previewable as DS, FormSetIfMissingPatch as D_, InitialValueSuccessMsg as Da, defaultTemplatesForSchema as Db, useParseErrors as Dc, measureFirstMatch as Dd, useScheduleAction as Df, UpsellDialogViewed as Dg, SendFeedbackOptions as Dh, SESSION_ID as Di, PreviewLayoutKey as Dl, ObjectDiff$1 as Dm, CreateButton as Dn, SanityDefaultPreviewProps as Do, FromToProps as Dp, FormFieldSetProps as Dr, RenderItemCallback as Ds, defineDocumentInspector as Dt, ExpandOperation as Du, useColorScheme as Dv, StoreRequestErrorHandler as Dx, Loadable as Dy, Config as E, CommandListRenderItemCallback as EC, PreviewPath as ES, FormPatchOrigin as E_, InitialValueState as Ea, defaultTemplateForType as Eb, useParseErrorForPath as Ec, measureFirstEmission as Ed, HookCollectionActionHook as Ef, UpsellDialogUpgradeCtaClicked as Eg, useFeedback as Eh, PresenceStore as Ei, PreviewComponent as El, NumberDiff$1 as Em, ReferenceAutocomplete as En, SanityDefaultPreview as Eo, FromTo as Ep, FormFieldSet as Er, RenderInputCallback as Es, DocumentInspectorUseMenuItemProps as Et, ExpandFieldSetOperation as Eu, ColorSchemeProviderProps as Ev, SnapshotEvent as Ex, CommentsUIMode as Ey, DocumentBadgesResolver as F, ErrorStatus as FC, VersionChip as FS, ActiveToolLayoutProps as F_, Operation as Fa, TemplateReferenceTarget as Fb, PatchMsgSubscriber as Fc, userHasRole as Fd, DocumentActionModalDialogProps as Ff, Studio as Fg, useTelemetryConsent as Fh, UserStore as Fi, IntentButton as Fl, getValueError as Fm, ImageUrlBuilder$1 as Fn, isObjectInputProps as Fo, DiffStringSegment as Fp, PresenceOverlayProps as Fr, BlockAnnotationProps as Fs, DocumentFieldActionItem as Ft, StateTree as Fu, useAddonDataset as Fv, ChangeIndicatorsTracker as Fx, TranslationProps as Fy, GroupableActionDescription as G, RequestFailureDiagnostics as GC, DRAFTS_FOLDER as GS, useSearchMaxFieldDepth as G_, DocumentRevision as Ga, FormDocumentValue as Gb, setIfMissing as Gc, createSWR as Gd, usePerspective as Gf, ConfigErrorClassification as Gg, useOnScroll as Gh, useTemplatePermissionsFromHookFactory as Gi, DocumentStatusIndicator as Gl, DocumentVersionEventType as Gm, ArrayOfPrimitivesInput as Gn, RenderBlockActionsProps as Go, DiffCardProps as Gp, PresentUser as Gr, UploadEvent as Gs, MutationPatch as Gt, FieldsetRenderMembersCallback as Gu, VisibleWorkspacesContextValue as Gv, IsEqualFunction as Gx, defineLocalesResources as Gy, DocumentLayoutProps as H, createMockAuthStore as HC, SystemVariant as HS, ToolMenuProps as H_, TimelineState as Ha, useManageFavorite as Hb, insert as Hc, _isCustomDocumentTypeDefinition as Hd, SchedulesContextValue as Hf, useRetryCountdown as Hg, DocumentGroupInventoryAction as Hh, TemplatePermissionsResult as Hi, ErrorWithId as Hl, DeleteDocumentGroupEvent as Hm, CrossDatasetReferencePreview as Hn, FormBuilderMarkersComponent as Ho, DiffErrorBoundaryProps as Hp, FormNodePresence as Hr, ArrayInputCopyEvent as Hs, TransformPatches as Ht, DecorationMember as Hu, useWorkspaces as Hv, TrackerContextStore as Hx, useLocale as Hy, DocumentCommentsEnabledContext as I, RetryingStatus as IC, PerspectiveContextValue as IS, LayoutProps as I_, OperationArgs as Ia, TypeTarget as Ib, RebasePatchMsg as Ic, ErrorState as Id, DocumentActionPopoverDialogProps as If, StudioProps as Ig, ConsentStatus as Ih, UserStoreOptions as Ii, InsufficientPermissionsMessage as Il, useEventsStore as Im, EmailInput as In, isObjectItemProps as Io, DiffInspectWrapper as Ip, FieldPresence as Ir, BlockDecoratorProps as Is, DocumentFieldActionNode as It, FieldsetMembers as Iu, AddonDatasetContextValue as Iv, useChangeIndicatorsReportedValues as Ix, defaultLocale as Iy, NewDocumentCreationContext as J, AuthProbeResult as JC, SystemBundle as JS, SearchContextValue as J_, createHistoryStore as Ja, DocumentSyncState as Jb, WithReferringDocuments as Jc, isCardinalityOneRelease as Jd, PerspectiveNotWriteableReason as Jf, classifyRequestError as Jg, CommonProps as Jh, grantsPermissionOn as Ji, formatRelativeLocalePublishDate as Jl, EventsStoreRevision as Jm, ArrayOfOptionsInput as Jn, ArrayOfPrimitivesFieldProps as Jo, ChangeResolver as Jp, ReportedRegionWithRect as Jr, FileInputProps as Js, useFormBuilder as Jt, ArrayOfPrimitivesFormNode as Ju, ActiveWorkspaceMatcher as Jv, ChangeConnectorRoot as Jx, LocaleProviderBase as Jy, MediaLibraryConfig as K, _createAuthStore as KC, DraftId as KS, useSearchState as K_, HistoryStore as Ka, useFilteredReleases as Kb, unset as Kc, CardinalityOneRelease as Kd, PerspectiveProvider as Kf, RequestErrorClassification as Kg, CollapseMenuButton as Kh, GrantsStoreOptions as Ki, CapabilityGate as Kl, EditDocumentVersionEvent as Km, ArrayOfPrimitivesFunctions as Kn, RenderCustomMarkers as Ko, TIMELINE_ITEM_I18N_KEY_MAPPING as Kp, Rect as Kr, ImageInputProps as Ks, fromMutationPatches as Kt, ObjectMember as Ku, VisibleWorkspacesProvider as Kv, Reported as Kx, removeUndefinedLocaleResources as Ky, DocumentInspectorContext as L, createConnectionStatusStore as LC, PerspectiveStack as LS, LogoProps as L_, OperationImpl as La, useSchema as Lb, createPatchChannel as Lc, LoadableState as Ld, DocumentActionProps as Lf, SourceProvider as Lg, StudioFeedbackProvider as Lh, createUserStore as Li, InsufficientPermissionsMessageProps as Ll, EventsProvider as Lm, EmailInputProps as Ln, isStringInputProps as Lo, DiffInspectWrapperProps as Lp, FieldPresenceInner as Lr, BlockListItemProps as Ls, DocumentFieldActionProps as Lt, FieldsetState as Lu, useActiveWorkspace as Lv, useChangeIndicatorsReporter as Lx, usEnglishLocale as Ly, DocumentActionsVersionType as M, ConnectionStatus as MC, ReleaseTitle as MS, ToolLinkProps as M_, emitOperation as Ma, TemplateFieldDefinition as Mb, MutationPatchMsg as Mc, isVariantVersion as Md, DocumentActionDialogProps as Mf, isValidAnnouncementRole as Mg, FeedbackPayload as Mh, Session as Mi, ReferenceInputPreviewCard as Ml, StringSegmentUnchanged$1 as Mm, ObjectInput as Mn, isArrayOfPrimitivesInputProps as Mo, DiffTooltipProps as Mp, PresenceScope as Mr, ObjectItem as Ms, DocumentFieldActionDivider as Mt, UseFormStateOptions as Mu, StudioColorScheme as Mv, useConditionalToast as Mx, validateDocument as My, DocumentAskToEditEnabledContext as N, ConnectionStatusStore as NC, ReleaseAvatar as NS, StudioToolMenu as N_, operationEvents as Na, TemplateItem as Nb, PatchChannel as Nc, readVersionType as Nd, DocumentActionGroup as Nf, StudioAnnouncementsDialog as Ng, Sentiment as Nh, Status as Ni, usePreviewCard as Nl, TypeChangeDiff$1 as Nm, NumberInput as Nn, isBooleanInputProps as No, DiffTooltipWithAnnotationsProps as Np, PresenceScopeProps as Nr, ObjectItemProps as Ns, DocumentFieldActionGroup as Nt, useFormState as Nu, StudioTheme as Nv, useClient as Nx, Translate as Ny, ConfigPropertyReducer as O, BetaBadgeProps as OC, PreviewableType as OS, FormSetPatch as O_, validation$1 as Oa, prepareTemplates as Ob, useReportParseError as Oc, VersionType as Od, DocumentActionComponent as Of, UpsellDialogViewedInfo as Og, UseInStudioFeedbackReturn as Oh, createPresenceStore as Oi, PreviewMediaDimensions as Ol, ReferenceDiff as Om, CreateReferenceOption as On, PreviewLoader as Oo, FieldChange as Op, FormFieldHeaderText as Or, RenderPreviewCallback as Os, initialDocumentFieldActions as Ot, ExpandPathOperation as Ou, useColorSchemeInternalValue as Ov, useDialogStack as Ox, CommentsAuthoringPathProvider as Oy, DocumentBadgesContext as P, ConnectionStatusStoreOptions as PC, ReleaseAvatarIcon as PS, StudioNavbar as P_, MapDocument as Pa, TemplateParameter as Pb, PatchMsg as Pc, useThrottledCallback as Pd, DocumentActionKeys as Pf, StudioAnnouncementsContextValue as Pg, TagValue as Ph, UserSessionPair as Pi, PopoverDialog as Pl, FieldValueError as Pm, AssetAccessPolicy as Pn, isNumberInputProps as Po, DiffString as Pp, PresenceOverlay as Pr, PrimitiveItemProps as Ps, DocumentFieldActionHook as Pt, setAtPath as Pu, StudioThemeColorSchemeKey as Pv, CommentDisabledIcon as Px, TranslateComponentMap as Py, Plugin as Q, LoginComponentProps as QC, createPublishedFrom as QS, SearchOperatorType as Q_, TimelineControllerOptions as Qa, useDocumentOperation as Qb, LegacyLayerProvider as Qc, getVariantPublishedSibling as Qd, getItemKey as Qf, parseRetryAfter as Qg, buildTextSelectionFromFragment as Qh, DocumentPairPermissionsOptions as Qi, isReleaseScheduledOrScheduling as Ql, UnpublishDocumentEvent as Qm, useVirtualizerScrollInstance as Qn, FieldProps as Qo, ChangeBreadcrumb as Qp, useCurrentUser as Qr, ResolvedUploader as Qs, ObjectMembersProps as Qt, DocumentFormNode as Qu, CommentsSelectedPathContextValue as Qv, ChangeIndicatorProps as Qx, LocaleDefinition as Qy, DocumentInspectorsResolver as R, onRetry as RC, ReleaseId as RS, NavbarAction as R_, OperationsAPI as Ra, useReviewChanges as Rb, SANITY_PATCH_TYPE as Rc, LoadedState as Rd, DuplicateActionProps as Rf, SourceProviderProps as Rg, DocumentGroupInventory as Rh, createKeyValueStore as Ri, Hotkeys$1 as Rl, useEvents as Rm, DateTimeInput as Rn, ArrayInputFunctionsProps as Ro, DiffFromTo as Rp, FieldPresenceInnerProps as Rr, BlockProps as Rs, DocumentFieldActionStatus as Rt, ArrayOfObjectsItemMember as Ru, MatchWorkspaceOptions as Rv, ChangeIndicatorTrackerContextValue as Rx, UseTranslationOptions as Ry, AsyncConfigPropertyReducer as S, CommandListGetItemSelectedCallback as SC, ObserveDocumentAvailabilityFn as SS, FormInsertPatchPosition as S_, getInitialValueStream as Sa, isBuilder as Sb, ReferenceInputOptionsProvider as Sc, SANITY_VERSION as Sd, DocumentBadgeComponent as Sf, InterpolationProp as Sg, FeedbackContext$1 as Sh, ProjectDatasetData as Si, CompactPreviewProps as Sl, FromToIndex as Sm, StringInput as Sn, unstable_useValuePreview as So, MetaInfoProps as Sp, FormFieldValidationStatus as Sr, RenderArrayOfObjectsItemCallback as Ss, DocumentInspector as St, DivergenceNavigator as Su, SearchPopoverProps as Sv, DocumentRebaseEvent as Sx, CommentUpdatePayload as Sy, ComposableOption as T, CommandListProps as TC, PreparedSnapshot as TS, FormPatchJSONValue as T_, InitialValueMsg as Ta, resolveInitialValueForType as Tb, ParseErrorsProvider as Tc, isDocumentInSelectedVariant as Td, GetHookCollectionStateProps as Tf, UpsellDialogLearnMoreCtaClicked as Tg, UseFeedbackReturn as Th, ProjectStore as Ti, PortableTextPreviewLayoutKey as Tl, NullDiff$1 as Tm, SelectInput as Tn, useUnstableObserveDocument as To, FromToArrowDirection as Tp, FormFieldStatus as Tr, RenderFieldCallback as Ts, DocumentInspectorProps as Tt, mergeParseErrors as Tu, ColorSchemeProvider as Tv, RemoteSnapshotEvent as Tx, CommentsType as Ty, DocumentPluginOptions as U, AuthStoreOptions as UC, VARIANTS_STUDIO_CLIENT_OPTIONS as US, StudioLogo as U_, TimelineStore as Ua, GlobalCopyPasteElementHandler as Ub, prefixPath as Uc, _isSanityDocumentTypeDefinition as Ud, EditScheduleForm as Uf, createRequestErrorChannel as Ug, ScrollContainer as Uh, getTemplatePermissions as Ui, ErrorActions as Ul, DeleteDocumentVersionEvent as Um, BooleanInput as Un, PortableTextMarker as Uo, DiffErrorBoundaryState as Up, Location as Ur, ArrayInputInsertEvent as Us, decodePath as Ut, FieldMember as Uu, evaluateWorkspaceHidden as Uv, useTrackerStore as Ux, defineLocale as Uy, DocumentLanguageFilterResolver as V, MockAuthStoreOptions as VC, TargetPerspective as VS, StudioComponentsPluginOptions as V_, useTimelineSelector as Va, UseManageFavoriteProps as Vb, inc as Vc, useLoadable as Vd, isSanityDefinedAction as Vf, RequestErrorDialog as Vg, DocumentGroupInventoryReferencePreviewLinkProps as Vh, TemplatePermissionsOptions as Vi, useCopyErrorDetails as Vl, CreateLiveDocumentEvent as Vm, DateInputProps as Vn, FormBuilderInputComponentMap as Vo, DiffErrorBoundary as Vp, FieldPresenceData as Vr, PortableTextPluginsProps as Vs, DocumentFieldActionsResolverContext as Vt, ArrayOfPrimitivesMember as Vu, WorkspacesContextValue as Vv, TrackerContextGetSnapshot as Vx, useCurrentLocale as Vy, FormBuilderComponentResolverContext as W, CreateAuthStoreOptions as WC, CollatedHit as WS, PartialIndexSettings as W_, useTimelineStore as Wa, useGlobalCopyPasteElementHandler as Wb, set as Wc, _isType as Wd, useSetPerspective as Wf, passthroughErrorHandler as Wg, ScrollContainerProps as Wh, useTemplatePermissions as Wi, ErrorActionsProps as Wl, DocumentGroupEvent as Wm, UniversalArrayInput as Wn, RenderBlockActionsCallback as Wo, DiffCard as Wp, Position as Wr, ArrayInputMoveItemEvent as Ws, encodePath as Wt, FieldSetMember as Wu, useVisibleWorkspaces as Wv, useTrackerStoreReporter as Wx, defineLocaleResourceBundle as Wy, NewDocumentOptionsResolver as X, AuthStore as XC, collate as XS, defineSearchFilter as X_, SelectionState as Xa, useDocumentSyncState as Xb, UserAvatar as Xc, PartialExcept as Xd, getSelectedVariant as Xf, isNetworkError as Xg, CollapseMenu as Xh, getDocumentValuePermissions as Xi, isDraftPerspective as Xl, PublishDocumentVersionEvent as Xm, VirtualizerScrollInstanceProvider as Xn, BooleanFieldProps as Xo, ChangeList as Xp, DocumentPreviewPresence as Xr, AssetSourcesResolver as Xs, ObjectInputMembers as Xt, BooleanFormNode as Xu, RouterHistory as Xv, ConnectorContextValue as Xx, Locale as Xy, NewDocumentOptionsContext as Y, AuthState as YC, VERSION_FOLDER as YS, SearchFilterDefinition as Y_, removeMissingReferences as Ya, deriveDocumentSyncState as Yb, AvatarSkeleton as Yc, isPausedCardinalityOneRelease as Yd, isPerspectiveWriteable as Yf, isClientRequestError as Yg, AutoCollapseMenu as Yh, DocumentValuePermissionsOptions as Yi, getDocumentIsInPerspective as Yl, HistoryClearedEvent as Ym, ArrayOfObjectOptionsInput as Yn, BaseFieldProps as Yo, ChangeResolverProps as Yp, Size as Yr, StudioFileInput as Ys, useDocumentForm as Yt, BaseFormNode as Yu, ActiveWorkspaceMatcherProps as Yv, ChangeConnectorRootProps as Yx, ImplicitLocaleResourceBundle as Yy, PartialContext as Z, HandleCallbackResult as ZC, createDraftFrom as ZS, defineSearchFilterOperators as Z_, TimelineController as Za, useDocumentOperationEvent as Zb, UserAvatarProps as Zc, getTargetDocument as Zd, findIndex as Zf, isTimeoutError as Zg, CollapseMenuProps as Zh, useDocumentValuePermissions as Zi, isPublishedPerspective as Zl, ScheduleDocumentVersionEvent as Zm, VirtualizerScrollInstance as Zn, FieldCommentsProps as Zo, ChangeListProps as Zp, DocumentPreviewPresenceProps as Zr, FileLike as Zs, ObjectMembers as Zt, ComputeDiff as Zu, CommentsSelectedPath as Zv, ChangeIndicator as Zx, LocaleConfigContext as Zy, useMiddlewareComponents as _, ContextMenuButton as _C, DraftsModelDocument as _S, PatchEvent as __, createDocumentStore as _a, useTools as _b, defaultRenderItem as _c, FormFieldGroup as _d, useSingleDocRelease as _f, WorkspaceLoaderBoundary as _g, HexColor as _h, useProjectDatasets as _i, DetailPreview as _l, DiffComponentOptions as _m, TextInputProps as _n, createObservableBufferedDocument as _o, noop as _p, FormCell as _r, PortableTextInputProps as _s, ReleaseActionComponent as _t, getTargetScopeId as _u, SearchSort as _v, createSanityMediaLibraryImageSource as _w, WelcomeBackEvent as _x, CommentStatus as _y, resolveSchemaTypes as a, idMatchesPerspective as aC, VersionInfoDocumentStub as aS, generateStudioManifest as a_, Grant as aa, LocaleWeekInfo as ab, StudioReferenceInputProps as ac, ObjectRenderMembersCallback as ad, buildLegacyTheme as af, useComments as ag, isEditDocumentVersionEvent as ah, useDocumentPresence as ai, StatusButton as al, visitDiff as am, MemberItemError as an, CommitError as ao, normalizePathSegment as ap, FieldActionsProps as ar, ArrayOfPrimitivesInputProps as as, SchemaPluginOptions as at, PUBLISHED as au, SearchOperatorBuilder as av, WorkspacesProvider as aw, DocumentStoreExtraOptions as ax, CommentCreatePayload as ay, AssetSourceResolver as b, CommandListGetItemDisabledCallback as bC, Id as bS, FormIncPatch as b_, listenQuery as ba, RESOLVE_INITIAL_VALUE_TIMEOUT_MS as bb, EditReferenceOptions as bc, resolveConditionalProperty as bd, SchedulesContext$1 as bf, WorkspaceProviderProps as bg, UserColorManager as bh, getProjectGrants as bi, DefaultPreviewProps as bl, FieldChangeNode as bm, TagsArrayInput as bn, getPreviewStateObservable as bo, RevertChangesButton as bp, FormInputAbsolutePathArg as br, StringInputProps as bs, ReleaseActionsContext as bt, useSetVariant as bu, SearchResultItemPreview as bv, CommittedEvent as bx, CommentThreadItem as by, createWorkspaceFromConfig as c, isPublishedId$1 as cC, DocumentPreviewStore as cS, StudioWorkspaceManifest as c_, useResolveInitialValueForType as ca, StaticLocaleResourceBundle as cb, FormProvider as cc, ArrayItemError as cd, useDocumentPreviewValues as cf, isTextSelectionComment as cg, isUnpublishDocumentEvent as ch, useDocumentPreviewStore as ci, TemplatePreview as cl, ArrayDiff$1 as cm, ArrayOfObjectsItem as cn, MutationResult as co, stringToPath as cp, FieldActionMenu as cr, ComplexElementProps as cs, SourceClientOptions as ct, useDocumentVersionInfo as cu, SearchOperatorParams as cv, AuthProvider as cw, ListenerEvent as cx, CommentIntentGetter as cy, flattenConfig as d, isVersionId as dC, createDocumentPreviewStore as dS, BaseOptions as d_, selectUpstreamVersion as da, StudioLocaleResourceKeys as db, FormBuilderProps as dc, IncompatibleTypeError as dd, TasksNavigationContextValue as df, CommentInput as dg, UserColorManagerProvider as dh, useHistoryStore as di, InlinePreviewProps as dl, ChangeNode as dm, ArrayOfObjectsInputMembersProps as dn, WithVersion as do, emptyValuesByType as dp, useGetFormValue as dr, InputProps as ds, Tool as dt, RELEASES_INTENT as du, ValuelessSearchOperatorParams as dv, AgentVersionDisplay as dw, DocumentPairTarget as dx, CommentOperations as dy, getDraftId as eC, sortReleases as eS, isInvalidSessionError as e_, getDocumentPairPermissions as ea, LocalePluginOptions as eb, UploadProgressEvent as ec, NodeChronologyProps as ed, LoadingTuple as ef, buildCommentRangeDecorations as eg, UpdateLiveDocumentEvent as eh, ResourceCache as ei, ZIndexContextValue as el, useDiffAnnotationColor as em, ObjectInputMemberProps as en, Timeline as eo, getValueAtPath as ep, ArrayOfObjectsFunctions as er, ObjectFieldProps as es, PreparedConfig as et, isReleasePerspective as eu, I18nSearchOperatorDescriptionKey as ev, RequestErrorClaim as ew, useDocumentIdStack as ex, CommentsIntentProviderProps as ey, PluginFactory as f, newDraftFrom as fC, ApiConfig as fS, CopyOptions as f_, isNewDocument as fa, Rule$1 as fb, defaultRenderAnnotation as fc, InvalidItemTypeError as fd, MentionUserContextValue as ff, CommentInputHandle as fg, UserColorManagerProviderProps as fh, useKeyValueStore as fi, BlockPreview as fl, ChangeTitlePath as fm, ArrayOfObjectsInputMember as fn, checkoutPair as fo, isAddedItemDiff as fp, FormValueContextValue as fr, NumberInputProps as fs, Workspace as ft, DEFAULT_ANNOTATIONS as fu, defineSearchOperator as fv, useAgentVersionDisplay as fw, IdPair as fx, CommentPath as fy, defineConfig as g, getDocumentVariantType as gC, DocumentStackAvailability as gS, SanityClipboardItem as g_, QueryParams$1 as ga, useUserListWithPermissions as gb, defaultRenderInput as gc, UndeclaredMembersError as gd, SingleDocReleaseProvider as gf, UpsellData as gg, useUserColorManager as gh, useUserStore as gi, MediaPreviewProps as gl, DiffComponent as gm, TextInput$1 as gn, CommitRequest as go, isUnchangedDiff as gp, useDocumentDivergences as gr, PasteData$1 as gs, WorkspaceSummary as gt, getPairTarget as gu, SearchOptions as gv, createSanityMediaLibraryFileSource as gw, ResetEvent as gx, CommentReactionShortNames as gy, createConfig as h, DocumentVariantType as hC, DocumentAvailability as hS, PasteOptions as h_, DocumentStoreOptions as ha, UserWithPermission as hb, defaultRenderInlineBlock as hc, TypeAnnotationMismatchError as hd, usePausedScheduledDraft as hf, CommentsUpsellContextValue as hg, useUserColor as hh, useRenderingContextStore as hi, MediaPreview as hl, Diff$1 as hm, UrlInputProps as hn, createBufferedDocument as ho, isRemovedItemDiff as hp, DivergencesProvider as hr, OnPathFocusPayload as hs, WorkspaceOptions as ht, TargetDocumentState as hu, SearchFactoryOptions as hv, EditPortal as hw, ReconnectEvent as hx, CommentReactionOption as hy, SchemaError as i, getVersionId as iC, useDocumentVersions as iS, GenerateStudioManifestOptions as i_, EvaluationParams as ia, LocaleSource as ib, StudioReferenceInput as ic, ObjectFormNode as id, defaultTheme as if, CommentsEnabledContextValue as ig, isDeleteDocumentVersionEvent as ih, useGlobalPresence as ii, TextWithToneProps as il, getDiffAtPath as im, MemberFieldProps as in, Transaction as io, normalizeKeySegment as ip, useFieldActions as ir, ArrayOfPrimitivesElementType as is, ScheduledPublishingPluginOptions as it, LATEST as iu, SearchOperatorBase as iv, CorsProbeOutcome as iw, DocumentRebaseTelemetryEvent as ix, CommentContext as iy, DocumentActionsResolver as j, ConnectingStatus as jC, getVersionInlineBadge as jS, ToolLink as j_, OperationSuccess as ja, TemplateArrayFieldDefinition as jb, useFormCallbacks as jc, isReleaseVersion as jd, DocumentActionDescription as jf, isValidAnnouncementAudience as jg, DynamicFeedbackTags as jh, PresenceLocation as ji, PreviewCardContextValue as jl, StringSegmentChanged$1 as jm, UpdateReadOnlyPlugin as jn, isArrayOfObjectsInputProps as jo, DiffTooltip as jp, FormFieldProps as jr, ItemProps as js, DocumentFieldAction as jt, FormState as ju, useColorSchemeValue as jv, useConnectionState as jx, ValidateDocumentOptions as jy, DefaultPluginsWorkspaceOptions as k, CONNECTING as kC, Selection as kS, FormUnsetPatch as k_, remoteSnapshots as ka, InitialValueTemplateItem as kb, FormCallbacksProvider as kc, isDraftVersion as kd, DocumentActionConfirmDialogProps as kf, StudioProvider as kg, useInStudioFeedback as kh, DocumentPresence as ki, PreviewProps as kl, StringDiff$1 as km, PortableTextInput as kn, Preview as ko, FallbackDiff as kp, FormFieldHeaderTextProps as kr, RenderPreviewCallbackProps as ks, documentFieldActionsReducer as kt, SetActiveGroupOperation as ku, useColorSchemeOptions as kv, ConnectionState as kx, useVersionRelease as ky, resolveConfig as l, isSystemBundle as lC, DocumentPreviewStoreOptions as lS, CopyPasteProvider as l_, useInitialValue as la, TFunction$1 as lb, FormProviderProps as lc, DuplicateKeysError as ld, TasksUpsellContextValue as lf, COMMENTS_INSPECTOR_NAME as lg, isUnscheduleDocumentVersionEvent as lh, useDocumentStore as li, TemplatePreviewProps as ll, ArrayItemMetadata as lm, MemberItemProps as ln, Pair as lo, resolveDiffComponent as lp, FieldActionMenuProps as lr, EditorChange as ls, SourceOptions as lt, useArchivedReleases as lu, SearchValueFormatterContext as lv, CookielessCompatibleLoginMethod as lw, MutationPerformanceEvent as lx, CommentListBreadcrumbs as ly, definePlugin as m, systemBundles as mC, AvailabilityResponse as mS, DocumentMeta as m_, DocumentStore as ma, UserListWithPermissionsOptions as mb, defaultRenderField as mc, MixedArrayError as md, useScheduledDraftDocument as mf, CommentsList as mg, createUserColorManager as mh, useProjectStore as mi, BlockImagePreviewProps as ml, ChunkType as mm, UrlInput as mn, BufferedDocumentWrapper as mo, isGroupChange as mp, useFormValue as mr, OnPasteFn as ms, WorkspaceHiddenProperty as mt, ReleaseDocument$1 as mu, getSearchableTypes as mv, EnhancedObjectDialog as mw, PendingMutationsEvent as mx, CommentReactionItem as my, getConfigContextFromSource as n, getPublishedId$1 as nC, useFormatRelativeLocalePublishDate as nS, renderStudio as n_, useDocumentPairPermissionsFromHookFactory as na, LocaleResourceKey as nb, UploaderDef as nc, NumberFormNode as nd, createHookFromObservableFactory as nf, useCommentsSelectedPath as ng, isCreateLiveDocumentEvent as nh, ResourceCacheProviderProps as ni, ToastParams$1 as nl, getAnnotationAtPath as nm, MemberFieldError as nn, CombinedDocument as no, normalizeIndexSegment as np, useHoveredField as nr, StringFieldProps as ns, ResolveProductionUrlContext as nt, getReleaseTone as nu, OperatorButtonValueComponentProps as nv, StudioErrorHandler as nw, editState$1 as nx, CommentsProvider as ny, CreateWorkspaceFromConfigOptions as o, isDraft as oC, isReleaseDocument as oS, ManifestWorkspaceInput as o_, GrantsStore as oa, LocalesBundlesOption as ob, StudioCrossDatasetReferenceInput as oc, PrimitiveFormNode as od, LegacyThemeProps as of, CommentsContextValue as og, isPublishDocumentVersionEvent as oh, useComlinkStore as oi, StatusButtonProps as ol, Annotation as om, ArrayOfPrimitivesItem as on, DocumentVersion as oo, pathToString as op, FieldActionsResolver as or, BaseInputProps as os, SingleWorkspace as ot, useReleasesIds as ou, SearchOperatorButtonValue as ov, WorkspacesProviderProps as ow, InitialSnapshotEvent as ox, CommentDocument as oy, createPlugin as p, removeDupes as pC, AvailabilityReason as pS, CopyPasteContextType as p_, useDocumentValues as pa, UserListWithPermissionsHookValue as pb, defaultRenderBlock as pc, MissingKeysError as pd, DEFAULT_STUDIO_CLIENT_OPTIONS as pf, CommentInputProps as pg, UserColorManagerOptions as ph, usePresenceStore as pi, BlockImagePreview as pl, Chunk as pm, ArrayOfObjectsMemberProps as pn, BufferedDocumentEvent as po, isFieldChange as pp, FormValueProvider as pr, ObjectInputProps as ps, WorkspaceHiddenContext as pt, DEFAULT_DECORATORS as pu, createSearch as pv, isAgentBundleName as pw, MutationEvent as px, CommentPostPayload as py, MissingConfigFile as q, createAuthStore as qC, PublishedId as qS, SearchProvider as q_, HistoryStoreOptions as qa, useEditState as qb, ZIndexProvider as qc, isCardinalityOnePerspective as qd, ReleasesNav as qf, classifyConfigError as qg, CollapseMenuButtonProps as qh, createGrantsStore as qi, DocumentStatus as ql, EventsStore as qm, ArrayOfPrimitiveOptionsInput as qn, ArrayFieldProps as qo, ChangeTitleSegment as qp, RegionWithIntersectionDetails as qr, StudioImageInput as qs, toMutationPatches as qt, ArrayOfObjectsFormNode as qu, ConfigErrorGate as qv, ReporterHook as qx, LocaleProvider as qy, useConfigContextFromSource as r, getVersionFromId$1 as rC, useDocumentVersionTypeSortedList as rS, uploadSchema as r_, DocumentValuePermission as ra, LocaleResourceRecord as rb, UploaderResolver as rc, ObjectArrayFormNode as rd, catchWithCount as rf, useCommentsEnabled as rg, isDeleteDocumentGroupEvent as rh, useResourceCache as ri, TextWithTone as rl, getAnnotationColor as rm, MemberField as rn, DocumentRemoteMutationVersionEvent as ro, normalizeIndexTupleSegment as rp, HoveredFieldProvider as rr, ArrayOfObjectsInputProps as rs, SanityFormConfig as rt, getReleaseIdFromReleaseDocumentId as ru, OperatorInputComponentProps as rv, CorsCheckResult as rw, DocumentPairLoadedEvent as rx, CommentBaseCreatePayload as ry, createSourceFromConfig as s, isDraftId as sC, MetadataWrapper as sS, StudioManifest as s_, PermissionCheckResult as sa, LocalesOption as sb, StudioCrossDatasetReferenceInputProps as sc, StringFormNode as sd, LegacyThemeTints as sf, hasCommentMessageValue as sg, isScheduleDocumentVersionEvent as sh, useConnectionStatusStore as si, Resizable as sl, AnnotationDetails as sm, PrimitiveMemberItemProps as sn, DocumentVersionEvent as so, pathsAreEqual as sp, FieldActionsProvider as sr, BooleanInputProps as ss, Source as st, ReleasesUpsellContextValue as su, SearchOperatorInput as sv, AuthConfig as sw, LatencyReportEvent as sx, CommentFieldCreatePayload as sy, ActiveWorkspaceMatcherContextValue as t, getIdPair as tC, useVersionOperations as tS, isUnauthorizedError as t_, useDocumentPairPermissions as ta, LocaleResourceBundle as tb, Uploader as tc, NodeDiffProps as td, ReactHook as tf, useCommentsTelemetry as tg, isCreateDocumentVersionEvent as th, ResourceCacheProvider as ti, ImperativeToast as tl, DiffVisitor as tm, MemberFieldSet as tn, TimelineOptions as to, isEmptyObject as tp, FormBuilderContextValue as tr, PrimitiveFieldProps as ts, ReleaseActionsResolver as tt, isGoingToUnpublish as tu, I18nSearchOperatorNameKey as tv, RequestErrorReportOptions as tw, EditStateFor as tx, CommentsEnabledProvider as ty, prepareConfig as u, isSystemBundleName as uC, ObserveForPreviewFn as uS, useCopyPaste as u_, useInitialValueResolverContext as ua, ValidationLocaleResourceKeys as ub, FormBuilder as uc, FieldError as ud, TasksContextValue as uf, CommentInputContextValue as ug, isUpdateLiveDocumentEvent as uh, useGrantsStore as ui, InlinePreview as ul, BooleanDiff$1 as um, ArrayOfObjectsInputMembers as un, RemoteSnapshotVersionEvent as uo, useDocumentChange as up, GetFormValueProvider as ur, InputOnSelectFileFunctionProps as us, TemplateResolver as ut, useActiveReleases as uu, ValuelessSearchOperatorBuilder as uv, LoginMethod as uw, getPairListener as ux, CommentMessage as uy, ActionComponent as v, CommandList as vC, DraftsModelDocumentAvailability as vS, FormDecPatch as v_, ListenQueryOptions as va, useTemplates as vb, defaultRenderPreview as vc, ProvenanceDiffAnnotation as vd, getSchemaTypeTitle as vf, useWorkspaceLoader as vg, UserColor as vh, useProject as vi, DetailPreviewProps as vl, DiffComponentResolver as vm, TelephoneInput as vn, prepareForPreview as vo, DocumentChangeContextInstance as vp, FormRow as vr, PrimitiveInputElementProps as vs, ReleaseActionDescription as vt, useTargetDocumentState as vu, SearchTerms as vv, WelcomeEvent as vx, CommentTaskCreatePayload as vy, BetaFeatures as w, CommandListItemContext as wC, ObservePathsFn as wS, FormPatchBase as w_, InitialValueLoadingMsg as wa, resolveInitialValue as wb, useReferenceInputOptions as wc, useVariantDocumentOperations as wd, DocumentBadgeProps as wf, UpsellDialogDismissed as wg, useStudioFeedbackTags as wh, ProjectOrganizationData as wi, GeneralPreviewLayoutKey as wl, ItemDiff$1 as wm, SlugInputProps as wn, unstable_useObserveDocument as wo, FromToArrow as wp, FieldStatusProps as wr, RenderBlockCallback as ws, DocumentInspectorMenuItem as wt, ParseError as wu, ColorSchemeLocalStorageProvider as wv, MutationPayload as wx, CommentsTextSelectionItem as wy, AsyncComposableOption as x, CommandListGetItemKeyCallback as xC, InvalidationChannelEvent as xS, FormInsertPatch as x_, InitialValueOptions as xa, Serializeable as xb, ReferenceInputOptions as xc, getDocumentIdForCanvasLink as xd, ScheduledBadge as xf, useWorkspace as xg, UserId as xh, ProjectData as xi, CompactPreview as xl, FieldOperationsAPI as xm, TagsArrayInputProps as xn, getPreviewPaths as xo, MetaInfo as xp, FormInputRelativePathArg as xr, RenderAnnotationCallback as xs, FormComponents as xt, useDocumentLimitsUpsellContext as xu, SearchPopover as xv, DocumentMutationEvent as xx, CommentUpdateOperationOptions as xy, AppsOptions as y, CommandListElementType as yC, FieldName as yS, FormDiffMatchPatch as y_, ListenQueryParams as ya, DEFAULT_MAX_RECURSION_DEPTH as yb, EditReferenceLinkComponentProps as yc, ALL_FIELDS_GROUP as yd, createSchema as yf, WorkspaceProvider as yg, UserColorHue as yh, createProjectStore as yi, DefaultPreview as yl, DiffProps as ym, TelephoneInputProps as yn, getPreviewValueWithFallback as yo, ValueError as yp, FormInput as yr, PrimitiveInputProps as ys, ReleaseActionProps as yt, useAllVariants as yu, compileFieldPath as yv, CommitFunction as yx, CommentTextSelection as yy, DocumentLanguageFilterComponent as z, isAuthStore as zC, ReleasesNavMenuItemPropsGetter as zS, NavbarProps as z_, DocumentVersionSnapshots as za, DocumentField as zb, dec as zc, LoadingState as zd, DuplicateDocumentActionComponent as zf, useSource as zg, DocumentGroupInventoryProps as zh, KeyValueStore as zi, HotkeysProps$1 as zl, BaseEvent as zm, DateTimeInputProps as zn, FormBuilderCustomMarkersComponent as zo, DiffFromToProps as zp, FieldPresenceProps as zr, BlockStyleProps as zs, DocumentFieldActionTone as zt, ArrayOfObjectsMember as zu, MatchWorkspaceResult as zv, TrackedArea as zx, UseTranslationResponse as zy };
|
|
17587
|
-
//# sourceMappingURL=ActiveWorkspaceMatcherContext-
|
|
17675
|
+
//# sourceMappingURL=ActiveWorkspaceMatcherContext-CHfBjoka.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as Button$1, t as TooltipDelayGroupProvider$1 } from "./ui-components-CIbWmKVS.js";
|
|
2
|
-
import { dc as DEFAULT_MONTH_NAMES, fc as DEFAULT_WEEK_DAY_NAMES, lc as useWeeksOfMonth, mc as useTimeZone, np as useTranslation, uc as ARROW_KEYS } from "./core-
|
|
2
|
+
import { dc as DEFAULT_MONTH_NAMES, fc as DEFAULT_WEEK_DAY_NAMES, lc as useWeeksOfMonth, mc as useTimeZone, np as useTranslation, uc as ARROW_KEYS } from "./core-BXnpDDjG.js";
|
|
3
3
|
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -294,4 +294,4 @@ const PRESERVE_FOCUS_ELEMENT = /* @__PURE__ */ jsx("span", {
|
|
|
294
294
|
});
|
|
295
295
|
export { CalendarDay as n, CalendarFilter as t };
|
|
296
296
|
|
|
297
|
-
//# sourceMappingURL=CalendarFilter-
|
|
297
|
+
//# sourceMappingURL=CalendarFilter-CZdQWkFJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarFilter-B4CCERHQ.js","names":["CloseIcon","Card","CardTone","Text","isWeekend","useCallback","CalendarDayProps","date","Date","focused","onSelect","isCurrentMonth","isToday","selected","dateStyles","React","CSSProperties","disabled","CalendarDay","props","$","_c","t0","t1","undefined","t2","handleClick","tone","t3","toDateString","t4","t5","getDate","getMonth","t6","Symbol","for","position","t7","t8","opacity","textAlign","t9","t10","t11","t12","Box","Card","Grid","Label","isSameDay","isSameMonth","TimeZoneScope","useTimeZone","DEFAULT_WEEK_DAY_NAMES","useWeeksOfMonth","CalendarDay","DefaultCalendarDay","CalendarProps","CalendarMonthProps","date","Date","focused","selected","onSelect","hidden","renderCalendarDay","disabled","timeZoneScope","CalendarMonth","props","$","_c","getCurrentZoneDate","weeksOfMonth","t0","t1","t2","Symbol","for","gridGap","gridTemplateColumns","map","_temp","t3","t4","week","weekIdx","days","dayDate","dayIdx","isToday","isCurrentMonth","t5","weekday","textAlign","slice","ChevronLeftIcon","ChevronRightIcon","Box","Flex","Text","addDays","addMonths","setHours","setMinutes","ComponentProps","ForwardedRef","forwardRef","KeyboardEvent","useCallback","useEffect","useImperativeHandle","useRef","useState","Button","TooltipDelayGroupProvider","TimeZoneScope","useTimeZone","useTranslation","ARROW_KEYS","DEFAULT_MONTH_NAMES","CalendarDayProps","CalendarMonth","CalendarProps","Omit","focusedDate","Date","onSelect","date","onFocusedDateChange","index","selectedDate","renderCalendarDay","props","React","ReactNode","disabled","timeZoneScope","PRESERVE_FOCUS_ELEMENT","overflow","position","outline","CalendarFilter","Calendar","forwardedRef","$","_c","handleOnFocusedDateChange","providedFocusedDate","restProps","t0","Symbol","for","_focusedDate","_setFocusedDate","t","tCore","zoneDateToUtc","t1","t2","date_0","setFocusedDate","t3","by","moveFocusedDate","t4","date_1","targetDate","getHours","getMinutes","undefined","handleDateChange","ref","t5","current","t6","querySelector","focus","focusCurrentWeekDay","t7","event","includes","key","preventDefault","currentTarget","hasAttribute","handleKeyDown","t8","t9","t10","currentFocusInCalendarGrid","document","activeElement","matches","t11","t12","now","handleNowClick","t13","handlePrevMonthClick","t14","handleNextMonthClick","t15","borderBottom","minHeight","top","t16","getMonth","t17","getFullYear","t18","t19","content","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32"],"sources":["../src/core/components/inputs/DateFilters/calendar/CalendarDay.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarMonth.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarFilter.tsx"],"sourcesContent":["import {CloseIcon} from '@sanity/icons/Close'\nimport {Card, type CardTone, Text} from '@sanity/ui'\nimport {isWeekend} from 'date-fns/isWeekend'\nimport {useCallback} from 'react'\n\nexport interface CalendarDayProps {\n date: Date // clock time\n focused?: boolean\n onSelect: (date?: Date) => void\n isCurrentMonth?: boolean\n isToday: boolean\n selected?: boolean\n dateStyles?: React.CSSProperties\n disabled?: boolean\n}\n\nexport function CalendarDay(props: CalendarDayProps) {\n const {\n date,\n focused,\n isCurrentMonth,\n isToday,\n onSelect,\n selected,\n disabled,\n dateStyles = {},\n } = props\n\n const handleClick = useCallback(() => {\n if (selected) {\n onSelect(undefined)\n } else {\n onSelect(date)\n }\n }, [date, onSelect, selected])\n\n let tone: CardTone\n if (isToday || selected) {\n tone = 'primary'\n } else if (isWeekend(date)) {\n // tone = 'transparent'\n tone = 'default'\n } else {\n tone = 'default'\n }\n\n return (\n <div aria-selected={selected} data-ui=\"CalendarDay\">\n <Card\n aria-label={date.toDateString()}\n aria-pressed={selected}\n as=\"button\"\n __unstable_focusRing\n data-weekday\n data-focused={focused ? 'true' : ''}\n data-testid={isToday ? 'day-tile-today' : `day-tile-${date.getDate()}-${date.getMonth()}`}\n role=\"button\"\n tabIndex={-1}\n onClick={handleClick}\n paddingX={3}\n paddingY={4}\n radius={2}\n selected={selected}\n style={{position: 'relative'}}\n tone={tone}\n disabled={disabled}\n >\n <Text\n size={1}\n style={{\n opacity: !selected && !isCurrentMonth ? 0.35 : 1,\n textAlign: 'center',\n ...dateStyles,\n }}\n >\n {selected ? <CloseIcon /> : date.getDate()}\n </Text>\n </Card>\n </div>\n )\n}\n","import {Box, Card, Grid, Label} from '@sanity/ui'\nimport {isSameDay} from 'date-fns/isSameDay'\nimport {isSameMonth} from 'date-fns/isSameMonth'\n\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {DEFAULT_WEEK_DAY_NAMES} from '../../DateInputs/calendar/constants'\nimport {useWeeksOfMonth} from '../../DateInputs/calendar/utils'\nimport {CalendarDay as DefaultCalendarDay} from './CalendarDay'\nimport {type CalendarProps} from './CalendarFilter'\n\ninterface CalendarMonthProps {\n date: Date\n focused?: Date\n selected?: Date\n onSelect: (date?: Date) => void\n hidden?: boolean\n renderCalendarDay?: CalendarProps['renderCalendarDay']\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\nexport function CalendarMonth(props: CalendarMonthProps) {\n const {date, renderCalendarDay, hidden, disabled, timeZoneScope} = props\n const {getCurrentZoneDate} = useTimeZone(timeZoneScope)\n const CalendarDay = renderCalendarDay || DefaultCalendarDay\n const weeksOfMonth = useWeeksOfMonth(date)\n\n return (\n <Box aria-hidden={hidden || false} data-ui=\"CalendarMonth\">\n <Grid\n style={{\n gridGap: '1px',\n gridTemplateColumns: 'repeat(7, 1fr)',\n }}\n >\n {/* Header */}\n {DEFAULT_WEEK_DAY_NAMES.map((weekday) => (\n <Card key={weekday} paddingY={3}>\n <Label size={1} style={{textAlign: 'center'}}>\n {weekday.slice(0, 1)}\n </Label>\n </Card>\n ))}\n\n {weeksOfMonth.map((week, weekIdx) =>\n week.days.map((dayDate, dayIdx) => {\n const focused = props.focused && isSameDay(dayDate, props.focused)\n const selected = props.selected && isSameDay(dayDate, props.selected)\n const isToday = isSameDay(dayDate, getCurrentZoneDate())\n const isCurrentMonth = isSameMonth(dayDate, props.focused || date)\n\n return (\n <CalendarDay\n key={`${weekIdx}-${dayIdx}`}\n date={dayDate}\n focused={focused}\n isCurrentMonth={isCurrentMonth}\n isToday={isToday}\n onSelect={props.onSelect}\n selected={selected}\n disabled={disabled}\n />\n )\n }),\n )}\n </Grid>\n </Box>\n )\n}\n","import {ChevronLeftIcon} from '@sanity/icons/ChevronLeft'\nimport {ChevronRightIcon} from '@sanity/icons/ChevronRight'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {addDays} from 'date-fns/addDays'\nimport {addMonths} from 'date-fns/addMonths'\nimport {setHours} from 'date-fns/setHours'\nimport {setMinutes} from 'date-fns/setMinutes'\nimport {\n type ComponentProps,\n type ForwardedRef,\n forwardRef,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nimport {Button} from '../../../../../ui-components/button/Button'\nimport {TooltipDelayGroupProvider} from '../../../../../ui-components/tooltipDelayGroupProvider/TooltipDelayGroupProvider'\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {useTranslation} from '../../../../i18n/hooks/useTranslation'\nimport {ARROW_KEYS, DEFAULT_MONTH_NAMES} from '../../DateInputs/calendar/constants'\nimport {type CalendarDayProps} from './CalendarDay'\nimport {CalendarMonth} from './CalendarMonth'\n\nexport type CalendarProps = Omit<ComponentProps<'div'>, 'onSelect'> & {\n focusedDate?: Date\n onSelect: (date?: Date) => void\n onFocusedDateChange?: (index: Date) => void\n selectedDate?: Date\n renderCalendarDay?: (props: CalendarDayProps) => React.ReactNode\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\n// This is used to maintain focus on a child element of the calendar-grid between re-renders\n// When using arrow keys to move focus from a day in one month to another we are setting focus at the button for the day\n// after it has changed but *only* if we *already* had focus inside the calendar grid (e.g not if focus was on the \"next\n// year\" button, or any of the other controls)\n// When moving from the last day of a month that displays 6 weeks in the grid to a month that displays 5 weeks, current\n// focus gets lost on render, so this provides us with a stable element to help us preserve focus on a child element of\n// the calendar grid between re-renders\nconst PRESERVE_FOCUS_ELEMENT = (\n <span\n data-preserve-focus\n style={{overflow: 'hidden', position: 'absolute', outline: 'none'}}\n tabIndex={-1}\n />\n)\n\nexport const CalendarFilter = forwardRef(function Calendar(\n props: CalendarProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n focusedDate: providedFocusedDate,\n onFocusedDateChange: handleOnFocusedDateChange,\n onSelect,\n selectedDate,\n renderCalendarDay,\n timeZoneScope,\n ...restProps\n } = props\n const [_focusedDate, _setFocusedDate] = useState<Date>(new Date())\n const {t: tCore} = useTranslation()\n const {zoneDateToUtc} = useTimeZone(timeZoneScope)\n\n const focusedDate = providedFocusedDate || _focusedDate\n\n const onFocusedDateChange = useCallback(\n (date: Date) => {\n if (handleOnFocusedDateChange && providedFocusedDate) {\n handleOnFocusedDateChange(date)\n } else {\n _setFocusedDate(date)\n }\n },\n [handleOnFocusedDateChange, providedFocusedDate],\n )\n\n const setFocusedDate = useCallback(\n (date: Date) => {\n onFocusedDateChange(zoneDateToUtc(date))\n },\n [onFocusedDateChange, zoneDateToUtc],\n )\n\n const moveFocusedDate = useCallback(\n (by: number) => setFocusedDate(addMonths(focusedDate, by)),\n [focusedDate, setFocusedDate],\n )\n\n const handleDateChange = useCallback(\n (date?: Date) => {\n if (date) {\n const targetDate = zoneDateToUtc(\n setMinutes(setHours(date, date.getHours()), date.getMinutes()),\n )\n onSelect(targetDate)\n onFocusedDateChange(targetDate)\n } else {\n onSelect(undefined)\n }\n },\n [onSelect, zoneDateToUtc, onFocusedDateChange],\n )\n\n const ref = useRef<HTMLDivElement | null>(null)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const focusCurrentWeekDay = useCallback(() => {\n ref.current?.querySelector<HTMLElement>(`[data-focused=\"true\"]`)?.focus()\n }, [ref])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (!ARROW_KEYS.includes(event.key)) {\n return\n }\n event.preventDefault()\n if (event.currentTarget.hasAttribute('data-calendar-grid')) {\n focusCurrentWeekDay()\n return\n }\n if (event.key === 'ArrowUp') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -7)))\n }\n if (event.key === 'ArrowDown') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 7)))\n }\n if (event.key === 'ArrowLeft') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -1)))\n }\n if (event.key === 'ArrowRight') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 1)))\n }\n // set focus temporarily on this element to make sure focus is still inside the calendar-grid after re-render\n ref.current?.querySelector<HTMLElement>('[data-preserve-focus]')?.focus()\n },\n [ref, focusCurrentWeekDay, onFocusedDateChange, focusedDate, zoneDateToUtc],\n )\n\n useEffect(() => {\n focusCurrentWeekDay()\n }, [focusCurrentWeekDay])\n\n useEffect(() => {\n const currentFocusInCalendarGrid = document.activeElement?.matches(\n '[data-calendar-grid], [data-calendar-grid] [data-preserve-focus]',\n )\n if (\n // Only move focus if it's currently in the calendar grid\n currentFocusInCalendarGrid\n ) {\n focusCurrentWeekDay()\n }\n }, [ref, focusCurrentWeekDay, focusedDate])\n\n // Select AND focus current date when 'today' is pressed\n const handleNowClick = useCallback(() => {\n const now = new Date()\n onSelect(now)\n onFocusedDateChange(now)\n }, [onSelect, onFocusedDateChange])\n\n const handlePrevMonthClick = useCallback(() => moveFocusedDate(-1), [moveFocusedDate])\n\n const handleNextMonthClick = useCallback(() => moveFocusedDate(1), [moveFocusedDate])\n\n return (\n <Box data-ui=\"Calendar\" {...restProps} ref={ref}>\n {/* Month + Year header */}\n <Flex\n align=\"center\"\n paddingLeft={4}\n style={{\n borderBottom: '1px solid var(--card-border-color)',\n minHeight: `55px`,\n position: 'sticky',\n top: 0,\n }}\n >\n <Flex align=\"center\" flex={1} justify=\"space-between\">\n <Text weight=\"medium\" size={1}>\n {DEFAULT_MONTH_NAMES[focusedDate?.getMonth()]} {focusedDate?.getFullYear()}\n </Text>\n <Flex paddingRight={3} gap={2}>\n <TooltipDelayGroupProvider>\n <Button\n icon={ChevronLeftIcon}\n mode=\"bleed\"\n onClick={handlePrevMonthClick}\n tooltipProps={{content: 'Previous month'}}\n disabled={restProps.disabled}\n />\n <Button\n icon={ChevronRightIcon}\n mode=\"bleed\"\n onClick={handleNextMonthClick}\n tooltipProps={{content: 'Next month'}}\n disabled={restProps.disabled}\n />\n </TooltipDelayGroupProvider>\n </Flex>\n </Flex>\n </Flex>\n\n {/* Select date */}\n <Box>\n {/* Selected month (grid of days) */}\n <Box\n data-calendar-grid\n onKeyDown={handleKeyDown}\n overflow=\"hidden\"\n paddingBottom={1}\n paddingX={1}\n tabIndex={0}\n >\n <CalendarMonth\n date={focusedDate}\n focused={providedFocusedDate}\n onSelect={handleDateChange}\n selected={selectedDate}\n renderCalendarDay={renderCalendarDay}\n disabled={restProps.disabled}\n timeZoneScope={timeZoneScope}\n />\n {PRESERVE_FOCUS_ELEMENT}\n </Box>\n </Box>\n\n {/* Today button */}\n <Box flex={1} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n <Button\n disabled={restProps.disabled}\n mode=\"bleed\"\n onClick={handleNowClick}\n width=\"fill\"\n aria-label={tCore('calendar.action.go-to-today-aria-label')}\n text={tCore('calendar.action.go-to-today')}\n />\n </Box>\n </Box>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarFilter-CZdQWkFJ.js","names":["CloseIcon","Card","CardTone","Text","isWeekend","useCallback","CalendarDayProps","date","Date","focused","onSelect","isCurrentMonth","isToday","selected","dateStyles","React","CSSProperties","disabled","CalendarDay","props","$","_c","t0","t1","undefined","t2","handleClick","tone","t3","toDateString","t4","t5","getDate","getMonth","t6","Symbol","for","position","t7","t8","opacity","textAlign","t9","t10","t11","t12","Box","Card","Grid","Label","isSameDay","isSameMonth","TimeZoneScope","useTimeZone","DEFAULT_WEEK_DAY_NAMES","useWeeksOfMonth","CalendarDay","DefaultCalendarDay","CalendarProps","CalendarMonthProps","date","Date","focused","selected","onSelect","hidden","renderCalendarDay","disabled","timeZoneScope","CalendarMonth","props","$","_c","getCurrentZoneDate","weeksOfMonth","t0","t1","t2","Symbol","for","gridGap","gridTemplateColumns","map","_temp","t3","t4","week","weekIdx","days","dayDate","dayIdx","isToday","isCurrentMonth","t5","weekday","textAlign","slice","ChevronLeftIcon","ChevronRightIcon","Box","Flex","Text","addDays","addMonths","setHours","setMinutes","ComponentProps","ForwardedRef","forwardRef","KeyboardEvent","useCallback","useEffect","useImperativeHandle","useRef","useState","Button","TooltipDelayGroupProvider","TimeZoneScope","useTimeZone","useTranslation","ARROW_KEYS","DEFAULT_MONTH_NAMES","CalendarDayProps","CalendarMonth","CalendarProps","Omit","focusedDate","Date","onSelect","date","onFocusedDateChange","index","selectedDate","renderCalendarDay","props","React","ReactNode","disabled","timeZoneScope","PRESERVE_FOCUS_ELEMENT","overflow","position","outline","CalendarFilter","Calendar","forwardedRef","$","_c","handleOnFocusedDateChange","providedFocusedDate","restProps","t0","Symbol","for","_focusedDate","_setFocusedDate","t","tCore","zoneDateToUtc","t1","t2","date_0","setFocusedDate","t3","by","moveFocusedDate","t4","date_1","targetDate","getHours","getMinutes","undefined","handleDateChange","ref","t5","current","t6","querySelector","focus","focusCurrentWeekDay","t7","event","includes","key","preventDefault","currentTarget","hasAttribute","handleKeyDown","t8","t9","t10","currentFocusInCalendarGrid","document","activeElement","matches","t11","t12","now","handleNowClick","t13","handlePrevMonthClick","t14","handleNextMonthClick","t15","borderBottom","minHeight","top","t16","getMonth","t17","getFullYear","t18","t19","content","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32"],"sources":["../src/core/components/inputs/DateFilters/calendar/CalendarDay.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarMonth.tsx","../src/core/components/inputs/DateFilters/calendar/CalendarFilter.tsx"],"sourcesContent":["import {CloseIcon} from '@sanity/icons/Close'\nimport {Card, type CardTone, Text} from '@sanity/ui'\nimport {isWeekend} from 'date-fns/isWeekend'\nimport {useCallback} from 'react'\n\nexport interface CalendarDayProps {\n date: Date // clock time\n focused?: boolean\n onSelect: (date?: Date) => void\n isCurrentMonth?: boolean\n isToday: boolean\n selected?: boolean\n dateStyles?: React.CSSProperties\n disabled?: boolean\n}\n\nexport function CalendarDay(props: CalendarDayProps) {\n const {\n date,\n focused,\n isCurrentMonth,\n isToday,\n onSelect,\n selected,\n disabled,\n dateStyles = {},\n } = props\n\n const handleClick = useCallback(() => {\n if (selected) {\n onSelect(undefined)\n } else {\n onSelect(date)\n }\n }, [date, onSelect, selected])\n\n let tone: CardTone\n if (isToday || selected) {\n tone = 'primary'\n } else if (isWeekend(date)) {\n // tone = 'transparent'\n tone = 'default'\n } else {\n tone = 'default'\n }\n\n return (\n <div aria-selected={selected} data-ui=\"CalendarDay\">\n <Card\n aria-label={date.toDateString()}\n aria-pressed={selected}\n as=\"button\"\n __unstable_focusRing\n data-weekday\n data-focused={focused ? 'true' : ''}\n data-testid={isToday ? 'day-tile-today' : `day-tile-${date.getDate()}-${date.getMonth()}`}\n role=\"button\"\n tabIndex={-1}\n onClick={handleClick}\n paddingX={3}\n paddingY={4}\n radius={2}\n selected={selected}\n style={{position: 'relative'}}\n tone={tone}\n disabled={disabled}\n >\n <Text\n size={1}\n style={{\n opacity: !selected && !isCurrentMonth ? 0.35 : 1,\n textAlign: 'center',\n ...dateStyles,\n }}\n >\n {selected ? <CloseIcon /> : date.getDate()}\n </Text>\n </Card>\n </div>\n )\n}\n","import {Box, Card, Grid, Label} from '@sanity/ui'\nimport {isSameDay} from 'date-fns/isSameDay'\nimport {isSameMonth} from 'date-fns/isSameMonth'\n\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {DEFAULT_WEEK_DAY_NAMES} from '../../DateInputs/calendar/constants'\nimport {useWeeksOfMonth} from '../../DateInputs/calendar/utils'\nimport {CalendarDay as DefaultCalendarDay} from './CalendarDay'\nimport {type CalendarProps} from './CalendarFilter'\n\ninterface CalendarMonthProps {\n date: Date\n focused?: Date\n selected?: Date\n onSelect: (date?: Date) => void\n hidden?: boolean\n renderCalendarDay?: CalendarProps['renderCalendarDay']\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\nexport function CalendarMonth(props: CalendarMonthProps) {\n const {date, renderCalendarDay, hidden, disabled, timeZoneScope} = props\n const {getCurrentZoneDate} = useTimeZone(timeZoneScope)\n const CalendarDay = renderCalendarDay || DefaultCalendarDay\n const weeksOfMonth = useWeeksOfMonth(date)\n\n return (\n <Box aria-hidden={hidden || false} data-ui=\"CalendarMonth\">\n <Grid\n style={{\n gridGap: '1px',\n gridTemplateColumns: 'repeat(7, 1fr)',\n }}\n >\n {/* Header */}\n {DEFAULT_WEEK_DAY_NAMES.map((weekday) => (\n <Card key={weekday} paddingY={3}>\n <Label size={1} style={{textAlign: 'center'}}>\n {weekday.slice(0, 1)}\n </Label>\n </Card>\n ))}\n\n {weeksOfMonth.map((week, weekIdx) =>\n week.days.map((dayDate, dayIdx) => {\n const focused = props.focused && isSameDay(dayDate, props.focused)\n const selected = props.selected && isSameDay(dayDate, props.selected)\n const isToday = isSameDay(dayDate, getCurrentZoneDate())\n const isCurrentMonth = isSameMonth(dayDate, props.focused || date)\n\n return (\n <CalendarDay\n key={`${weekIdx}-${dayIdx}`}\n date={dayDate}\n focused={focused}\n isCurrentMonth={isCurrentMonth}\n isToday={isToday}\n onSelect={props.onSelect}\n selected={selected}\n disabled={disabled}\n />\n )\n }),\n )}\n </Grid>\n </Box>\n )\n}\n","import {ChevronLeftIcon} from '@sanity/icons/ChevronLeft'\nimport {ChevronRightIcon} from '@sanity/icons/ChevronRight'\nimport {Box, Flex, Text} from '@sanity/ui'\nimport {addDays} from 'date-fns/addDays'\nimport {addMonths} from 'date-fns/addMonths'\nimport {setHours} from 'date-fns/setHours'\nimport {setMinutes} from 'date-fns/setMinutes'\nimport {\n type ComponentProps,\n type ForwardedRef,\n forwardRef,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nimport {Button} from '../../../../../ui-components/button/Button'\nimport {TooltipDelayGroupProvider} from '../../../../../ui-components/tooltipDelayGroupProvider/TooltipDelayGroupProvider'\nimport {type TimeZoneScope, useTimeZone} from '../../../../hooks/useTimeZone'\nimport {useTranslation} from '../../../../i18n/hooks/useTranslation'\nimport {ARROW_KEYS, DEFAULT_MONTH_NAMES} from '../../DateInputs/calendar/constants'\nimport {type CalendarDayProps} from './CalendarDay'\nimport {CalendarMonth} from './CalendarMonth'\n\nexport type CalendarProps = Omit<ComponentProps<'div'>, 'onSelect'> & {\n focusedDate?: Date\n onSelect: (date?: Date) => void\n onFocusedDateChange?: (index: Date) => void\n selectedDate?: Date\n renderCalendarDay?: (props: CalendarDayProps) => React.ReactNode\n disabled?: boolean\n timeZoneScope: TimeZoneScope\n}\n\n// This is used to maintain focus on a child element of the calendar-grid between re-renders\n// When using arrow keys to move focus from a day in one month to another we are setting focus at the button for the day\n// after it has changed but *only* if we *already* had focus inside the calendar grid (e.g not if focus was on the \"next\n// year\" button, or any of the other controls)\n// When moving from the last day of a month that displays 6 weeks in the grid to a month that displays 5 weeks, current\n// focus gets lost on render, so this provides us with a stable element to help us preserve focus on a child element of\n// the calendar grid between re-renders\nconst PRESERVE_FOCUS_ELEMENT = (\n <span\n data-preserve-focus\n style={{overflow: 'hidden', position: 'absolute', outline: 'none'}}\n tabIndex={-1}\n />\n)\n\nexport const CalendarFilter = forwardRef(function Calendar(\n props: CalendarProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n focusedDate: providedFocusedDate,\n onFocusedDateChange: handleOnFocusedDateChange,\n onSelect,\n selectedDate,\n renderCalendarDay,\n timeZoneScope,\n ...restProps\n } = props\n const [_focusedDate, _setFocusedDate] = useState<Date>(new Date())\n const {t: tCore} = useTranslation()\n const {zoneDateToUtc} = useTimeZone(timeZoneScope)\n\n const focusedDate = providedFocusedDate || _focusedDate\n\n const onFocusedDateChange = useCallback(\n (date: Date) => {\n if (handleOnFocusedDateChange && providedFocusedDate) {\n handleOnFocusedDateChange(date)\n } else {\n _setFocusedDate(date)\n }\n },\n [handleOnFocusedDateChange, providedFocusedDate],\n )\n\n const setFocusedDate = useCallback(\n (date: Date) => {\n onFocusedDateChange(zoneDateToUtc(date))\n },\n [onFocusedDateChange, zoneDateToUtc],\n )\n\n const moveFocusedDate = useCallback(\n (by: number) => setFocusedDate(addMonths(focusedDate, by)),\n [focusedDate, setFocusedDate],\n )\n\n const handleDateChange = useCallback(\n (date?: Date) => {\n if (date) {\n const targetDate = zoneDateToUtc(\n setMinutes(setHours(date, date.getHours()), date.getMinutes()),\n )\n onSelect(targetDate)\n onFocusedDateChange(targetDate)\n } else {\n onSelect(undefined)\n }\n },\n [onSelect, zoneDateToUtc, onFocusedDateChange],\n )\n\n const ref = useRef<HTMLDivElement | null>(null)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const focusCurrentWeekDay = useCallback(() => {\n ref.current?.querySelector<HTMLElement>(`[data-focused=\"true\"]`)?.focus()\n }, [ref])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (!ARROW_KEYS.includes(event.key)) {\n return\n }\n event.preventDefault()\n if (event.currentTarget.hasAttribute('data-calendar-grid')) {\n focusCurrentWeekDay()\n return\n }\n if (event.key === 'ArrowUp') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -7)))\n }\n if (event.key === 'ArrowDown') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 7)))\n }\n if (event.key === 'ArrowLeft') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, -1)))\n }\n if (event.key === 'ArrowRight') {\n onFocusedDateChange(zoneDateToUtc(addDays(focusedDate, 1)))\n }\n // set focus temporarily on this element to make sure focus is still inside the calendar-grid after re-render\n ref.current?.querySelector<HTMLElement>('[data-preserve-focus]')?.focus()\n },\n [ref, focusCurrentWeekDay, onFocusedDateChange, focusedDate, zoneDateToUtc],\n )\n\n useEffect(() => {\n focusCurrentWeekDay()\n }, [focusCurrentWeekDay])\n\n useEffect(() => {\n const currentFocusInCalendarGrid = document.activeElement?.matches(\n '[data-calendar-grid], [data-calendar-grid] [data-preserve-focus]',\n )\n if (\n // Only move focus if it's currently in the calendar grid\n currentFocusInCalendarGrid\n ) {\n focusCurrentWeekDay()\n }\n }, [ref, focusCurrentWeekDay, focusedDate])\n\n // Select AND focus current date when 'today' is pressed\n const handleNowClick = useCallback(() => {\n const now = new Date()\n onSelect(now)\n onFocusedDateChange(now)\n }, [onSelect, onFocusedDateChange])\n\n const handlePrevMonthClick = useCallback(() => moveFocusedDate(-1), [moveFocusedDate])\n\n const handleNextMonthClick = useCallback(() => moveFocusedDate(1), [moveFocusedDate])\n\n return (\n <Box data-ui=\"Calendar\" {...restProps} ref={ref}>\n {/* Month + Year header */}\n <Flex\n align=\"center\"\n paddingLeft={4}\n style={{\n borderBottom: '1px solid var(--card-border-color)',\n minHeight: `55px`,\n position: 'sticky',\n top: 0,\n }}\n >\n <Flex align=\"center\" flex={1} justify=\"space-between\">\n <Text weight=\"medium\" size={1}>\n {DEFAULT_MONTH_NAMES[focusedDate?.getMonth()]} {focusedDate?.getFullYear()}\n </Text>\n <Flex paddingRight={3} gap={2}>\n <TooltipDelayGroupProvider>\n <Button\n icon={ChevronLeftIcon}\n mode=\"bleed\"\n onClick={handlePrevMonthClick}\n tooltipProps={{content: 'Previous month'}}\n disabled={restProps.disabled}\n />\n <Button\n icon={ChevronRightIcon}\n mode=\"bleed\"\n onClick={handleNextMonthClick}\n tooltipProps={{content: 'Next month'}}\n disabled={restProps.disabled}\n />\n </TooltipDelayGroupProvider>\n </Flex>\n </Flex>\n </Flex>\n\n {/* Select date */}\n <Box>\n {/* Selected month (grid of days) */}\n <Box\n data-calendar-grid\n onKeyDown={handleKeyDown}\n overflow=\"hidden\"\n paddingBottom={1}\n paddingX={1}\n tabIndex={0}\n >\n <CalendarMonth\n date={focusedDate}\n focused={providedFocusedDate}\n onSelect={handleDateChange}\n selected={selectedDate}\n renderCalendarDay={renderCalendarDay}\n disabled={restProps.disabled}\n timeZoneScope={timeZoneScope}\n />\n {PRESERVE_FOCUS_ELEMENT}\n </Box>\n </Box>\n\n {/* Today button */}\n <Box flex={1} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n <Button\n disabled={restProps.disabled}\n mode=\"bleed\"\n onClick={handleNowClick}\n width=\"fill\"\n aria-label={tCore('calendar.action.go-to-today-aria-label')}\n text={tCore('calendar.action.go-to-today')}\n />\n </Box>\n </Box>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as MenuButton$1, f as Button$1, i as MenuItem$1 } from "./ui-components-CIbWmKVS.js";
|
|
2
|
-
import { Dr as CommentsOnboardingPopover, Mr as CommentDeleteDialog, Or as CommentsList, Pr as isTextSelectionComment, Qu as useCurrentUser, Rr as commentsLocaleNamespace, Tr as CommentsUpsellPanel, _r as useCommentsOnboarding, br as useComments, fr as useCommentsUpsell, gr as useCommentsScroll, hn as useAddonDataset, mr as useCommentsSelectedPath, np as useTranslation, pr as useCommentsTelemetry, vr as useCommentsEnabled } from "./core-
|
|
2
|
+
import { Dr as CommentsOnboardingPopover, Mr as CommentDeleteDialog, Or as CommentsList, Pr as isTextSelectionComment, Qu as useCurrentUser, Rr as commentsLocaleNamespace, Tr as CommentsUpsellPanel, _r as useCommentsOnboarding, br as useComments, fr as useCommentsUpsell, gr as useCommentsScroll, hn as useAddonDataset, mr as useCommentsSelectedPath, np as useTranslation, pr as useCommentsTelemetry, vr as useCommentsEnabled } from "./core-BXnpDDjG.js";
|
|
3
3
|
import { Fragment, forwardRef, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -399,4 +399,4 @@ function _temp(x) {
|
|
|
399
399
|
}
|
|
400
400
|
export { CommentsInspector };
|
|
401
401
|
|
|
402
|
-
//# sourceMappingURL=CommentsInspector-
|
|
402
|
+
//# sourceMappingURL=CommentsInspector-DaQJs8qb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommentsInspector-C4atp1zl.js","names":["Box","Card","Stack","Text","useTranslation","commentsLocaleNamespace","CommentsInspectorError","t0","$","_c","error","t","t1","t2","t3","message","t4","CheckmarkIcon","ChevronDownIcon","CloseIcon","Card","Flex","Menu","Text","forwardRef","useCallback","styled","Button","MenuButton","MenuItem","useTranslation","commentsLocaleNamespace","CommentStatus","CommentsUIMode","Root","position","zIndex","lineHeight","CommentsInspectorHeaderProps","onClose","onViewChange","view","mode","CommentsInspectorHeader","props","ref","$","_c","t","t0","handleSetOpenView","t1","handleSetResolvedView","t2","t3","t4","t5","t6","Symbol","for","width","t7","undefined","t8","t9","t10","t11","t12","content","t13","t14","t15","t16","placement","t17","t18","t19","t20","t21","t22","t23","t24","Flex","Layer","useClickOutsideEvent","useLayer","useToast","PathUtils","Fragment","useCallback","useEffect","useMemo","useRef","useState","styled","DocumentInspectorProps","useTranslation","useCurrentUser","useAddonDataset","CommentDeleteDialog","CommentsList","CommentsOnboardingPopover","CommentsUpsellPanel","CommentsSelectedPath","isTextSelectionComment","useComments","useCommentsEnabled","useCommentsOnboarding","useCommentsScroll","useCommentsSelectedPath","useCommentsTelemetry","useCommentsUpsell","commentsLocaleNamespace","CommentBaseCreatePayload","CommentReactionOption","CommentStatus","CommentsUIMode","CommentUpdatePayload","CommentsInspectorError","CommentsInspectorHeader","CommentToDelete","commentId","isParent","RootLayer","CommentsInspector","props","$","_c","enabled","mode","t0","CommentsInspectorInner","t","onClose","showDeleteDialog","setShowDeleteDialog","commentToDelete","setCommentToDelete","deleteLoading","setDeleteLoading","deleteError","setDeleteError","rootRef","rootElement","setRootElement","currentUser","comments","getComment","isCreatingDataset","mentionOptions","setStatus","status","operation","selectedCommentId","getCommentLink","onClearSelectedComment","onPathOpen","commentIdParamRef","error","addonDatasetError","didScrollToCommentFromParam","pushToast","push","isTopLayer","boundaryElement","scrollToComment","scrollToField","scrollToInlineComment","selectedPath","setSelectedPath","isDismissed","setDismissed","telemetry","upsellData","telemetryLogs","upsellTelemetryLogs","currentComments","data","loading","t1","nextView","commentListViewChanged","handleChangeView","t2","handleCloseInspector","t3","bb0","undefined","t4","id","navigator","clipboard","writeText","catch","closable","title","commentLinkCopied","copyLink","handleCopyLink","id_0","comment","create","type","fieldPath","target","path","field","_id","message","parentCommentId","reactions","threadId","handleCreateRetry","t5","closeDeleteDialog","t6","open","nextPath","fromString","isInlineComment","filter","c","some","_temp","handlePathSelect","t7","nextComment","payload","origin","handleNewThreadCreate","t8","nextComment_0","handleReply","t9","id_1","nextComment_1","update","handleEdit","t10","id_2","parent","find","c_0","parentComment","Boolean","replies","length","onDeleteStart","t11","id_3","remove","t12","err","handleDeleteConfirm","id_4","nextStatus","comment_0","handleStatusChange","t13","id_5","reaction","react","handleReactionSelect","t14","handleDeselectPath","t15","Symbol","for","element","current","setRootRef","t16","event","isPTETarget","HTMLElement","hasAttribute","t17","loggedTelemetry","setLoggedTelemetry","t18","panelViewed","panelDismissed","t19","t20","t21","t22","commentToScrollTo","requestAnimationFrame","commentViewedFromLink","t23","bb1","t24","panelPrimaryClicked","panelSecondaryClicked","beforeListNode","t25","t26","t27","t28","t29","t30","t31","x"],"sources":["../src/core/comments/plugin/inspector/CommentsInspectorError.tsx","../src/core/comments/plugin/inspector/CommentsInspectorHeader.tsx","../src/core/comments/plugin/inspector/CommentsInspector.tsx"],"sourcesContent":["import {Box, Card, Stack, Text} from '@sanity/ui'\n\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\n\nexport function CommentsInspectorError({error}: {error: Error}) {\n const {t} = useTranslation(commentsLocaleNamespace)\n\n return (\n <Box padding={2}>\n <Card paddingX={2} paddingY={3} tone=\"critical\" border radius={3}>\n <Stack space={3}>\n <Text size={1} weight=\"medium\">\n {t('inspector-error.title')}\n </Text>\n <Text size={1} muted>\n {error.message}\n </Text>\n </Stack>\n </Card>\n </Box>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {Card, Flex, Menu, Text} from '@sanity/ui'\nimport {forwardRef, useCallback} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button, MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {type CommentStatus, type CommentsUIMode} from '../../types'\n\nconst Root = styled(Card)({\n position: 'relative',\n zIndex: '1',\n lineHeight: '0',\n})\n\ninterface CommentsInspectorHeaderProps {\n onClose: () => void\n onViewChange: (view: CommentStatus) => void\n view: CommentStatus\n mode: CommentsUIMode\n}\n\nexport const CommentsInspectorHeader = forwardRef(function CommentsInspectorHeader(\n props: CommentsInspectorHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, onViewChange, view, mode} = props\n\n const handleSetOpenView = useCallback(() => onViewChange('open'), [onViewChange])\n const handleSetResolvedView = useCallback(() => onViewChange('resolved'), [onViewChange])\n\n return (\n <Root ref={ref}>\n <Flex padding={2}>\n <Flex align=\"center\" flex={1} gap={2} paddingY={2} padding={3}>\n <Text as=\"h1\" size={1} weight=\"medium\">\n {t('feature-name')}\n </Text>\n </Flex>\n\n <Flex flex=\"none\" padding={1} gap={2}>\n <MenuButton\n id=\"comment-status-menu-button\"\n button={\n <Button\n text={\n view === 'open'\n ? t('status-filter.status-open')\n : t('status-filter.status-resolved')\n }\n mode=\"bleed\"\n iconRight={ChevronDownIcon}\n />\n }\n menu={\n <Menu style={{width: '180px'}}>\n <MenuItem\n iconRight={view === 'open' ? CheckmarkIcon : undefined}\n onClick={handleSetOpenView}\n text={t('status-filter.status-open-full')}\n />\n <MenuItem\n iconRight={view === 'resolved' ? CheckmarkIcon : undefined}\n onClick={handleSetResolvedView}\n text={t('status-filter.status-resolved-full')}\n tooltipProps={\n mode === 'upsell'\n ? {content: t('status-filter.status-resolved-full-upsell')}\n : undefined\n }\n disabled={mode === 'upsell'}\n />\n </Menu>\n }\n popover={{placement: 'bottom-end'}}\n />\n\n <Button\n aria-label={t('close-pane-button-text-aria-label')}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n tooltipProps={{content: t('close-pane-button-text')}}\n />\n </Flex>\n </Flex>\n </Root>\n )\n})\n","import {Flex, Layer, useClickOutsideEvent, useLayer, useToast} from '@sanity/ui'\nimport * as PathUtils from '@sanity/util/paths'\nimport {Fragment, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {type DocumentInspectorProps} from '../../../config'\nimport {useTranslation} from '../../../i18n'\nimport {useCurrentUser} from '../../../store'\nimport {useAddonDataset} from '../../../studio/addonDataset'\nimport {\n CommentDeleteDialog,\n CommentsList,\n CommentsOnboardingPopover,\n CommentsUpsellPanel,\n} from '../../components'\nimport {type CommentsSelectedPath} from '../../context'\nimport {isTextSelectionComment} from '../../helpers'\nimport {\n useComments,\n useCommentsEnabled,\n useCommentsOnboarding,\n useCommentsScroll,\n useCommentsSelectedPath,\n useCommentsTelemetry,\n useCommentsUpsell,\n} from '../../hooks'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {\n type CommentBaseCreatePayload,\n type CommentReactionOption,\n type CommentStatus,\n type CommentsUIMode,\n type CommentUpdatePayload,\n} from '../../types'\nimport {CommentsInspectorError} from './CommentsInspectorError'\nimport {CommentsInspectorHeader} from './CommentsInspectorHeader'\n\ninterface CommentToDelete {\n commentId: string\n isParent: boolean\n}\n\nconst RootLayer = styled(Layer)`\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n`\n\nexport function CommentsInspector(props: DocumentInspectorProps) {\n const {enabled, mode} = useCommentsEnabled()\n\n if (!enabled) return null\n\n // We wrap the comments inspector in a Layer in order to know when the comments inspector\n // is the top layer (that is, if there is e.g. a popover open). This is used to determine\n // if we should deselect the selected path when clicking outside the comments inspector.\n return (\n <RootLayer>\n <CommentsInspectorInner {...props} mode={mode} />\n </RootLayer>\n )\n}\n\nfunction CommentsInspectorInner(\n props: DocumentInspectorProps & {\n mode: CommentsUIMode\n },\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, mode} = props\n const [showDeleteDialog, setShowDeleteDialog] = useState<boolean>(false)\n const [commentToDelete, setCommentToDelete] = useState<CommentToDelete | null>(null)\n const [deleteLoading, setDeleteLoading] = useState<boolean>(false)\n const [deleteError, setDeleteError] = useState<Error | null>(null)\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n\n const currentUser = useCurrentUser()\n const {\n comments,\n getComment,\n isCreatingDataset,\n mentionOptions,\n setStatus,\n status,\n operation,\n selectedCommentId,\n getCommentLink,\n onClearSelectedComment,\n onPathOpen,\n } = useComments()\n const commentIdParamRef = useRef<string | undefined>(selectedCommentId)\n const {error: addonDatasetError} = useAddonDataset()\n const didScrollToCommentFromParam = useRef<boolean>(false)\n\n const pushToast = useToast().push\n const {isTopLayer} = useLayer()\n\n const {scrollToComment, scrollToField, scrollToInlineComment} = useCommentsScroll({\n boundaryElement: rootElement,\n })\n const {selectedPath, setSelectedPath} = useCommentsSelectedPath()\n const {isDismissed, setDismissed} = useCommentsOnboarding()\n const telemetry = useCommentsTelemetry()\n\n const {upsellData, telemetryLogs: upsellTelemetryLogs} = useCommentsUpsell()\n\n const currentComments = useMemo(() => comments.data[status], [comments, status])\n\n const {loading} = comments\n\n const handleChangeView = useCallback(\n (nextView: CommentStatus) => {\n setStatus(nextView)\n setSelectedPath(null)\n\n telemetry.commentListViewChanged(nextView)\n },\n [setSelectedPath, setStatus, telemetry],\n )\n\n const handleCloseInspector = useCallback(() => {\n onClose()\n setSelectedPath(null)\n }, [onClose, setSelectedPath])\n\n const handleCopyLink = useMemo(() => {\n if (!getCommentLink) return undefined\n\n const copyLink = (id: string) => {\n navigator.clipboard.writeText(getCommentLink(id)).catch(() => {\n pushToast({\n closable: true,\n status: 'error',\n title: t('copy-link-error-message'),\n })\n })\n\n telemetry.commentLinkCopied()\n }\n\n return copyLink\n }, [getCommentLink, pushToast, t, telemetry])\n\n const handleCreateRetry = useCallback(\n (id: string) => {\n const comment = getComment(id)\n if (!comment) return\n\n void operation.create({\n type: 'field',\n fieldPath: comment.target.path?.field || '',\n id: comment._id,\n message: comment.message,\n parentCommentId: comment.parentCommentId,\n reactions: comment.reactions || [],\n status: comment.status,\n threadId: comment.threadId,\n })\n },\n [getComment, operation],\n )\n\n const closeDeleteDialog = useCallback(() => {\n if (deleteLoading) return\n setShowDeleteDialog(false)\n setCommentToDelete(null)\n }, [deleteLoading])\n\n const handlePathSelect = useCallback(\n (nextPath: CommentsSelectedPath) => {\n setSelectedPath(nextPath)\n\n if (nextPath?.fieldPath) {\n const path = PathUtils.fromString(nextPath.fieldPath)\n onPathOpen?.(path)\n\n scrollToField(nextPath.fieldPath)\n\n const isInlineComment = comments.data.open\n .filter((c) => c.threadId === nextPath?.threadId)\n .some((x) => isTextSelectionComment(x.parentComment))\n\n if (isInlineComment && nextPath.threadId) {\n scrollToInlineComment(nextPath.threadId)\n }\n }\n },\n [comments.data.open, onPathOpen, scrollToField, scrollToInlineComment, setSelectedPath],\n )\n\n const handleNewThreadCreate = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n const fieldPath = nextComment?.payload?.fieldPath || ''\n\n void operation.create({\n type: 'field',\n fieldPath,\n message: nextComment.message,\n parentCommentId: nextComment.parentCommentId,\n reactions: nextComment.reactions,\n status: nextComment.status,\n threadId: nextComment.threadId,\n })\n\n setSelectedPath({\n fieldPath,\n origin: 'inspector',\n threadId: nextComment.threadId,\n })\n },\n [operation, setSelectedPath],\n )\n\n const handleReply = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n void operation.create({\n ...nextComment,\n type: 'field',\n fieldPath: nextComment?.payload?.fieldPath || '',\n })\n },\n [operation],\n )\n\n const handleEdit = useCallback(\n (id: string, nextComment: CommentUpdatePayload) => {\n void operation.update(id, nextComment)\n },\n [operation],\n )\n\n const onDeleteStart = useCallback(\n (id: string) => {\n const parent = currentComments.find((c) => c.parentComment?._id === id)\n const isParent = Boolean(parent && parent?.replies?.length > 0)\n\n setShowDeleteDialog(true)\n setCommentToDelete({\n commentId: id,\n isParent,\n })\n },\n\n [currentComments],\n )\n\n const handleDeleteConfirm = useCallback(\n async (id: string) => {\n try {\n setDeleteLoading(true)\n await operation.remove(id)\n closeDeleteDialog()\n } catch (err) {\n setDeleteError(err)\n }\n setDeleteLoading(false)\n },\n [closeDeleteDialog, operation],\n )\n\n const handleStatusChange = useCallback(\n (id: string, nextStatus: CommentStatus) => {\n void operation.update(id, {\n status: nextStatus,\n })\n\n // If the comment is being opened, we want to change to the \"open\" view\n // and scroll to the comment\n if (nextStatus === 'open') {\n setStatus('open')\n\n const comment = getComment(id)\n\n if (!comment) return\n\n setSelectedPath({\n fieldPath: comment.target.path?.field || null,\n origin: 'inspector',\n threadId: comment.threadId || null,\n })\n\n scrollToComment(id)\n }\n },\n [getComment, operation, scrollToComment, setSelectedPath, setStatus],\n )\n\n const handleReactionSelect = useCallback(\n (id: string, reaction: CommentReactionOption) => {\n void operation.react(id, reaction)\n },\n [operation],\n )\n\n const handleDeselectPath = useCallback(() => {\n // Clear the selected path when:\n // - Clicking outside the inspector when it's the top layer\n // - The target is not a slate editor string. This is needed because we do not want to\n // frequently deselect the selected path when clicking inside the editor.\n if (selectedPath && isTopLayer) {\n setSelectedPath(null)\n }\n }, [isTopLayer, selectedPath, setSelectedPath])\n\n const setRootRef = useCallback((element: HTMLDivElement | null) => {\n rootRef.current = element\n setRootElement(element)\n }, [])\n\n useClickOutsideEvent(\n (event) => {\n // Clear the selected path when clicking outside the comments inspector.\n // We do this only when the comments inspector is the top layer.\n const isPTETarget =\n event.target instanceof HTMLElement && event.target?.hasAttribute('data-pt-text')\n\n if (!isPTETarget) {\n handleDeselectPath()\n }\n },\n () => [rootRef.current],\n )\n\n const [loggedTelemetry, setLoggedTelemetry] = useState(false)\n useEffect(() => {\n if (loggedTelemetry || mode !== 'upsell') return undefined\n // oxlint-disable-next-line react/react-compiler\n setLoggedTelemetry(true)\n if (selectedPath?.origin === 'form') {\n upsellTelemetryLogs.panelViewed('field_action')\n } else if (commentIdParamRef.current) {\n upsellTelemetryLogs.panelViewed('link')\n } else {\n upsellTelemetryLogs.panelViewed('document_action')\n }\n return () => {\n upsellTelemetryLogs.panelDismissed()\n }\n }, [loggedTelemetry, mode, selectedPath?.origin, upsellTelemetryLogs])\n\n // Handle scroll to comment from URL param\n useEffect(() => {\n // Make sure that the comment exists before we try to scroll to it.\n // We can't solely rely on the comment id from the url since the comment might not be loaded yet.\n const commentToScrollTo = getComment(commentIdParamRef.current || '')\n\n if (!loading && commentToScrollTo && !didScrollToCommentFromParam.current) {\n // Make sure we have the correct status set before we scroll to the comment\n setStatus(commentToScrollTo.status || 'open')\n\n handlePathSelect({\n fieldPath: commentToScrollTo.target.path?.field || null,\n origin: 'url',\n threadId: commentToScrollTo.threadId || null,\n })\n\n // Defer the comment scroll to prevent React batching from overwriting the field scroll\n requestAnimationFrame(() => {\n scrollToComment(commentToScrollTo._id)\n })\n\n didScrollToCommentFromParam.current = true\n commentIdParamRef.current = undefined\n\n onClearSelectedComment?.()\n\n telemetry.commentViewedFromLink()\n }\n }, [\n getComment,\n handlePathSelect,\n loading,\n onClearSelectedComment,\n scrollToComment,\n setStatus,\n telemetry,\n ])\n\n const beforeListNode = useMemo(() => {\n if (mode === 'upsell' && upsellData) {\n return (\n <CommentsUpsellPanel\n data={upsellData}\n onPrimaryClick={upsellTelemetryLogs.panelPrimaryClicked}\n onSecondaryClick={upsellTelemetryLogs.panelSecondaryClicked}\n />\n )\n }\n\n return null\n }, [\n mode,\n upsellTelemetryLogs.panelPrimaryClicked,\n upsellTelemetryLogs.panelSecondaryClicked,\n upsellData,\n ])\n\n return (\n <Fragment>\n {commentToDelete && showDeleteDialog && (\n <CommentDeleteDialog\n {...commentToDelete}\n error={deleteError}\n loading={deleteLoading}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n\n <Flex\n direction=\"column\"\n flex={1}\n height=\"fill\"\n onClick={handleDeselectPath}\n overflow=\"hidden\"\n ref={setRootRef}\n >\n <CommentsOnboardingPopover\n onDismiss={setDismissed}\n open={!isDismissed}\n placement=\"left-start\"\n >\n <CommentsInspectorHeader\n onClose={handleCloseInspector}\n onViewChange={handleChangeView}\n view={status}\n mode={mode}\n />\n </CommentsOnboardingPopover>\n {addonDatasetError && <CommentsInspectorError error={addonDatasetError} />}\n {currentUser && (\n <CommentsList\n beforeListNode={beforeListNode}\n comments={currentComments}\n currentUser={currentUser}\n error={comments.error}\n loading={loading}\n mentionOptions={mentionOptions}\n mode={mode}\n onCopyLink={handleCopyLink}\n onCreateRetry={handleCreateRetry}\n onDelete={onDeleteStart}\n onEdit={handleEdit}\n onNewThreadCreate={handleNewThreadCreate}\n onPathSelect={handlePathSelect}\n onReactionSelect={handleReactionSelect}\n onReply={handleReply}\n onStatusChange={handleStatusChange}\n readOnly={isCreatingDataset}\n selectedPath={selectedPath}\n status={status}\n />\n )}\n </Flex>\n </Fragment>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommentsInspector-DaQJs8qb.js","names":["Box","Card","Stack","Text","useTranslation","commentsLocaleNamespace","CommentsInspectorError","t0","$","_c","error","t","t1","t2","t3","message","t4","CheckmarkIcon","ChevronDownIcon","CloseIcon","Card","Flex","Menu","Text","forwardRef","useCallback","styled","Button","MenuButton","MenuItem","useTranslation","commentsLocaleNamespace","CommentStatus","CommentsUIMode","Root","position","zIndex","lineHeight","CommentsInspectorHeaderProps","onClose","onViewChange","view","mode","CommentsInspectorHeader","props","ref","$","_c","t","t0","handleSetOpenView","t1","handleSetResolvedView","t2","t3","t4","t5","t6","Symbol","for","width","t7","undefined","t8","t9","t10","t11","t12","content","t13","t14","t15","t16","placement","t17","t18","t19","t20","t21","t22","t23","t24","Flex","Layer","useClickOutsideEvent","useLayer","useToast","PathUtils","Fragment","useCallback","useEffect","useMemo","useRef","useState","styled","DocumentInspectorProps","useTranslation","useCurrentUser","useAddonDataset","CommentDeleteDialog","CommentsList","CommentsOnboardingPopover","CommentsUpsellPanel","CommentsSelectedPath","isTextSelectionComment","useComments","useCommentsEnabled","useCommentsOnboarding","useCommentsScroll","useCommentsSelectedPath","useCommentsTelemetry","useCommentsUpsell","commentsLocaleNamespace","CommentBaseCreatePayload","CommentReactionOption","CommentStatus","CommentsUIMode","CommentUpdatePayload","CommentsInspectorError","CommentsInspectorHeader","CommentToDelete","commentId","isParent","RootLayer","CommentsInspector","props","$","_c","enabled","mode","t0","CommentsInspectorInner","t","onClose","showDeleteDialog","setShowDeleteDialog","commentToDelete","setCommentToDelete","deleteLoading","setDeleteLoading","deleteError","setDeleteError","rootRef","rootElement","setRootElement","currentUser","comments","getComment","isCreatingDataset","mentionOptions","setStatus","status","operation","selectedCommentId","getCommentLink","onClearSelectedComment","onPathOpen","commentIdParamRef","error","addonDatasetError","didScrollToCommentFromParam","pushToast","push","isTopLayer","boundaryElement","scrollToComment","scrollToField","scrollToInlineComment","selectedPath","setSelectedPath","isDismissed","setDismissed","telemetry","upsellData","telemetryLogs","upsellTelemetryLogs","currentComments","data","loading","t1","nextView","commentListViewChanged","handleChangeView","t2","handleCloseInspector","t3","bb0","undefined","t4","id","navigator","clipboard","writeText","catch","closable","title","commentLinkCopied","copyLink","handleCopyLink","id_0","comment","create","type","fieldPath","target","path","field","_id","message","parentCommentId","reactions","threadId","handleCreateRetry","t5","closeDeleteDialog","t6","open","nextPath","fromString","isInlineComment","filter","c","some","_temp","handlePathSelect","t7","nextComment","payload","origin","handleNewThreadCreate","t8","nextComment_0","handleReply","t9","id_1","nextComment_1","update","handleEdit","t10","id_2","parent","find","c_0","parentComment","Boolean","replies","length","onDeleteStart","t11","id_3","remove","t12","err","handleDeleteConfirm","id_4","nextStatus","comment_0","handleStatusChange","t13","id_5","reaction","react","handleReactionSelect","t14","handleDeselectPath","t15","Symbol","for","element","current","setRootRef","t16","event","isPTETarget","HTMLElement","hasAttribute","t17","loggedTelemetry","setLoggedTelemetry","t18","panelViewed","panelDismissed","t19","t20","t21","t22","commentToScrollTo","requestAnimationFrame","commentViewedFromLink","t23","bb1","t24","panelPrimaryClicked","panelSecondaryClicked","beforeListNode","t25","t26","t27","t28","t29","t30","t31","x"],"sources":["../src/core/comments/plugin/inspector/CommentsInspectorError.tsx","../src/core/comments/plugin/inspector/CommentsInspectorHeader.tsx","../src/core/comments/plugin/inspector/CommentsInspector.tsx"],"sourcesContent":["import {Box, Card, Stack, Text} from '@sanity/ui'\n\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\n\nexport function CommentsInspectorError({error}: {error: Error}) {\n const {t} = useTranslation(commentsLocaleNamespace)\n\n return (\n <Box padding={2}>\n <Card paddingX={2} paddingY={3} tone=\"critical\" border radius={3}>\n <Stack space={3}>\n <Text size={1} weight=\"medium\">\n {t('inspector-error.title')}\n </Text>\n <Text size={1} muted>\n {error.message}\n </Text>\n </Stack>\n </Card>\n </Box>\n )\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {Card, Flex, Menu, Text} from '@sanity/ui'\nimport {forwardRef, useCallback} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button, MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {type CommentStatus, type CommentsUIMode} from '../../types'\n\nconst Root = styled(Card)({\n position: 'relative',\n zIndex: '1',\n lineHeight: '0',\n})\n\ninterface CommentsInspectorHeaderProps {\n onClose: () => void\n onViewChange: (view: CommentStatus) => void\n view: CommentStatus\n mode: CommentsUIMode\n}\n\nexport const CommentsInspectorHeader = forwardRef(function CommentsInspectorHeader(\n props: CommentsInspectorHeaderProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, onViewChange, view, mode} = props\n\n const handleSetOpenView = useCallback(() => onViewChange('open'), [onViewChange])\n const handleSetResolvedView = useCallback(() => onViewChange('resolved'), [onViewChange])\n\n return (\n <Root ref={ref}>\n <Flex padding={2}>\n <Flex align=\"center\" flex={1} gap={2} paddingY={2} padding={3}>\n <Text as=\"h1\" size={1} weight=\"medium\">\n {t('feature-name')}\n </Text>\n </Flex>\n\n <Flex flex=\"none\" padding={1} gap={2}>\n <MenuButton\n id=\"comment-status-menu-button\"\n button={\n <Button\n text={\n view === 'open'\n ? t('status-filter.status-open')\n : t('status-filter.status-resolved')\n }\n mode=\"bleed\"\n iconRight={ChevronDownIcon}\n />\n }\n menu={\n <Menu style={{width: '180px'}}>\n <MenuItem\n iconRight={view === 'open' ? CheckmarkIcon : undefined}\n onClick={handleSetOpenView}\n text={t('status-filter.status-open-full')}\n />\n <MenuItem\n iconRight={view === 'resolved' ? CheckmarkIcon : undefined}\n onClick={handleSetResolvedView}\n text={t('status-filter.status-resolved-full')}\n tooltipProps={\n mode === 'upsell'\n ? {content: t('status-filter.status-resolved-full-upsell')}\n : undefined\n }\n disabled={mode === 'upsell'}\n />\n </Menu>\n }\n popover={{placement: 'bottom-end'}}\n />\n\n <Button\n aria-label={t('close-pane-button-text-aria-label')}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n tooltipProps={{content: t('close-pane-button-text')}}\n />\n </Flex>\n </Flex>\n </Root>\n )\n})\n","import {Flex, Layer, useClickOutsideEvent, useLayer, useToast} from '@sanity/ui'\nimport * as PathUtils from '@sanity/util/paths'\nimport {Fragment, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {type DocumentInspectorProps} from '../../../config'\nimport {useTranslation} from '../../../i18n'\nimport {useCurrentUser} from '../../../store'\nimport {useAddonDataset} from '../../../studio/addonDataset'\nimport {\n CommentDeleteDialog,\n CommentsList,\n CommentsOnboardingPopover,\n CommentsUpsellPanel,\n} from '../../components'\nimport {type CommentsSelectedPath} from '../../context'\nimport {isTextSelectionComment} from '../../helpers'\nimport {\n useComments,\n useCommentsEnabled,\n useCommentsOnboarding,\n useCommentsScroll,\n useCommentsSelectedPath,\n useCommentsTelemetry,\n useCommentsUpsell,\n} from '../../hooks'\nimport {commentsLocaleNamespace} from '../../i18n'\nimport {\n type CommentBaseCreatePayload,\n type CommentReactionOption,\n type CommentStatus,\n type CommentsUIMode,\n type CommentUpdatePayload,\n} from '../../types'\nimport {CommentsInspectorError} from './CommentsInspectorError'\nimport {CommentsInspectorHeader} from './CommentsInspectorHeader'\n\ninterface CommentToDelete {\n commentId: string\n isParent: boolean\n}\n\nconst RootLayer = styled(Layer)`\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n`\n\nexport function CommentsInspector(props: DocumentInspectorProps) {\n const {enabled, mode} = useCommentsEnabled()\n\n if (!enabled) return null\n\n // We wrap the comments inspector in a Layer in order to know when the comments inspector\n // is the top layer (that is, if there is e.g. a popover open). This is used to determine\n // if we should deselect the selected path when clicking outside the comments inspector.\n return (\n <RootLayer>\n <CommentsInspectorInner {...props} mode={mode} />\n </RootLayer>\n )\n}\n\nfunction CommentsInspectorInner(\n props: DocumentInspectorProps & {\n mode: CommentsUIMode\n },\n) {\n const {t} = useTranslation(commentsLocaleNamespace)\n const {onClose, mode} = props\n const [showDeleteDialog, setShowDeleteDialog] = useState<boolean>(false)\n const [commentToDelete, setCommentToDelete] = useState<CommentToDelete | null>(null)\n const [deleteLoading, setDeleteLoading] = useState<boolean>(false)\n const [deleteError, setDeleteError] = useState<Error | null>(null)\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n\n const currentUser = useCurrentUser()\n const {\n comments,\n getComment,\n isCreatingDataset,\n mentionOptions,\n setStatus,\n status,\n operation,\n selectedCommentId,\n getCommentLink,\n onClearSelectedComment,\n onPathOpen,\n } = useComments()\n const commentIdParamRef = useRef<string | undefined>(selectedCommentId)\n const {error: addonDatasetError} = useAddonDataset()\n const didScrollToCommentFromParam = useRef<boolean>(false)\n\n const pushToast = useToast().push\n const {isTopLayer} = useLayer()\n\n const {scrollToComment, scrollToField, scrollToInlineComment} = useCommentsScroll({\n boundaryElement: rootElement,\n })\n const {selectedPath, setSelectedPath} = useCommentsSelectedPath()\n const {isDismissed, setDismissed} = useCommentsOnboarding()\n const telemetry = useCommentsTelemetry()\n\n const {upsellData, telemetryLogs: upsellTelemetryLogs} = useCommentsUpsell()\n\n const currentComments = useMemo(() => comments.data[status], [comments, status])\n\n const {loading} = comments\n\n const handleChangeView = useCallback(\n (nextView: CommentStatus) => {\n setStatus(nextView)\n setSelectedPath(null)\n\n telemetry.commentListViewChanged(nextView)\n },\n [setSelectedPath, setStatus, telemetry],\n )\n\n const handleCloseInspector = useCallback(() => {\n onClose()\n setSelectedPath(null)\n }, [onClose, setSelectedPath])\n\n const handleCopyLink = useMemo(() => {\n if (!getCommentLink) return undefined\n\n const copyLink = (id: string) => {\n navigator.clipboard.writeText(getCommentLink(id)).catch(() => {\n pushToast({\n closable: true,\n status: 'error',\n title: t('copy-link-error-message'),\n })\n })\n\n telemetry.commentLinkCopied()\n }\n\n return copyLink\n }, [getCommentLink, pushToast, t, telemetry])\n\n const handleCreateRetry = useCallback(\n (id: string) => {\n const comment = getComment(id)\n if (!comment) return\n\n void operation.create({\n type: 'field',\n fieldPath: comment.target.path?.field || '',\n id: comment._id,\n message: comment.message,\n parentCommentId: comment.parentCommentId,\n reactions: comment.reactions || [],\n status: comment.status,\n threadId: comment.threadId,\n })\n },\n [getComment, operation],\n )\n\n const closeDeleteDialog = useCallback(() => {\n if (deleteLoading) return\n setShowDeleteDialog(false)\n setCommentToDelete(null)\n }, [deleteLoading])\n\n const handlePathSelect = useCallback(\n (nextPath: CommentsSelectedPath) => {\n setSelectedPath(nextPath)\n\n if (nextPath?.fieldPath) {\n const path = PathUtils.fromString(nextPath.fieldPath)\n onPathOpen?.(path)\n\n scrollToField(nextPath.fieldPath)\n\n const isInlineComment = comments.data.open\n .filter((c) => c.threadId === nextPath?.threadId)\n .some((x) => isTextSelectionComment(x.parentComment))\n\n if (isInlineComment && nextPath.threadId) {\n scrollToInlineComment(nextPath.threadId)\n }\n }\n },\n [comments.data.open, onPathOpen, scrollToField, scrollToInlineComment, setSelectedPath],\n )\n\n const handleNewThreadCreate = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n const fieldPath = nextComment?.payload?.fieldPath || ''\n\n void operation.create({\n type: 'field',\n fieldPath,\n message: nextComment.message,\n parentCommentId: nextComment.parentCommentId,\n reactions: nextComment.reactions,\n status: nextComment.status,\n threadId: nextComment.threadId,\n })\n\n setSelectedPath({\n fieldPath,\n origin: 'inspector',\n threadId: nextComment.threadId,\n })\n },\n [operation, setSelectedPath],\n )\n\n const handleReply = useCallback(\n (nextComment: CommentBaseCreatePayload) => {\n void operation.create({\n ...nextComment,\n type: 'field',\n fieldPath: nextComment?.payload?.fieldPath || '',\n })\n },\n [operation],\n )\n\n const handleEdit = useCallback(\n (id: string, nextComment: CommentUpdatePayload) => {\n void operation.update(id, nextComment)\n },\n [operation],\n )\n\n const onDeleteStart = useCallback(\n (id: string) => {\n const parent = currentComments.find((c) => c.parentComment?._id === id)\n const isParent = Boolean(parent && parent?.replies?.length > 0)\n\n setShowDeleteDialog(true)\n setCommentToDelete({\n commentId: id,\n isParent,\n })\n },\n\n [currentComments],\n )\n\n const handleDeleteConfirm = useCallback(\n async (id: string) => {\n try {\n setDeleteLoading(true)\n await operation.remove(id)\n closeDeleteDialog()\n } catch (err) {\n setDeleteError(err)\n }\n setDeleteLoading(false)\n },\n [closeDeleteDialog, operation],\n )\n\n const handleStatusChange = useCallback(\n (id: string, nextStatus: CommentStatus) => {\n void operation.update(id, {\n status: nextStatus,\n })\n\n // If the comment is being opened, we want to change to the \"open\" view\n // and scroll to the comment\n if (nextStatus === 'open') {\n setStatus('open')\n\n const comment = getComment(id)\n\n if (!comment) return\n\n setSelectedPath({\n fieldPath: comment.target.path?.field || null,\n origin: 'inspector',\n threadId: comment.threadId || null,\n })\n\n scrollToComment(id)\n }\n },\n [getComment, operation, scrollToComment, setSelectedPath, setStatus],\n )\n\n const handleReactionSelect = useCallback(\n (id: string, reaction: CommentReactionOption) => {\n void operation.react(id, reaction)\n },\n [operation],\n )\n\n const handleDeselectPath = useCallback(() => {\n // Clear the selected path when:\n // - Clicking outside the inspector when it's the top layer\n // - The target is not a slate editor string. This is needed because we do not want to\n // frequently deselect the selected path when clicking inside the editor.\n if (selectedPath && isTopLayer) {\n setSelectedPath(null)\n }\n }, [isTopLayer, selectedPath, setSelectedPath])\n\n const setRootRef = useCallback((element: HTMLDivElement | null) => {\n rootRef.current = element\n setRootElement(element)\n }, [])\n\n useClickOutsideEvent(\n (event) => {\n // Clear the selected path when clicking outside the comments inspector.\n // We do this only when the comments inspector is the top layer.\n const isPTETarget =\n event.target instanceof HTMLElement && event.target?.hasAttribute('data-pt-text')\n\n if (!isPTETarget) {\n handleDeselectPath()\n }\n },\n () => [rootRef.current],\n )\n\n const [loggedTelemetry, setLoggedTelemetry] = useState(false)\n useEffect(() => {\n if (loggedTelemetry || mode !== 'upsell') return undefined\n // oxlint-disable-next-line react/react-compiler\n setLoggedTelemetry(true)\n if (selectedPath?.origin === 'form') {\n upsellTelemetryLogs.panelViewed('field_action')\n } else if (commentIdParamRef.current) {\n upsellTelemetryLogs.panelViewed('link')\n } else {\n upsellTelemetryLogs.panelViewed('document_action')\n }\n return () => {\n upsellTelemetryLogs.panelDismissed()\n }\n }, [loggedTelemetry, mode, selectedPath?.origin, upsellTelemetryLogs])\n\n // Handle scroll to comment from URL param\n useEffect(() => {\n // Make sure that the comment exists before we try to scroll to it.\n // We can't solely rely on the comment id from the url since the comment might not be loaded yet.\n const commentToScrollTo = getComment(commentIdParamRef.current || '')\n\n if (!loading && commentToScrollTo && !didScrollToCommentFromParam.current) {\n // Make sure we have the correct status set before we scroll to the comment\n setStatus(commentToScrollTo.status || 'open')\n\n handlePathSelect({\n fieldPath: commentToScrollTo.target.path?.field || null,\n origin: 'url',\n threadId: commentToScrollTo.threadId || null,\n })\n\n // Defer the comment scroll to prevent React batching from overwriting the field scroll\n requestAnimationFrame(() => {\n scrollToComment(commentToScrollTo._id)\n })\n\n didScrollToCommentFromParam.current = true\n commentIdParamRef.current = undefined\n\n onClearSelectedComment?.()\n\n telemetry.commentViewedFromLink()\n }\n }, [\n getComment,\n handlePathSelect,\n loading,\n onClearSelectedComment,\n scrollToComment,\n setStatus,\n telemetry,\n ])\n\n const beforeListNode = useMemo(() => {\n if (mode === 'upsell' && upsellData) {\n return (\n <CommentsUpsellPanel\n data={upsellData}\n onPrimaryClick={upsellTelemetryLogs.panelPrimaryClicked}\n onSecondaryClick={upsellTelemetryLogs.panelSecondaryClicked}\n />\n )\n }\n\n return null\n }, [\n mode,\n upsellTelemetryLogs.panelPrimaryClicked,\n upsellTelemetryLogs.panelSecondaryClicked,\n upsellData,\n ])\n\n return (\n <Fragment>\n {commentToDelete && showDeleteDialog && (\n <CommentDeleteDialog\n {...commentToDelete}\n error={deleteError}\n loading={deleteLoading}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n\n <Flex\n direction=\"column\"\n flex={1}\n height=\"fill\"\n onClick={handleDeselectPath}\n overflow=\"hidden\"\n ref={setRootRef}\n >\n <CommentsOnboardingPopover\n onDismiss={setDismissed}\n open={!isDismissed}\n placement=\"left-start\"\n >\n <CommentsInspectorHeader\n onClose={handleCloseInspector}\n onViewChange={handleChangeView}\n view={status}\n mode={mode}\n />\n </CommentsOnboardingPopover>\n {addonDatasetError && <CommentsInspectorError error={addonDatasetError} />}\n {currentUser && (\n <CommentsList\n beforeListNode={beforeListNode}\n comments={currentComments}\n currentUser={currentUser}\n error={comments.error}\n loading={loading}\n mentionOptions={mentionOptions}\n mode={mode}\n onCopyLink={handleCopyLink}\n onCreateRetry={handleCreateRetry}\n onDelete={onDeleteStart}\n onEdit={handleEdit}\n onNewThreadCreate={handleNewThreadCreate}\n onPathSelect={handlePathSelect}\n onReactionSelect={handleReactionSelect}\n onReply={handleReply}\n onStatusChange={handleStatusChange}\n readOnly={isCreatingDataset}\n selectedPath={selectedPath}\n status={status}\n />\n )}\n </Flex>\n </Fragment>\n )\n}\n"],"mappings":"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"}
|