{ "version": 3, "sources": ["../../../../../src/lib/ui/components/PageMenu/PageItemSubmenu.tsx"], "sourcesContent": ["import * as DropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { MAX_PAGES, PageRecordType, TLPageId, track, useEditor } from '@tldraw/editor'\nimport { useCallback } from 'react'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { Button } from '../primitives/Button'\nimport * as M from '../primitives/DropdownMenu'\nimport { onMovePage } from './edit-pages-shared'\n\nexport interface PageItemSubmenuProps {\n\tindex: number\n\titem: { id: string; name: string }\n\tlistSize: number\n\tonRename?: () => void\n}\n\nexport const PageItemSubmenu = track(function PageItemSubmenu({\n\tindex,\n\tlistSize,\n\titem,\n\tonRename,\n}: PageItemSubmenuProps) {\n\tconst editor = useEditor()\n\tconst msg = useTranslation()\n\tconst pages = editor.pages\n\n\tconst onDuplicate = useCallback(() => {\n\t\teditor.mark('creating page')\n\t\tconst newId = PageRecordType.createId()\n\t\teditor.duplicatePage(item.id as TLPageId, newId)\n\t}, [editor, item])\n\n\tconst onMoveUp = useCallback(() => {\n\t\tonMovePage(editor, item.id as TLPageId, index, index - 1)\n\t}, [editor, item, index])\n\n\tconst onMoveDown = useCallback(() => {\n\t\tonMovePage(editor, item.id as TLPageId, index, index + 1)\n\t}, [editor, item, index])\n\n\tconst onDelete = useCallback(() => {\n\t\teditor.mark('deleting page')\n\t\teditor.deletePage(item.id as TLPageId)\n\t}, [editor, item])\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t