{ "version": 3, "sources": ["../../../../src/lib/ui/components/MoveToPageMenu.tsx"], "sourcesContent": ["import * as _ContextMenu from '@radix-ui/react-context-menu'\nimport { PageRecordType, TLPageId, track, useContainer, useEditor } from '@tldraw/editor'\nimport { useToasts } from '../hooks/useToastsProvider'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { Button } from './primitives/Button'\n\nexport const MoveToPageMenu = track(function MoveToPageMenu() {\n\tconst editor = useEditor()\n\tconst container = useContainer()\n\tconst pages = editor.pages\n\tconst currentPageId = editor.currentPageId\n\tconst msg = useTranslation()\n\tconst { addToast } = useToasts()\n\n\treturn (\n\t\t<_ContextMenu.Sub>\n\t\t\t<_ContextMenu.SubTrigger dir=\"ltr\" asChild>\n\t\t\t\t\n\t\t\t\n\t\t\t<_ContextMenu.Portal container={container} dir=\"ltr\">\n\t\t\t\t<_ContextMenu.SubContent className=\"tlui-menu\" sideOffset={-4} collisionPadding={4}>\n\t\t\t\t\t<_ContextMenu.Group\n\t\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\t\tclassName={'tlui-menu__group'}\n\t\t\t\t\t\tdata-testid={`menu-item.pages`}\n\t\t\t\t\t\tkey=\"pages\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{pages.map((page) => (\n\t\t\t\t\t\t\t<_ContextMenu.Item\n\t\t\t\t\t\t\t\tkey={page.id}\n\t\t\t\t\t\t\t\tdisabled={currentPageId === page.id}\n\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\teditor.mark('move_shapes_to_page')\n\t\t\t\t\t\t\t\t\teditor.moveShapesToPage(editor.selectedShapeIds, page.id as TLPageId)\n\n\t\t\t\t\t\t\t\t\tconst toPage = editor.getPage(page.id)\n\n\t\t\t\t\t\t\t\t\tif (toPage) {\n\t\t\t\t\t\t\t\t\t\taddToast({\n\t\t\t\t\t\t\t\t\t\t\ttitle: 'Changed Page',\n\t\t\t\t\t\t\t\t\t\t\tdescription: `Moved to ${toPage.name}.`,\n\t\t\t\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Go Back',\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'primary',\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teditor.mark('change-page')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\teditor.setCurrentPage(currentPageId)\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{page.name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\t<_ContextMenu.Group\n\t\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\t\tclassName={'tlui-menu__group'}\n\t\t\t\t\t\tdata-testid={`menu-item.new-page`}\n\t\t\t\t\t\tkey=\"new-page\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<_ContextMenu.Item\n\t\t\t\t\t\t\tkey=\"new-page\"\n\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\tconst newPageId = PageRecordType.createId()\n\t\t\t\t\t\t\t\tconst ids = editor.selectedShapeIds\n\t\t\t\t\t\t\t\teditor.batch(() => {\n\t\t\t\t\t\t\t\t\teditor.mark('move_shapes_to_page')\n\t\t\t\t\t\t\t\t\teditor.createPage({ name: 'Page', id: newPageId })\n\t\t\t\t\t\t\t\t\teditor.moveShapesToPage(ids, newPageId)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{msg('context.pages.new-page')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n})\n"], "mappings": "AAiBI,cAQA,YARA;AAjBJ,YAAY,kBAAkB;AAC9B,SAAS,gBAA0B,OAAO,cAAc,iBAAiB;AACzE,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AAEhB,MAAM,iBAAiB,MAAM,SAASA,kBAAiB;AAC7D,QAAM,SAAS,UAAU;AACzB,QAAM,YAAY,aAAa;AAC/B,QAAM,QAAQ,OAAO;AACrB,QAAM,gBAAgB,OAAO;AAC7B,QAAM,MAAM,eAAe;AAC3B,QAAM,EAAE,SAAS,IAAI,UAAU;AAE/B,SACC,qBAAC,aAAa,KAAb,EACA;AAAA,wBAAC,aAAa,YAAb,EAAwB,KAAI,OAAM,SAAO,MACzC;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAM;AAAA,QACN,eAAY;AAAA,QACZ,MAAK;AAAA;AAAA,IACN,GACD;AAAA,IACA,oBAAC,aAAa,QAAb,EAAoB,WAAsB,KAAI,OAC9C,+BAAC,aAAa,YAAb,EAAwB,WAAU,aAAY,YAAY,IAAI,kBAAkB,GAChF;AAAA;AAAA,QAAC,aAAa;AAAA,QAAb;AAAA,UACA,KAAI;AAAA,UACJ,WAAW;AAAA,UACX,eAAa;AAAA,UAGZ,gBAAM,IAAI,CAAC,SACX;AAAA,YAAC,aAAa;AAAA,YAAb;AAAA,cAEA,UAAU,kBAAkB,KAAK;AAAA,cACjC,UAAU,MAAM;AACf,uBAAO,KAAK,qBAAqB;AACjC,uBAAO,iBAAiB,OAAO,kBAAkB,KAAK,EAAc;AAEpE,sBAAM,SAAS,OAAO,QAAQ,KAAK,EAAE;AAErC,oBAAI,QAAQ;AACX,2BAAS;AAAA,oBACR,OAAO;AAAA,oBACP,aAAa,YAAY,OAAO,IAAI;AAAA,oBACpC,SAAS;AAAA,sBACR;AAAA,wBACC,OAAO;AAAA,wBACP,MAAM;AAAA,wBACN,SAAS,MAAM;AACd,iCAAO,KAAK,aAAa;AACzB,iCAAO,eAAe,aAAa;AAAA,wBACpC;AAAA,sBACD;AAAA,oBACD;AAAA,kBACD,CAAC;AAAA,gBACF;AAAA,cACD;AAAA,cACA,SAAO;AAAA,cAEP;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAO,KAAK;AAAA,kBACZ,WAAU;AAAA,kBAEV,8BAAC,UAAM,eAAK,MAAK;AAAA;AAAA,cAClB;AAAA;AAAA,YAhCK,KAAK;AAAA,UAiCX,CACA;AAAA;AAAA,QAtCG;AAAA,MAuCL;AAAA,MACA;AAAA,QAAC,aAAa;AAAA,QAAb;AAAA,UACA,KAAI;AAAA,UACJ,WAAW;AAAA,UACX,eAAa;AAAA,UAGb;AAAA,YAAC,aAAa;AAAA,YAAb;AAAA,cAEA,UAAU,MAAM;AACf,sBAAM,YAAY,eAAe,SAAS;AAC1C,sBAAM,MAAM,OAAO;AACnB,uBAAO,MAAM,MAAM;AAClB,yBAAO,KAAK,qBAAqB;AACjC,yBAAO,WAAW,EAAE,MAAM,QAAQ,IAAI,UAAU,CAAC;AACjD,yBAAO,iBAAiB,KAAK,SAAS;AAAA,gBACvC,CAAC;AAAA,cACF;AAAA,cACA,SAAO;AAAA,cAEP;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAO,IAAI,wBAAwB;AAAA,kBACnC,WAAU;AAAA,kBAET,cAAI,wBAAwB;AAAA;AAAA,cAC9B;AAAA;AAAA,YAjBI;AAAA,UAkBL;AAAA;AAAA,QArBI;AAAA,MAsBL;AAAA,OACD,GACD;AAAA,KACD;AAEF,CAAC;", "names": ["MoveToPageMenu"] }