{ "version": 3, "sources": ["../../../../../src/lib/ui/components/primitives/DropdownMenu.tsx"], "sourcesContent": ["import * as DropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { preventDefault, useContainer } from '@tldraw/editor'\nimport { useMenuIsOpen } from '../../hooks/useMenuIsOpen'\nimport { TLUiTranslationKey } from '../../hooks/useTranslation/TLUiTranslationKey'\nimport { Button, TLUiButtonProps } from './Button'\nimport { Icon } from './Icon'\n\n/** @public */\nexport function Root({\n\tid,\n\tchildren,\n\tmodal = false,\n}: {\n\tid: string\n\tchildren: any\n\tmodal?: boolean\n}) {\n\tconst [open, onOpenChange] = useMenuIsOpen(id)\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\n/** @public */\nexport function Trigger({\n\tchildren,\n\t'data-testid': testId,\n}: {\n\tchildren: any\n\t'data-testid'?: string\n}) {\n\treturn (\n\t\t preventDefault(e)}\n\t\t>\n\t\t\t{children}\n\t\t\n\t)\n}\n\n/** @public */\nexport function Content({\n\tside = 'bottom',\n\talign = 'start',\n\tsideOffset = 8,\n\talignOffset = 8,\n\tchildren,\n}: {\n\tchildren: any\n\talignOffset?: number\n\tsideOffset?: number\n\talign?: 'start' | 'center' | 'end'\n\tside?: 'bottom' | 'top' | 'right' | 'left'\n}) {\n\tconst container = useContainer()\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t)\n}\n\n/** @public */\nexport function Sub({ id, children }: { id: string; children: any }) {\n\tconst [open, onOpenChange] = useMenuIsOpen(id)\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\n/** @public */\nexport function SubTrigger({\n\tlabel,\n\t'data-testid': testId,\n\t'data-direction': dataDirection,\n}: {\n\tlabel: TLUiTranslationKey\n\t'data-testid'?: string\n\t'data-direction'?: 'left' | 'right'\n}) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\n/** @public */\nexport function SubContent({\n\talignOffset = 0,\n\tsideOffset = 5,\n\tchildren,\n}: {\n\talignOffset?: number\n\tsideOffset?: number\n\tchildren: any\n}) {\n\tconst container = useContainer()\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t)\n}\n\n/** @public */\nexport function Group({\n\tchildren,\n\tsize = 'medium',\n}: {\n\tchildren: any\n\tsize?: 'tiny' | 'small' | 'medium' | 'wide'\n}) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\n/** @public */\nexport function Indicator() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\n/** @public */\nexport interface DropdownMenuItemProps extends TLUiButtonProps {\n\tnoClose?: boolean\n}\n\n/** @public */\nexport function Item({ noClose, ...props }: DropdownMenuItemProps) {\n\treturn (\n\t\t\n\t\t\t