sanity 6.3.1-next.6 → 6.3.1-next.7

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.
@@ -2,7 +2,7 @@ import { CSSProperties, Component, ComponentProps, ComponentType, Dispatch, Elem
2
2
  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";
3
3
  import { BifurClient } from "@sanity/bifur-client";
4
4
  import { ClientConfig, ClientPerspective, QueryParams, ReconnectEvent, ReleaseDocument, ReleaseDocument as ReleaseDocument$1, ReleaseType, ResetEvent, SanityClient, SanityDocument as SanityDocument$1, SingleActionResult, SingleMutationResult, StackablePerspective, WelcomeBackEvent, WelcomeEvent } from "@sanity/client";
5
- import { AvatarPosition, AvatarProps, AvatarSize, AvatarStatus, BadgeProps, BadgeTone, BoxProps, ButtonProps, ButtonTone, CardProps, DialogProps, HotkeysProps, MenuButtonProps, MenuItem, Placement, PopoverProps, ResponsivePaddingProps, ResponsiveWidthProps, Text, TextProps, ThemeColorSchemeKey, ToastParams, TooltipProps } from "@sanity/ui";
5
+ import { AvatarPosition, AvatarProps, AvatarSize, AvatarStatus, BadgeProps, BadgeTone, BoxProps, ButtonProps, ButtonTone, DialogProps, HotkeysProps, MenuButtonProps, MenuItem, Placement, PopoverProps, ResponsivePaddingProps, ResponsiveWidthProps, TextProps, ThemeColorSchemeKey, ToastParams, TooltipProps } from "@sanity/ui";
6
6
  import { FlatNamespace, KeyPrefix, Namespace, TFunction, TFunction as TFunction$1, i18n as i18n$1 } from "i18next";
7
7
  import { MonoTypeOperatorFunction, Observable, OperatorFunction, Subject } from "rxjs";
8
8
  import { IntentLinkProps, IntentParameters, Router, RouterState, SearchParam } from "sanity/router";
@@ -573,7 +573,7 @@ interface CommandListProps<T = any> extends ResponsivePaddingProps {
573
573
  * @internal
574
574
  */
575
575
  declare const CommandList: import("react").NamedExoticComponent<CommandListProps<any> & import("react").RefAttributes<CommandListHandle>>;
576
- type BaseButtonProps = Pick<ButtonProps, 'as' | 'icon' | 'iconRight' | 'justify' | 'loading' | 'mode' | 'paddingY' | 'paddingLeft' | 'selected' | 'tone' | 'type' | 'width'> & {
576
+ type BaseButtonProps = Pick<ButtonProps<ElementType>, 'as' | 'icon' | 'iconRight' | 'justify' | 'loading' | 'mode' | 'paddingY' | 'paddingLeft' | 'selected' | 'tone' | 'type' | 'width'> & {
577
577
  size?: 'default' | 'large';
578
578
  radius?: 'full';
579
579
  };
@@ -597,10 +597,10 @@ type ButtonProps$1 = BaseButtonProps & (ButtonWithText | IconButton);
597
597
  *
598
598
  * @internal
599
599
  */
600
- declare const Button: import("react").ForwardRefExoticComponent<(Omit<Pick<ButtonProps, "as" | "icon" | "iconRight" | "justify" | "loading" | "mode" | "paddingLeft" | "paddingY" | "selected" | "tone" | "type" | "width"> & {
600
+ declare const Button: import("react").ForwardRefExoticComponent<(Omit<Pick<ButtonProps<ElementType>, "as" | "icon" | "iconRight" | "justify" | "loading" | "mode" | "paddingLeft" | "paddingY" | "selected" | "tone" | "type" | "width"> & {
601
601
  size?: 'default' | 'large';
602
602
  radius?: 'full';
603
- } & ButtonWithText & Omit<HTMLProps<HTMLButtonElement>, "as" | "size" | "title">, "ref"> | Omit<Pick<ButtonProps, "as" | "icon" | "iconRight" | "justify" | "loading" | "mode" | "paddingLeft" | "paddingY" | "selected" | "tone" | "type" | "width"> & {
603
+ } & ButtonWithText & Omit<HTMLProps<HTMLButtonElement>, "as" | "size" | "title">, "ref"> | Omit<Pick<ButtonProps<ElementType>, "as" | "icon" | "iconRight" | "justify" | "loading" | "mode" | "paddingLeft" | "paddingY" | "selected" | "tone" | "type" | "width"> & {
604
604
  size?: 'default' | 'large';
605
605
  radius?: 'full';
606
606
  } & IconButton & Omit<HTMLProps<HTMLButtonElement>, "as" | "size" | "title">, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
@@ -640,7 +640,9 @@ declare function getDocumentVariantType(documentId: string): DocumentVariantType
640
640
  /**
641
641
  * @internal
642
642
  */
643
- declare const Chip: import("react").ForwardRefExoticComponent<Omit<Omit<import("@sanity/ui").ButtonProps & Omit<import("react").HTMLProps<HTMLButtonElement>, "as" | "width">, "ref"> & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<unknown>>;
643
+ declare const Chip: import("react").ForwardRefExoticComponent<Omit<Omit<any, "as" | keyof import("@sanity/ui").ButtonOwnProps> & import("@sanity/ui").ButtonOwnProps & {
644
+ as?: import("@sanity/ui").ElementType<any> | undefined;
645
+ }, "ref"> & import("react").RefAttributes<unknown>>;
644
646
  /**
645
647
  *
646
648
  * Checks if the document ID `documentId` has the same ID as `equalsDocumentId`,
@@ -6476,7 +6478,7 @@ interface CommentsListProps {
6476
6478
  * @beta
6477
6479
  * @hidden
6478
6480
  */
6479
- declare const CommentsList: import("react").NamedExoticComponent<CommentsListProps & import("react").RefAttributes<HTMLDivElement>>;
6481
+ declare const CommentsList: import("react").NamedExoticComponent<CommentsListProps & import("react").RefAttributes<HTMLUListElement>>;
6480
6482
  /**
6481
6483
  * @internal
6482
6484
  */
@@ -7721,7 +7723,7 @@ interface DiffInspectWrapperProps {
7721
7723
  as?: ExecutionProps['as'];
7722
7724
  }
7723
7725
  /** @internal */
7724
- declare function DiffInspectWrapper(props: DiffInspectWrapperProps & BoxProps): React.JSX.Element;
7726
+ declare function DiffInspectWrapper(props: DiffInspectWrapperProps & Omit<BoxProps, 'as'>): React.JSX.Element;
7725
7727
  /** @internal */
7726
7728
  declare function DiffStringSegment(props: {
7727
7729
  segment: StringDiffSegment;
@@ -10172,7 +10174,9 @@ interface PreviewCardContextValue {
10172
10174
  /** @internal */
10173
10175
  declare function usePreviewCard(): PreviewCardContextValue;
10174
10176
  /** @internal */
10175
- declare const PreviewCard: import("react").ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10177
+ declare const PreviewCard: import("react").ForwardRefExoticComponent<Omit<Omit<any, "as" | keyof import("@sanity/ui").CardOwnProps> & import("@sanity/ui").CardOwnProps & {
10178
+ as?: ElementType | undefined;
10179
+ } & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10176
10180
  /**
10177
10181
  * This is a workaround for a circular import issue.
10178
10182
  * Calling `styled(PreviewCard)` at program load time triggered a build error with the commonjs bundle because it tried
@@ -10180,7 +10184,11 @@ declare const PreviewCard: import("react").ForwardRefExoticComponent<Omit<CardPr
10180
10184
  * The workaround is to colocate the styled component with the component itself.
10181
10185
  * @internal
10182
10186
  */
10183
- declare const ReferenceInputPreviewCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>, never>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<CardProps & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
10187
+ declare const ReferenceInputPreviewCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<any, "as" | keyof import("@sanity/ui").CardOwnProps> & import("@sanity/ui").CardOwnProps & {
10188
+ as?: ElementType | undefined;
10189
+ } & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>, never>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<Omit<any, "as" | keyof import("@sanity/ui").CardOwnProps> & import("@sanity/ui").CardOwnProps & {
10190
+ as?: ElementType | undefined;
10191
+ } & Omit<HTMLProps<HTMLDivElement>, "height">, "ref"> & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
10184
10192
  /**
10185
10193
  * Portable text preview layout key
10186
10194
  *
@@ -10391,7 +10399,7 @@ interface ResizableProps {
10391
10399
  * @internal
10392
10400
  * Provides a resizable container with a resizer handle.
10393
10401
  */
10394
- declare function Resizable(props: ResizableProps & BoxProps & Omit<HTMLProps<HTMLDivElement>, 'as'>): import("react").JSX.Element;
10402
+ declare function Resizable(props: ResizableProps & BoxProps<ElementType> & Omit<HTMLProps<HTMLDivElement>, 'as'>): import("react").JSX.Element;
10395
10403
  /**
10396
10404
  * @hidden
10397
10405
  * @beta */
@@ -10449,10 +10457,10 @@ type StatusButtonProps = ButtonProps$1 & {
10449
10457
  /** @hidden @beta */
10450
10458
  declare const StatusButton: import("react").ForwardRefExoticComponent<(StatusButtonProps & Omit<HTMLProps<HTMLButtonElement>, "disabled" | "ref" | "size" | "title">) & import("react").RefAttributes<HTMLButtonElement>>;
10451
10459
  /** @internal */
10452
- interface TextWithToneProps extends ComponentProps<typeof Text> {
10460
+ type TextWithToneProps = TextProps & {
10453
10461
  tone: ButtonTone;
10454
10462
  dimmed?: boolean;
10455
- }
10463
+ };
10456
10464
  /** @internal */
10457
10465
  declare const TextWithTone: import("react").ForwardRefExoticComponent<Omit<TextWithToneProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10458
10466
  /** @internal */
@@ -726,7 +726,7 @@ interface UseDocumentTitle {
726
726
  */
727
727
  declare function useDocumentTitle(): UseDocumentTitle;
728
728
  interface DocumentInspectorHeaderProps {
729
- as?: CardProps['as'];
729
+ as?: ElementType;
730
730
  closeButtonLabel: string;
731
731
  flex?: CardProps['flex'];
732
732
  onClose: () => void;
@@ -64,11 +64,11 @@ function ConfirmPopoverContent(t0) {
64
64
  let t6;
65
65
  $[8] !== cancelButtonText || $[9] !== t ? (t6 = cancelButtonText || t("common.dialog.cancel-button.text"), $[8] = cancelButtonText, $[9] = t, $[10] = t6) : t6 = $[10];
66
66
  let t7;
67
- $[11] !== cancelButtonIcon || $[12] !== onCancel || $[13] !== t6 ? (t7 = /* @__PURE__ */ jsx(Button, { "data-testid": "confirm-popover-cancel-button", icon: cancelButtonIcon, onClick: onCancel, mode: "ghost", padding: 2, text: t6, size: 1 }), $[11] = cancelButtonIcon, $[12] = onCancel, $[13] = t6, $[14] = t7) : t7 = $[14];
67
+ $[11] !== cancelButtonIcon || $[12] !== onCancel || $[13] !== t6 ? (t7 = /* @__PURE__ */ jsx(Button, { "data-testid": "confirm-popover-cancel-button", icon: cancelButtonIcon, onClick: onCancel, mode: "ghost", padding: 2, text: t6 }), $[11] = cancelButtonIcon, $[12] = onCancel, $[13] = t6, $[14] = t7) : t7 = $[14];
68
68
  let t8;
69
69
  $[15] !== confirmButtonText || $[16] !== t ? (t8 = confirmButtonText || t("common.dialog.confirm-button.text"), $[15] = confirmButtonText, $[16] = t, $[17] = t8) : t8 = $[17];
70
70
  let t9;
71
- $[18] !== confirmButtonIcon || $[19] !== onConfirm || $[20] !== t8 || $[21] !== tone ? (t9 = /* @__PURE__ */ jsx(Button, { "data-testid": "confirm-popover-confirm-button", icon: confirmButtonIcon, onClick: onConfirm, padding: 2, text: t8, tone, size: 1 }), $[18] = confirmButtonIcon, $[19] = onConfirm, $[20] = t8, $[21] = tone, $[22] = t9) : t9 = $[22];
71
+ $[18] !== confirmButtonIcon || $[19] !== onConfirm || $[20] !== t8 || $[21] !== tone ? (t9 = /* @__PURE__ */ jsx(Button, { "data-testid": "confirm-popover-confirm-button", icon: confirmButtonIcon, onClick: onConfirm, padding: 2, text: t8, tone }), $[18] = confirmButtonIcon, $[19] = onConfirm, $[20] = t8, $[21] = tone, $[22] = t9) : t9 = $[22];
72
72
  let t10;
73
73
  $[23] !== t7 || $[24] !== t9 ? (t10 = /* @__PURE__ */ jsx(Box, { paddingX: 4, paddingY: 3, style: t5, children: /* @__PURE__ */ jsxs(Grid, { columns: 2, gap: 2, children: [
74
74
  t7,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.js","sources":["../../src/ui-components/confirmPopover/ConfirmPopover.tsx","../../src/ui-components/menuGroup/MenuGroup.tsx"],"sourcesContent":["/* oxlint-disable no-restricted-imports, @sanity/i18n/no-i18next-import */\nimport {\n Box,\n Button as UIButton,\n Flex,\n Grid,\n Popover as UIPopover,\n type PopoverProps as UIPopoverProps,\n Text,\n useClickOutsideEvent,\n useGlobalKeyDown,\n useLayer,\n} from '@sanity/ui'\nimport {type ComponentType, type ReactNode, useCallback, useRef} from 'react'\nimport {useTranslation} from 'react-i18next'\n\nexport interface ConfirmPopoverProps {\n cancelButtonIcon?: ReactNode | ComponentType\n cancelButtonText?: string\n confirmButtonIcon?: ReactNode | ComponentType\n confirmButtonText?: string\n message: ReactNode\n onCancel: () => void\n onConfirm: () => void\n open: boolean\n referenceElement: HTMLElement | null\n tone?: 'default' | 'primary' | 'positive' | 'caution' | 'critical' | 'neutral' | 'suggest'\n placement?: UIPopoverProps['placement']\n fallbackPlacements?: UIPopoverProps['fallbackPlacements']\n}\n\n/**\n * A popover component for inline confirmation dialogs.\n * Follows the same pattern as document action confirm dialogs.\n *\n * @internal\n */\nexport function ConfirmPopover({\n cancelButtonIcon,\n cancelButtonText,\n confirmButtonIcon,\n confirmButtonText,\n message,\n onCancel,\n onConfirm,\n open,\n referenceElement,\n tone = 'critical',\n placement = 'top',\n fallbackPlacements = ['left', 'bottom'],\n}: ConfirmPopoverProps) {\n if (!open) return null\n\n return (\n <UIPopover\n content={\n <ConfirmPopoverContent\n cancelButtonIcon={cancelButtonIcon}\n cancelButtonText={cancelButtonText}\n confirmButtonIcon={confirmButtonIcon}\n confirmButtonText={confirmButtonText}\n message={message}\n onCancel={onCancel}\n onConfirm={onConfirm}\n tone={tone}\n />\n }\n constrainSize\n fallbackPlacements={fallbackPlacements}\n open\n placement={placement}\n portal\n preventOverflow\n referenceElement={referenceElement}\n />\n )\n}\n\nfunction ConfirmPopoverContent({\n cancelButtonIcon,\n cancelButtonText,\n confirmButtonIcon,\n confirmButtonText,\n message,\n onCancel,\n onConfirm,\n tone,\n}: Omit<ConfirmPopoverProps, 'open' | 'referenceElement' | 'placement' | 'fallbackPlacements'>) {\n const {t} = useTranslation()\n const {isTopLayer} = useLayer()\n const ref = useRef<HTMLDivElement | null>(null)\n\n const handleGlobalKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isTopLayer) onCancel()\n },\n [isTopLayer, onCancel],\n )\n\n useGlobalKeyDown(handleGlobalKeyDown)\n useClickOutsideEvent(isTopLayer && onCancel, () => [ref.current])\n\n return (\n <Flex direction=\"column\" ref={ref} style={{minWidth: 280, maxWidth: 350}}>\n <Box flex={1} overflow=\"auto\" padding={4}>\n <Text size={1}>{message}</Text>\n </Box>\n <Box paddingX={4} paddingY={3} style={{borderTop: '1px solid var(--card-border-color)'}}>\n <Grid columns={2} gap={2}>\n <UIButton\n data-testid=\"confirm-popover-cancel-button\"\n icon={cancelButtonIcon}\n onClick={onCancel}\n mode=\"ghost\"\n padding={2}\n text={cancelButtonText || t('common.dialog.cancel-button.text')}\n size={1}\n />\n <UIButton\n data-testid=\"confirm-popover-confirm-button\"\n icon={confirmButtonIcon}\n onClick={onConfirm}\n padding={2}\n text={confirmButtonText || t('common.dialog.confirm-button.text')}\n tone={tone}\n size={1}\n />\n </Grid>\n </Box>\n </Flex>\n )\n}\n","/* oxlint-disable no-restricted-imports */\nimport {MenuGroup as UIMenuGroup, type MenuGroupProps as UIMenuGroupProps} from '@sanity/ui'\nimport {type HTMLProps} from 'react'\n\nimport {Tooltip, type TooltipProps} from '../tooltip/Tooltip'\n\n/** @internal */\nexport type MenuGroupProps = Pick<UIMenuGroupProps, 'icon' | 'popover' | 'text' | 'tone'>\n\n/**\n * Customized Sanity UI <MenuGroup> component with pre-defined layout options.\n *\n * @internal\n */\nexport const MenuGroup = (\n props: MenuGroupProps &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'tabIndex' | 'popover'> & {\n tooltipProps?: TooltipProps | null\n },\n) => {\n const {tooltipProps, ...rest} = props\n\n const children = <UIMenuGroup {...rest} fontSize={1} padding={3} />\n\n if (tooltipProps) {\n return (\n <Tooltip content={tooltipProps?.content} portal {...tooltipProps}>\n {/* This div is needed to make the tooltip work in disabled menu items */}\n <div>{children}</div>\n </Tooltip>\n )\n }\n\n return children\n}\n"],"names":["ConfirmPopover","t0","$","_c","cancelButtonIcon","cancelButtonText","confirmButtonIcon","confirmButtonText","message","onCancel","onConfirm","open","referenceElement","tone","t1","placement","t2","fallbackPlacements","t3","undefined","t4","t5","t6","UIPopover","ConfirmPopoverContent","t","useTranslation","isTopLayer","useLayer","ref","useRef","event","key","useGlobalKeyDown","Symbol","for","current","useClickOutsideEvent","minWidth","maxWidth","borderTop","t7","UIButton","t8","t9","t10","t11","MenuGroup","props","rest","tooltipProps","UIMenuGroup","children","content"],"mappings":"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"}
1
+ {"version":3,"file":"MenuGroup.js","sources":["../../src/ui-components/confirmPopover/ConfirmPopover.tsx","../../src/ui-components/menuGroup/MenuGroup.tsx"],"sourcesContent":["/* oxlint-disable no-restricted-imports, @sanity/i18n/no-i18next-import */\nimport {\n Box,\n Button as UIButton,\n Flex,\n Grid,\n Popover as UIPopover,\n type PopoverProps as UIPopoverProps,\n Text,\n useClickOutsideEvent,\n useGlobalKeyDown,\n useLayer,\n} from '@sanity/ui'\nimport {type ComponentType, type ReactNode, useCallback, useRef} from 'react'\nimport {useTranslation} from 'react-i18next'\n\nexport interface ConfirmPopoverProps {\n cancelButtonIcon?: ReactNode | ComponentType\n cancelButtonText?: string\n confirmButtonIcon?: ReactNode | ComponentType\n confirmButtonText?: string\n message: ReactNode\n onCancel: () => void\n onConfirm: () => void\n open: boolean\n referenceElement: HTMLElement | null\n tone?: 'default' | 'primary' | 'positive' | 'caution' | 'critical' | 'neutral' | 'suggest'\n placement?: UIPopoverProps['placement']\n fallbackPlacements?: UIPopoverProps['fallbackPlacements']\n}\n\n/**\n * A popover component for inline confirmation dialogs.\n * Follows the same pattern as document action confirm dialogs.\n *\n * @internal\n */\nexport function ConfirmPopover({\n cancelButtonIcon,\n cancelButtonText,\n confirmButtonIcon,\n confirmButtonText,\n message,\n onCancel,\n onConfirm,\n open,\n referenceElement,\n tone = 'critical',\n placement = 'top',\n fallbackPlacements = ['left', 'bottom'],\n}: ConfirmPopoverProps) {\n if (!open) return null\n\n return (\n <UIPopover\n content={\n <ConfirmPopoverContent\n cancelButtonIcon={cancelButtonIcon}\n cancelButtonText={cancelButtonText}\n confirmButtonIcon={confirmButtonIcon}\n confirmButtonText={confirmButtonText}\n message={message}\n onCancel={onCancel}\n onConfirm={onConfirm}\n tone={tone}\n />\n }\n constrainSize\n fallbackPlacements={fallbackPlacements}\n open\n placement={placement}\n portal\n preventOverflow\n referenceElement={referenceElement}\n />\n )\n}\n\nfunction ConfirmPopoverContent({\n cancelButtonIcon,\n cancelButtonText,\n confirmButtonIcon,\n confirmButtonText,\n message,\n onCancel,\n onConfirm,\n tone,\n}: Omit<ConfirmPopoverProps, 'open' | 'referenceElement' | 'placement' | 'fallbackPlacements'>) {\n const {t} = useTranslation()\n const {isTopLayer} = useLayer()\n const ref = useRef<HTMLDivElement | null>(null)\n\n const handleGlobalKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isTopLayer) onCancel()\n },\n [isTopLayer, onCancel],\n )\n\n useGlobalKeyDown(handleGlobalKeyDown)\n useClickOutsideEvent(isTopLayer && onCancel, () => [ref.current])\n\n return (\n <Flex direction=\"column\" ref={ref} style={{minWidth: 280, maxWidth: 350}}>\n <Box flex={1} overflow=\"auto\" padding={4}>\n <Text size={1}>{message}</Text>\n </Box>\n <Box paddingX={4} paddingY={3} style={{borderTop: '1px solid var(--card-border-color)'}}>\n <Grid columns={2} gap={2}>\n <UIButton\n data-testid=\"confirm-popover-cancel-button\"\n icon={cancelButtonIcon}\n onClick={onCancel}\n mode=\"ghost\"\n padding={2}\n text={cancelButtonText || t('common.dialog.cancel-button.text')}\n />\n <UIButton\n data-testid=\"confirm-popover-confirm-button\"\n icon={confirmButtonIcon}\n onClick={onConfirm}\n padding={2}\n text={confirmButtonText || t('common.dialog.confirm-button.text')}\n tone={tone}\n />\n </Grid>\n </Box>\n </Flex>\n )\n}\n","/* oxlint-disable no-restricted-imports */\nimport {MenuGroup as UIMenuGroup, type MenuGroupProps as UIMenuGroupProps} from '@sanity/ui'\nimport {type ComponentProps} from 'react'\n\nimport {Tooltip, type TooltipProps} from '../tooltip/Tooltip'\n\n/** @internal */\nexport type MenuGroupProps = Pick<UIMenuGroupProps, 'icon' | 'popover' | 'text' | 'tone'>\n\n/**\n * Customized Sanity UI <MenuGroup> component with pre-defined layout options.\n *\n * @internal\n */\nexport const MenuGroup = (\n props: MenuGroupProps &\n Omit<ComponentProps<'button'>, 'as' | 'height' | 'ref' | 'tabIndex' | 'popover'> & {\n tooltipProps?: TooltipProps | null\n },\n) => {\n const {tooltipProps, ...rest} = props\n\n const children = <UIMenuGroup {...rest} fontSize={1} padding={3} />\n\n if (tooltipProps) {\n return (\n <Tooltip content={tooltipProps?.content} portal {...tooltipProps}>\n {/* This div is needed to make the tooltip work in disabled menu items */}\n <div>{children}</div>\n </Tooltip>\n )\n }\n\n return children\n}\n"],"names":["ConfirmPopover","t0","$","_c","cancelButtonIcon","cancelButtonText","confirmButtonIcon","confirmButtonText","message","onCancel","onConfirm","open","referenceElement","tone","t1","placement","t2","fallbackPlacements","t3","undefined","t4","t5","t6","UIPopover","ConfirmPopoverContent","t","useTranslation","isTopLayer","useLayer","ref","useRef","event","key","useGlobalKeyDown","Symbol","for","current","useClickOutsideEvent","minWidth","maxWidth","borderTop","t7","UIButton","t8","t9","t10","t11","MenuGroup","props","rest","tooltipProps","UIMenuGroup","children","content"],"mappings":"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"}