{ "version": 3, "sources": ["../../../../../src/lib/ui/components/NavigationZone/ZoomMenu.tsx"], "sourcesContent": ["import { ANIMATION_MEDIUM_MS, track, useEditor } from '@tldraw/editor'\nimport * as React from 'react'\nimport { useActions } from '../../hooks/useActions'\nimport { useBreakpoint } from '../../hooks/useBreakpoint'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { Button } from '../primitives/Button'\nimport * as M from '../primitives/DropdownMenu'\n\nexport const ZoomMenu = track(function ZoomMenu() {\n\tconst editor = useEditor()\n\tconst msg = useTranslation()\n\tconst breakpoint = useBreakpoint()\n\n\tconst zoom = editor.zoomLevel\n\tconst hasShapes = editor.currentPageShapeIds.size > 0\n\tconst hasSelected = editor.selectedShapeIds.length > 0\n\tconst isZoomedTo100 = editor.zoomLevel === 1\n\n\tconst handleDoubleClick = React.useCallback(() => {\n\t\teditor.resetZoom(editor.viewportScreenCenter, { duration: ANIMATION_MEDIUM_MS })\n\t}, [editor])\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{breakpoint < 4 ? null : (\n\t\t\t\t\t\t{Math.floor(zoom * 100)}%\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\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\nfunction ZoomMenuItem(props: {\n\taction: string\n\tdisabled?: boolean\n\tnoClose?: boolean\n\t'data-testid'?: string\n}) {\n\tconst { action, disabled = false, noClose = false } = props\n\tconst actions = useActions()\n\n\treturn (\n\t\t actions[action].onSelect('zoom-menu')}\n\t\t\tnoClose={noClose}\n\t\t\tdisabled={disabled}\n\t\t/>\n\t)\n}\n"], "mappings": "AAyBI,cAQE,YARF;AAzBJ,SAAS,qBAAqB,OAAO,iBAAiB;AACtD,YAAY,WAAW;AACvB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,YAAY,OAAO;AAEZ,MAAM,WAAW,MAAM,SAASA,YAAW;AACjD,QAAM,SAAS,UAAU;AACzB,QAAM,MAAM,eAAe;AAC3B,QAAM,aAAa,cAAc;AAEjC,QAAM,OAAO,OAAO;AACpB,QAAM,YAAY,OAAO,oBAAoB,OAAO;AACpD,QAAM,cAAc,OAAO,iBAAiB,SAAS;AACrD,QAAM,gBAAgB,OAAO,cAAc;AAE3C,QAAM,oBAAoB,MAAM,YAAY,MAAM;AACjD,WAAO,UAAU,OAAO,sBAAsB,EAAE,UAAU,oBAAoB,CAAC;AAAA,EAChF,GAAG,CAAC,MAAM,CAAC;AAEX,SACC,qBAAC,EAAE,MAAF,EAAO,IAAG,QACV;AAAA,wBAAC,EAAE,SAAF,EACA;AAAA,MAAC;AAAA;AAAA,QACA,OAAO,GAAG,IAAI,sBAAsB,CAAC;AAAA,QACrC,eAAY;AAAA,QACZ,WAAW,aAAa,IAAI,2BAA2B;AAAA,QACvD,eAAe;AAAA,QACf,MAAM,aAAa,IAAI,YAAY;AAAA,QAElC,uBAAa,IAAI,OACjB,qBAAC,UAAK,OAAO,EAAE,UAAU,GAAG,WAAW,SAAS,GAAI;AAAA,eAAK,MAAM,OAAO,GAAG;AAAA,UAAE;AAAA,WAAC;AAAA;AAAA,IAE9E,GACD;AAAA,IACA,oBAAC,EAAE,SAAF,EAAU,MAAK,OAAM,OAAM,SAAQ,aAAa,GAChD,+BAAC,EAAE,OAAF,EACA;AAAA,0BAAC,gBAAa,QAAO,WAAU,eAAY,6BAA4B,SAAO,MAAC;AAAA,MAC/E,oBAAC,gBAAa,QAAO,YAAW,eAAY,8BAA6B,SAAO,MAAC;AAAA,MACjF;AAAA,QAAC;AAAA;AAAA,UACA,QAAO;AAAA,UACP,eAAY;AAAA,UACZ,SAAO;AAAA,UACP,UAAU;AAAA;AAAA,MACX;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,QAAO;AAAA,UACP,UAAU,CAAC;AAAA,UACX,eAAY;AAAA,UACZ,SAAO;AAAA;AAAA,MACR;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,QAAO;AAAA,UACP,UAAU,CAAC;AAAA,UACX,eAAY;AAAA,UACZ,SAAO;AAAA;AAAA,MACR;AAAA,OACD,GACD;AAAA,KACD;AAEF,CAAC;AAED,SAAS,aAAa,OAKnB;AACF,QAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,MAAM,IAAI;AACtD,QAAM,UAAU,WAAW;AAE3B,SACC;AAAA,IAAC,EAAE;AAAA,IAAF;AAAA,MACA,OAAO,QAAQ,MAAM,EAAE;AAAA,MACvB,KAAK,QAAQ,MAAM,EAAE;AAAA,MACrB,eAAa,MAAM,aAAa;AAAA,MAChC,SAAS,MAAM,QAAQ,MAAM,EAAE,SAAS,WAAW;AAAA,MACnD;AAAA,MACA;AAAA;AAAA,EACD;AAEF;", "names": ["ZoomMenu"] }