{
  "version": 3,
  "sources": ["../../../../../src/lib/ui/components/PageMenu/PageItemSubmenu.tsx"],
  "sourcesContent": ["import { defineMessages, PageRecordType, TLPageId, track, useEditor } from '@tldraw/editor'\nimport { useCallback } from 'react'\nimport { useUiEvents } from '../../context/events'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { TldrawUiButton } from '../primitives/Button/TldrawUiButton'\nimport { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon'\nimport { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext'\nimport { TldrawUiMenuGroup } from '../primitives/menus/TldrawUiMenuGroup'\nimport { TldrawUiMenuItem } from '../primitives/menus/TldrawUiMenuItem'\nimport {\n\tTldrawUiDropdownMenuContent,\n\tTldrawUiDropdownMenuRoot,\n\tTldrawUiDropdownMenuTrigger,\n} from '../primitives/TldrawUiDropdownMenu'\nimport { onMovePage } from './edit-pages-shared'\n\nconst messages = defineMessages({\n\tpageMenuSubmenuDelete: { id: 'page-menu.submenu.delete', defaultMessage: 'Delete' },\n\tpageMenuSubmenuDuplicatePage: {\n\t\tid: 'page-menu.submenu.duplicate-page',\n\t\tdefaultMessage: 'Duplicate',\n\t},\n\tpageMenuSubmenuMoveDown: { id: 'page-menu.submenu.move-down', defaultMessage: 'Move down' },\n\tpageMenuSubmenuMoveUp: { id: 'page-menu.submenu.move-up', defaultMessage: 'Move up' },\n\tpageMenuSubmenuRename: { id: 'page-menu.submenu.rename', defaultMessage: 'Rename' },\n\tpageMenuSubmenuTitle: { id: 'page-menu.submenu.title', defaultMessage: 'Menu' },\n})\n/** @public */\nexport interface PageItemSubmenuProps {\n\tindex: number\n\titem: { id: string; name: string }\n\tlistSize: number\n\tonRename?(): void\n}\n/** @public */\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 trackEvent = useUiEvents()\n\n\tconst onDuplicate = useCallback(() => {\n\t\teditor.markHistoryStoppingPoint('creating page')\n\t\tconst newId = PageRecordType.createId()\n\t\teditor.duplicatePage(item.id as TLPageId, newId)\n\t\ttrackEvent('duplicate-page', { source: 'page-menu' })\n\t}, [editor, item, trackEvent])\n\n\tconst onMoveUp = useCallback(() => {\n\t\tonMovePage(editor, item.id as TLPageId, index, index - 1, trackEvent)\n\t}, [editor, item, index, trackEvent])\n\n\tconst onMoveDown = useCallback(() => {\n\t\tonMovePage(editor, item.id as TLPageId, index, index + 1, trackEvent)\n\t}, [editor, item, index, trackEvent])\n\n\tconst onDelete = useCallback(() => {\n\t\teditor.markHistoryStoppingPoint('deleting page')\n\t\teditor.deletePage(item.id as TLPageId)\n\t\ttrackEvent('delete-page', { source: 'page-menu' })\n\t}, [editor, item, trackEvent])\n\n\treturn (\n\t\t<TldrawUiDropdownMenuRoot id={`page item submenu ${index}`}>\n\t\t\t<TldrawUiDropdownMenuTrigger>\n\t\t\t\t<TldrawUiButton\n\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\ttooltip={msg(messages.pageMenuSubmenuTitle)}\n\t\t\t\t\ttitle={msg(messages.pageMenuSubmenuTitle)}\n\t\t\t\t\tdata-testid=\"page-menu.item-submenu\"\n\t\t\t\t>\n\t\t\t\t\t<TldrawUiButtonIcon icon=\"dots-vertical\" small />\n\t\t\t\t</TldrawUiButton>\n\t\t\t</TldrawUiDropdownMenuTrigger>\n\t\t\t<TldrawUiDropdownMenuContent side=\"bottom\" align=\"start\" alignOffset={0} sideOffset={0}>\n\t\t\t\t<TldrawUiMenuContextProvider type=\"menu\" sourceId=\"page-menu\">\n\t\t\t\t\t<TldrawUiMenuGroup id=\"modify\">\n\t\t\t\t\t\t{onRename && (\n\t\t\t\t\t\t\t<TldrawUiMenuItem\n\t\t\t\t\t\t\t\tid=\"rename\"\n\t\t\t\t\t\t\t\tlabel={messages.pageMenuSubmenuRename.id}\n\t\t\t\t\t\t\t\tonSelect={onRename}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<TldrawUiMenuItem\n\t\t\t\t\t\t\tid=\"duplicate\"\n\t\t\t\t\t\t\tlabel={messages.pageMenuSubmenuDuplicatePage.id}\n\t\t\t\t\t\t\tonSelect={onDuplicate}\n\t\t\t\t\t\t\tdisabled={listSize >= editor.options.maxPages}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{index > 0 && (\n\t\t\t\t\t\t\t<TldrawUiMenuItem\n\t\t\t\t\t\t\t\tid=\"move-up\"\n\t\t\t\t\t\t\t\tonSelect={onMoveUp}\n\t\t\t\t\t\t\t\tlabel={messages.pageMenuSubmenuMoveUp.id}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{index < listSize - 1 && (\n\t\t\t\t\t\t\t<TldrawUiMenuItem\n\t\t\t\t\t\t\t\tid=\"move-down\"\n\t\t\t\t\t\t\t\tlabel={messages.pageMenuSubmenuMoveDown.id}\n\t\t\t\t\t\t\t\tonSelect={onMoveDown}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</TldrawUiMenuGroup>\n\t\t\t\t\t{listSize > 1 && (\n\t\t\t\t\t\t<TldrawUiMenuGroup id=\"delete\">\n\t\t\t\t\t\t\t<TldrawUiMenuItem\n\t\t\t\t\t\t\t\tid=\"delete\"\n\t\t\t\t\t\t\t\tonSelect={onDelete}\n\t\t\t\t\t\t\t\tlabel={messages.pageMenuSubmenuDelete.id}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TldrawUiMenuGroup>\n\t\t\t\t\t)}\n\t\t\t\t</TldrawUiMenuContextProvider>\n\t\t\t</TldrawUiDropdownMenuContent>\n\t\t</TldrawUiDropdownMenuRoot>\n\t)\n})\n"],
  "mappings": "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",
  "names": ["PageItemSubmenu"]
}
