sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
1 lines • 35.7 kB
Source Map (JSON)
{"version":3,"file":"generate-help-url.esm.mjs","sources":["../../src/ui-components/conditionalWrapper/ConditionalWrapper.tsx","../../src/ui-components/button/Button.tsx","../../src/ui-components/dialog/Dialog.tsx","../../src/ui-components/errorBoundary/ErrorBoundary.tsx","../../src/ui-components/menuButton/MenuButton.tsx","../../src/core/components/Hotkeys.tsx","../../src/ui-components/tooltip/constants.ts","../../src/ui-components/tooltip/Tooltip.tsx","../../src/ui-components/menuItem/MenuItem.tsx","../../src/ui-components/popover/Popover.tsx","../../src/ui-components/tab/Tab.tsx","../../src/ui-components/tooltipDelayGroupProvider/TooltipDelayGroupProvider.tsx","../../../../node_modules/.pnpm/@sanity+generate-help-url@3.0.0/node_modules/@sanity/generate-help-url/dist/generate-help-url.esm.js"],"sourcesContent":["export type ConditionalWrapperRenderWrapperCallback = (children: React.ReactNode) => React.ReactNode\n\n/**\n * A helper component that conditionally wraps its children in a wrapper component.\n *\n * @internal\n */\nexport function ConditionalWrapper({\n children,\n condition,\n wrapper,\n}: {\n children: React.ReactNode\n condition: boolean\n wrapper: ConditionalWrapperRenderWrapperCallback\n}): React.ReactNode {\n if (!condition) {\n return children\n }\n\n return wrapper(children)\n}\n","/* eslint-disable no-restricted-imports */\n\nimport {Button as UIButton, type ButtonProps as UIButtonProps} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef, type HTMLProps, useCallback} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Tooltip, type TooltipProps} from '..'\nimport {\n ConditionalWrapper,\n type ConditionalWrapperRenderWrapperCallback,\n} from '../conditionalWrapper'\n\ntype BaseButtonProps = Pick<\n UIButtonProps,\n | 'as'\n | 'icon'\n | 'iconRight'\n | 'justify'\n | 'loading'\n | 'mode'\n | 'paddingY'\n | 'selected'\n | 'tone'\n | 'type'\n | 'width'\n> & {\n size?: 'default' | 'large'\n radius?: 'full'\n}\n\ntype ButtonWithText = {\n text: string\n tooltipProps?: TooltipProps | null\n icon?: UIButtonProps['icon']\n}\n\ntype IconButton = {\n text?: undefined\n icon?: UIButtonProps['icon']\n /**\n * When using a button with an icon, tooltipProps are required to enforce consistency in UI.\n */\n tooltipProps: TooltipProps | null\n}\n\n/** @internal */\nexport type ButtonProps = BaseButtonProps & (ButtonWithText | IconButton)\n\nconst LARGE_BUTTON_PROPS = {\n space: 3,\n padding: 3,\n}\nconst DEFAULT_BUTTON_PROPS = {\n space: 2,\n padding: 2,\n}\n\nconst TooltipButtonWrapper = styled.span`\n display: inline-flex;\n`\n/**\n * Customized Sanity UI <Button> with pre-defined layout options.\n *\n * @internal\n */\nexport const Button = forwardRef(function Button(\n {\n size = 'default',\n mode = 'default',\n paddingY,\n tone = 'default',\n tooltipProps,\n ...rest\n }: ButtonProps & Omit<HTMLProps<HTMLButtonElement>, 'as' | 'size' | 'title'>,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const renderWrapper = useCallback<ConditionalWrapperRenderWrapperCallback>(\n (children) => {\n return (\n <Tooltip content={tooltipProps?.content} portal {...tooltipProps}>\n {/* This span is needed to make the tooltip work in disabled buttons */}\n <TooltipButtonWrapper>{children}</TooltipButtonWrapper>\n </Tooltip>\n )\n },\n [tooltipProps],\n )\n\n const sizeProps = size === 'default' ? DEFAULT_BUTTON_PROPS : LARGE_BUTTON_PROPS\n\n return (\n <ConditionalWrapper condition={!!tooltipProps} wrapper={renderWrapper}>\n <UIButton {...rest} {...sizeProps} paddingY={paddingY} ref={ref} mode={mode} tone={tone} />\n </ConditionalWrapper>\n )\n})\n","/* eslint-disable no-restricted-imports */\nimport {\n Box,\n type BoxHeight,\n Button as UIButton,\n Dialog as UIDialog,\n type DialogProps as UIDialogProps,\n Flex,\n Text,\n} from '@sanity/ui'\nimport {type ComponentProps, forwardRef, type HTMLProps, type ReactNode, type Ref} from 'react'\nimport {useTranslation} from 'react-i18next'\n\n/** @internal */\nexport type DialogProps = Pick<\n UIDialogProps,\n | '__unstable_autoFocus'\n | '__unstable_hideCloseButton'\n | 'contentRef'\n | 'header'\n | 'id'\n | 'onActivate'\n | 'onClickOutside'\n | 'onClose'\n | 'portal'\n | 'position'\n | 'scheme'\n | 'width'\n> & {\n /**\n * Dialog body height.\n * Set this to 'fill' (i.e. 100%) if you want overflow body content to be contained\n * and not trigger dynamic border visibility.\n */\n bodyHeight?: BoxHeight\n children?: ReactNode\n zOffset?: number\n footer?: {\n cancelButton?: Omit<ComponentProps<typeof UIButton>, 'fontSize' | 'padding'>\n confirmButton?: Omit<ComponentProps<typeof UIButton>, 'fontSize' | 'padding'>\n /**\n * Description to be displayed side by side with the buttons.\n */\n description?: string\n }\n /**\n * If enabled, removes all default padding from dialog content.\n */\n padding?: boolean\n}\n\n/**\n * Customized Sanity UI <Dialog> that enforces an opinionated footer layout with a max of two buttons (confirm and cancel).\n *\n * @internal\n */\nexport const Dialog = forwardRef(function Dialog(\n {\n bodyHeight,\n children,\n footer,\n padding = true,\n zOffset,\n ...props\n }: DialogProps & Pick<HTMLProps<HTMLDivElement>, 'onDragEnter' | 'onDrop'>,\n ref: Ref<HTMLDivElement>,\n) {\n const {t} = useTranslation()\n\n return (\n <UIDialog\n {...props}\n animate\n zOffset={zOffset}\n ref={ref}\n footer={\n (footer?.confirmButton || footer?.cancelButton) && (\n <Flex width=\"full\" gap={3} justify=\"flex-end\" padding={3} align=\"center\">\n {footer?.description && (\n <Box flex={1} paddingLeft={1}>\n <Text size={1} muted>\n {footer.description}\n </Text>\n </Box>\n )}\n {props.onClose && (\n <UIButton\n mode=\"bleed\"\n padding={2}\n text={t('common.dialog.cancel-button.text')}\n tone=\"default\"\n onClick={props.onClose}\n data-testid=\"cancel-button\"\n {...footer.cancelButton}\n />\n )}\n {footer.confirmButton && (\n <UIButton\n mode=\"default\"\n padding={2}\n text={t('common.dialog.confirm-button.text')}\n tone=\"critical\"\n data-testid=\"confirm-button\"\n {...footer.confirmButton}\n />\n )}\n </Flex>\n )\n }\n >\n <Box height={bodyHeight} padding={padding ? 4 : 0}>\n {children}\n </Box>\n </UIDialog>\n )\n})\n","import {\n // eslint-disable-next-line no-restricted-imports\n ErrorBoundary as UIErrorBoundary,\n type ErrorBoundaryProps as UIErrorBoundaryProps,\n} from '@sanity/ui'\nimport {useCallback, useContext} from 'react'\n\nimport {SourceContext} from '../../_singletons'\n\nexport type ErrorBoundaryProps = UIErrorBoundaryProps\n\n/**\n * ErrorBoundary component that catches errors and uses onUncaughtError config property\n * It also calls the onCatch prop if it exists.\n */\nexport function ErrorBoundary({onCatch, ...rest}: ErrorBoundaryProps): React.JSX.Element {\n // Use context, because source could be undefined and we don't want to throw in that case\n const source = useContext(SourceContext)\n\n const handleCatch = useCallback(\n ({error: caughtError, info: caughtInfo}: {error: Error; info: React.ErrorInfo}) => {\n // Send the error to the source if it has an onUncaughtError method\n try {\n source?.onUncaughtError?.(caughtError, caughtInfo)\n } catch (e) {\n e.message = `Encountered an additional error when calling custom \"onUncaughtError()\": ${e.message}`\n console.error(e)\n }\n\n // Call the onCatch prop if it exists\n onCatch?.({error: caughtError, info: caughtInfo})\n },\n [source, onCatch],\n )\n\n return <UIErrorBoundary {...rest} onCatch={handleCatch} />\n}\n","/* eslint-disable no-restricted-imports */\nimport {\n MenuButton as UIMenuButton,\n type MenuButtonProps as UIMenuButtonProps,\n type PopoverProps,\n} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef} from 'react'\n\n/** @internal */\nexport type MenuButtonProps = Omit<UIMenuButtonProps, 'popover'> & {\n popover?: Omit<PopoverProps, 'animate' | 'content' | 'open'>\n}\n\n/**\n * Customized Sanity UI <MenuButton> that enforces popover animation.\n *\n * @internal\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n return (\n <UIMenuButton\n {...props}\n ref={ref}\n popover={{\n ...props.popover,\n animate: true,\n }}\n />\n )\n})\n","import {Hotkeys as UIHotkeys, type HotkeysProps as UIHotkeysProps} from '@sanity/ui'\nimport {type HTMLProps, type RefAttributes} from 'react'\n\n/**\n * Properties for the `Hotkeys` component.\n *\n * @public\n */\nexport type HotkeysProps = UIHotkeysProps & {\n /**\n * Whether to make the keys platform-aware (eg `alt` to `option` on Apple devices).\n *\n * @defaultValue true\n */\n makePlatformAware?: boolean\n} & Omit<HTMLProps<HTMLElement>, 'ref' | 'size' | 'as'> &\n RefAttributes<HTMLElement>\n\n/**\n * Renders given `keys` as \"keycaps\" visually.\n *\n * This is a wrapper around `@sanity/ui`'s `Hotkeys` component, which allows for altering keys\n * (eg `alt` to `option`) on Apple devices unless `makePlatformAware` is set to `false`.\n *\n * @param props - Properties to render with\n * @returns React element\n * @public\n */\nexport function Hotkeys({makePlatformAware = true, keys: hotKeys = [], ...props}: HotkeysProps) {\n const keys = makePlatformAware ? hotKeys.map(platformifyKey) : hotKeys\n return <UIHotkeys {...props} keys={keys} />\n}\n\n/**\n * @internal\n */\nconst IS_APPLE_DEVICE =\n typeof navigator === 'undefined' || typeof navigator.platform !== 'string'\n ? false\n : /Mac|iPod|iPhone|iPad/.test(navigator.platform || '')\n\n/**\n * Given key 'Alt', or 'Option' (case-insensitive), return the platform-appropriate key name\n * (eg 'Alt' on non-Apple devices, 'Option' on Apple devices).\n *\n * @param key - Key to platformify\n * @returns Platform-appropriate key name\n * @internal\n */\nfunction platformifyKey(key: string): string {\n const lowerKey = key.toLowerCase()\n\n if (lowerKey === 'alt' && IS_APPLE_DEVICE) {\n return matchCase(key, 'option')\n }\n\n if (lowerKey === 'option' && !IS_APPLE_DEVICE) {\n return matchCase(key, 'alt')\n }\n\n return key\n}\n\n/**\n * Apply the case (lowercase/uppercase) of `original` to `target`, character by character,\n * eg matching ALL CAPS, all lowercase or Mixed Case.\n *\n * @param original - The original string to match case of\n * @param target - The target string to apply case to\n * @returns Target string with case applied from original\n * @internal\n */\nfunction matchCase(original: string, target: string): string {\n const orgLength = original.length\n\n return target.replace(/./g, (char, i) => {\n // Replace character by character matching case of original\n // If running out of original, just return the target case as-is\n return i < orgLength && original[i] === original[i].toUpperCase() ? char.toUpperCase() : char\n })\n}\n","export const TOOLTIP_DELAY_PROPS = {\n open: 400,\n}\n","import {\n Box,\n Flex,\n type HotkeysProps,\n Text,\n // eslint-disable-next-line no-restricted-imports\n Tooltip as UITooltip,\n // eslint-disable-next-line no-restricted-imports\n type TooltipProps as UITooltipProps,\n} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef} from 'react'\n\nimport {Hotkeys} from '../../core/components/Hotkeys'\nimport {TOOLTIP_DELAY_PROPS} from './constants'\n\n/** @internal */\n\nexport type TooltipProps = Omit<UITooltipProps, 'arrow' | 'padding' | 'shadow'> & {\n hotkeys?: HotkeysProps['keys']\n}\n\nconst TOOLTIP_SHARED_PROPS: UITooltipProps = {\n animate: true,\n arrow: false,\n boundaryElement: null,\n delay: TOOLTIP_DELAY_PROPS,\n fallbackPlacements: ['bottom-start', 'bottom-end', 'top-start', 'top-end'],\n placement: 'bottom',\n portal: true,\n}\n\n/**\n * Customized Sanity UI <Tooltip> with limited layout options and support for showing hotkeys.\n *\n * In just about all cases, its strongly recommended that you pass a string to the `content` prop.\n * This helps simplify i18n and encourages short and concise.\n *\n * Passing ReactNode values to `content` is supported, but discouraged.\n *\n * @internal\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: TooltipProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {content, hotkeys, ...rest} = props\n\n if (typeof content === 'string') {\n return (\n <UITooltip\n {...TOOLTIP_SHARED_PROPS}\n content={\n <Flex align=\"center\">\n {content && (\n <Box flex={1} padding={1}>\n <Text size={1}>{content}</Text>\n </Box>\n )}\n {hotkeys && (\n <Box flex=\"none\">\n <Hotkeys keys={hotkeys} />\n </Box>\n )}\n </Flex>\n }\n padding={1}\n ref={ref}\n {...rest}\n />\n )\n }\n\n return <UITooltip {...TOOLTIP_SHARED_PROPS} content={content} ref={ref} {...rest} />\n})\n","/* eslint-disable no-restricted-imports */\nimport {\n Badge,\n Box,\n Flex,\n MenuItem as UIMenuItem,\n type MenuItemProps as UIMenuItemProps,\n Stack,\n Text,\n} from '@sanity/ui'\nimport {\n forwardRef,\n type HTMLProps,\n isValidElement,\n type ReactNode,\n type Ref,\n useCallback,\n useMemo,\n} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {Hotkeys} from '../../core/components/Hotkeys'\nimport {Tooltip, type TooltipProps} from '..'\nimport {\n ConditionalWrapper,\n type ConditionalWrapperRenderWrapperCallback,\n} from '../conditionalWrapper'\n\nconst FONT_SIZE = 1\nconst SUBTITLE_FONT_SIZE = 0\n\n/* Using px value here to make title/subtitles align with icon */\nconst SubtitleText = styled(Text)`\n margin-top: 2px;\n`\n\n/** @internal */\nexport type MenuItemProps = Pick<\n UIMenuItemProps,\n 'as' | 'icon' | 'iconRight' | 'pressed' | 'selected' | 'tone' | 'hotkeys'\n> & {\n badgeText?: string\n /**\n * Usage of `children` is not supported, import `MenuItem` from `@sanity/ui` instead.\n */\n children?: undefined\n /**\n * Previews should be 25x25.\n */\n preview?: ReactNode\n /**\n * Optional render callback which receives menu item content.\n */\n renderMenuItem?: (menuItemContent: React.JSX.Element) => ReactNode\n text?: string\n tooltipProps?: TooltipProps | null\n /**\n * Optional subtitle prop for the menu item.\n * While not recommended, it is utilized for the workspace menu button.\n */\n __unstable_subtitle?: string\n /**\n * An optional property to adjust spacing in the preview between the icon and the text.\n * Not recommended, but is applied to the workspace menu button..\n */\n __unstable_space?: number\n}\n\nconst PreviewWrapper = styled(Box)`\n height: 25px;\n width: 25px;\n overflow: hidden;\n`\n\n/**\n * Customized Sanity UI <MenuItem> that restricts usage of `children` to encourage simple,\n * single line menu items.\n *\n * The workspace menu button needed a subtitle - hence, the StudioUI MenuIten now takes a subtitle prop.\n * This is only an escape hatch for the workspace menu button and is not recommended for general use.\n *\n * It also accepts a prop to attach tooltips as well as custom badges too.\n *\n * @internal\n */\nexport const MenuItem = forwardRef(function MenuItem(\n {\n badgeText,\n children: childrenProp,\n disabled,\n hotkeys,\n icon: Icon,\n iconRight: IconRight,\n preview = null,\n renderMenuItem,\n text,\n tooltipProps,\n __unstable_subtitle,\n __unstable_space,\n ...rest\n }: MenuItemProps &\n Omit<HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'selected' | 'tabIndex' | 'size'>,\n ref: Ref<HTMLDivElement>,\n) {\n const menuItemContent = useMemo(() => {\n return (\n <Flex align=\"center\" gap={2}>\n {preview && (\n <PreviewWrapper\n style={{opacity: disabled ? 0.25 : undefined}}\n paddingRight={__unstable_space ? 1 : 0}\n >\n <Flex align=\"center\" height=\"fill\" justify=\"center\">\n {preview}\n </Flex>\n </PreviewWrapper>\n )}\n {Icon && (\n <Box paddingRight={1}>\n <Text size={FONT_SIZE}>\n {isValidElement(Icon) && Icon}\n {isValidElementType(Icon) && <Icon />}\n </Text>\n </Box>\n )}\n {text && (\n <Stack\n flex={1}\n space={__unstable_subtitle ? 1 : 2}\n paddingLeft={__unstable_subtitle ? 1 : 0}\n >\n <Text size={FONT_SIZE} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n {__unstable_subtitle && (\n <SubtitleText size={SUBTITLE_FONT_SIZE} textOverflow=\"ellipsis\" weight=\"medium\" muted>\n {__unstable_subtitle}\n </SubtitleText>\n )}\n </Stack>\n )}\n {(badgeText || hotkeys || IconRight) && (\n <Flex align=\"center\" gap={3} marginLeft={3}>\n {hotkeys && <Hotkeys keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />}\n\n {badgeText && (\n <Badge fontSize={0} style={{marginTop: -4, marginBottom: -4}}>\n {badgeText}\n </Badge>\n )}\n\n {IconRight && (\n <Text size={FONT_SIZE}>\n {isValidElement(IconRight) && IconRight}\n {isValidElementType(IconRight) && <IconRight />}\n </Text>\n )}\n </Flex>\n )}\n </Flex>\n )\n }, [\n preview,\n disabled,\n __unstable_space,\n Icon,\n text,\n __unstable_subtitle,\n badgeText,\n hotkeys,\n IconRight,\n ])\n\n const renderWrapper = useCallback<ConditionalWrapperRenderWrapperCallback>(\n (children) => {\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 [tooltipProps],\n )\n\n return (\n <ConditionalWrapper condition={!!tooltipProps} wrapper={renderWrapper}>\n <UIMenuItem\n disabled={disabled}\n paddingLeft={preview ? 1 : 3}\n paddingRight={3}\n paddingY={preview ? 1 : 3}\n ref={ref}\n {...rest}\n >\n {typeof childrenProp === 'undefined' && typeof renderMenuItem === 'function'\n ? renderMenuItem(menuItemContent)\n : menuItemContent}\n </UIMenuItem>\n </ConditionalWrapper>\n )\n})\n","/* eslint-disable no-restricted-imports */\nimport {Popover as UIPopover, type PopoverProps as UIPopoverProps} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef, type HTMLProps} from 'react'\n\n/** @internal */\nexport type PopoverProps = Omit<UIPopoverProps, 'animate'>\n\n/**\n * Customized Sanity UI <Popover> that forces `animate=true`\n *\n * All Popovers in the studio should be animated.\n *\n * @internal\n */\nexport const Popover = forwardRef(function Popover(\n props: PopoverProps & Omit<HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return <UIPopover {...props} animate ref={ref} />\n})\n","/* eslint-disable no-restricted-imports */\nimport {Tab as UITab, type TabProps as UITabProps} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef, type HTMLProps} from 'react'\n\n/**\n * @internal\n *\n * Padding and font sizes are fixed in Studio UI <Tab> components.\n */\nexport type TabProps = Pick<\n UITabProps,\n 'aria-controls' | 'focused' | 'icon' | 'id' | 'label' | 'selected' | 'tone'\n>\n\n/**\n * Customized Sanity UI <Tab> with limited layout options.\n *\n * @internal\n */\nexport const Tab = forwardRef(function Tab(\n {tone = 'default', ...props}: TabProps & Omit<HTMLProps<HTMLButtonElement>, 'as' | 'size'>,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n return <UITab {...props} muted padding={2} ref={ref} tone={tone} />\n})\n","/* eslint-disable no-restricted-imports */\nimport {\n TooltipDelayGroupProvider as UITooltipDelayGroupProvider,\n type TooltipDelayGroupProviderProps as UITooltipDelayGroupProviderProps,\n} from '@sanity/ui'\n\nimport {TOOLTIP_DELAY_PROPS} from '../tooltip/constants'\n\n/** @internal */\nexport type TooltipDelayGroupProviderProps = Omit<UITooltipDelayGroupProviderProps, 'delay'>\n\n/**\n * Opinionated Sanity UI <TooltipDelayGroupProvider> which forces the same delay to all tooltips.\n *\n * @internal\n */\nexport const TooltipDelayGroupProvider = (props: TooltipDelayGroupProviderProps) => {\n return (\n <UITooltipDelayGroupProvider delay={TOOLTIP_DELAY_PROPS}>\n {props.children}\n </UITooltipDelayGroupProvider>\n )\n}\n","const BASE_URL = \"https://docs.sanity.io/help/\";\nfunction generateHelpUrl(slug) {\n return BASE_URL + slug;\n}\nexport { generateHelpUrl };\n//# sourceMappingURL=generate-help-url.esm.js.map\n"],"names":["ConditionalWrapper","children","condition","wrapper","LARGE_BUTTON_PROPS","space","padding","DEFAULT_BUTTON_PROPS","TooltipButtonWrapper","styled","span","Button","forwardRef","t0","ref","$","_c","paddingY","rest","t1","t2","t3","tooltipProps","size","mode","tone","undefined","t4","content","renderWrapper","sizeProps","t5","t6","UIButton","t7","Dialog","bodyHeight","footer","props","zOffset","t","useTranslation","confirmButton","cancelButton","description","onClose","UIDialog","ErrorBoundary","onCatch","source","useContext","SourceContext","handleCatch","useCallback","error","caughtError","info","caughtInfo","onUncaughtError","e","message","console","UIErrorBoundary","MenuButton","popover","animate","UIMenuButton","Hotkeys","makePlatformAware","keys","hotKeys","map","platformifyKey","UIHotkeys","IS_APPLE_DEVICE","navigator","platform","test","key","lowerKey","toLowerCase","matchCase","original","target","orgLength","length","replace","char","i","toUpperCase","TOOLTIP_DELAY_PROPS","open","TOOLTIP_SHARED_PROPS","arrow","boundaryElement","delay","fallbackPlacements","placement","portal","Tooltip","hotkeys","UITooltip","FONT_SIZE","SUBTITLE_FONT_SIZE","SubtitleText","Text","PreviewWrapper","Box","MenuItem","Icon","IconRight","__unstable_space","__unstable_subtitle","badgeText","childrenProp","disabled","renderMenuItem","text","icon","iconRight","preview","opacity","isValidElement","isValidElementType","marginTop","marginBottom","menuItemContent","t8","t9","t10","t11","t12","t13","UIMenuItem","t14","Popover","UIPopover","Tab","UITab","TooltipDelayGroupProvider","UITooltipDelayGroupProvider","BASE_URL","slug"],"mappings":"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","x_google_ignoreList":[12]}