{
  "version": 3,
  "sources": ["../../../../../src/lib/ui/components/NavigationZone/ZoomMenu.tsx"],
  "sourcesContent": ["import { ANIMATION_MEDIUM_MS, track, useEditor } from '@bigbluebutton/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.getZoomLevel()\n\tconst hasShapes = editor.getCurrentPageShapeIds().size > 0\n\tconst hasSelected = editor.getSelectedShapeIds().length > 0\n\tconst isZoomedTo100 = editor.getZoomLevel() === 1\n\n\tconst handleDoubleClick = React.useCallback(() => {\n\t\teditor.resetZoom(editor.getViewportScreenCenter(), { duration: ANIMATION_MEDIUM_MS })\n\t}, [editor])\n\n\treturn (\n\t\t<M.Root id=\"zoom\">\n\t\t\t<M.Trigger>\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\ttitle={`${msg('navigation-zone.zoom')}`}\n\t\t\t\t\tdata-testid=\"minimap.zoom-menu\"\n\t\t\t\t\tclassName={breakpoint < 5 ? 'tlui-zoom-menu__button' : 'tlui-zoom-menu__button__pct'}\n\t\t\t\t\tonDoubleClick={handleDoubleClick}\n\t\t\t\t\ticon={breakpoint < 4 ? 'zoom-in' : undefined}\n\t\t\t\t>\n\t\t\t\t\t{breakpoint < 4 ? null : (\n\t\t\t\t\t\t<span style={{ flexGrow: 0, textAlign: 'center' }}>{Math.floor(zoom * 100)}%</span>\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</M.Trigger>\n\t\t\t<M.Content side=\"top\" align=\"start\" alignOffset={0}>\n\t\t\t\t<M.Group>\n\t\t\t\t\t<ZoomMenuItem action=\"zoom-in\" data-testid=\"minimap.zoom-menu.zoom-in\" noClose />\n\t\t\t\t\t<ZoomMenuItem action=\"zoom-out\" data-testid=\"minimap.zoom-menu.zoom-out\" noClose />\n\t\t\t\t\t<ZoomMenuItem\n\t\t\t\t\t\taction=\"zoom-to-100\"\n\t\t\t\t\t\tdata-testid=\"minimap.zoom-menu.zoom-to-100\"\n\t\t\t\t\t\tnoClose\n\t\t\t\t\t\tdisabled={isZoomedTo100}\n\t\t\t\t\t/>\n\t\t\t\t\t<ZoomMenuItem\n\t\t\t\t\t\taction=\"zoom-to-fit\"\n\t\t\t\t\t\tdisabled={!hasShapes}\n\t\t\t\t\t\tdata-testid=\"minimap.zoom-menu.zoom-to-fit\"\n\t\t\t\t\t\tnoClose\n\t\t\t\t\t/>\n\t\t\t\t\t<ZoomMenuItem\n\t\t\t\t\t\taction=\"zoom-to-selection\"\n\t\t\t\t\t\tdisabled={!hasSelected}\n\t\t\t\t\t\tdata-testid=\"minimap.zoom-menu.zoom-to-selection\"\n\t\t\t\t\t\tnoClose\n\t\t\t\t\t/>\n\t\t\t\t</M.Group>\n\t\t\t</M.Content>\n\t\t</M.Root>\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<M.Item\n\t\t\ttype=\"menu\"\n\t\t\tlabel={actions[action].label}\n\t\t\tkbd={actions[action].kbd}\n\t\t\tdata-testid={props['data-testid']}\n\t\t\tonClick={() => actions[action].onSelect('zoom-menu')}\n\t\t\tnoClose={noClose}\n\t\t\tdisabled={disabled}\n\t\t/>\n\t)\n}\n"],
  "mappings": "AAyBI,cASE,YATF;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,aAAa;AACjC,QAAM,YAAY,OAAO,uBAAuB,EAAE,OAAO;AACzD,QAAM,cAAc,OAAO,oBAAoB,EAAE,SAAS;AAC1D,QAAM,gBAAgB,OAAO,aAAa,MAAM;AAEhD,QAAM,oBAAoB,MAAM,YAAY,MAAM;AACjD,WAAO,UAAU,OAAO,wBAAwB,GAAG,EAAE,UAAU,oBAAoB,CAAC;AAAA,EACrF,GAAG,CAAC,MAAM,CAAC;AAEX,SACC,qBAAC,EAAE,MAAF,EAAO,IAAG,QACV;AAAA,wBAAC,EAAE,SAAF,EACA;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,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,MAAK;AAAA,MACL,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"]
}
