tldraw
Version:
A tiny little drawing editor.
8 lines (7 loc) • 1.68 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../../src/lib/ui/hooks/useExportAs.ts"],
"sourcesContent": ["import { TLShapeId, useEditor } from '@tldraw/editor'\nimport { useCallback } from 'react'\nimport { TLExportType, exportAs } from '../../utils/export/exportAs'\nimport { useToasts } from '../context/toasts'\nimport { useTranslation } from './useTranslation/useTranslation'\n\n/** @public */\nexport function useExportAs() {\n\tconst editor = useEditor()\n\tconst { addToast } = useToasts()\n\tconst msg = useTranslation()\n\n\treturn useCallback(\n\t\t(ids: TLShapeId[], format: TLExportType = 'png', name: string | undefined) => {\n\t\t\texportAs(editor, ids, format, name, {\n\t\t\t\tscale: 1,\n\t\t\t\tbackground: editor.getInstanceState().exportBackground,\n\t\t\t}).catch((e) => {\n\t\t\t\tconsole.error(e.message)\n\t\t\t\taddToast({\n\t\t\t\t\tid: 'export-fail',\n\t\t\t\t\ttitle: msg('toast.error.export-fail.title'),\n\t\t\t\t\tdescription: msg('toast.error.export-fail.desc'),\n\t\t\t\t\tseverity: 'error',\n\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t[editor, addToast, msg]\n\t)\n}\n"],
"mappings": "AAAA,SAAoB,iBAAiB;AACrC,SAAS,mBAAmB;AAC5B,SAAuB,gBAAgB;AACvC,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAGxB,SAAS,cAAc;AAC7B,QAAM,SAAS,UAAU;AACzB,QAAM,EAAE,SAAS,IAAI,UAAU;AAC/B,QAAM,MAAM,eAAe;AAE3B,SAAO;AAAA,IACN,CAAC,KAAkB,SAAuB,OAAO,SAA6B;AAC7E,eAAS,QAAQ,KAAK,QAAQ,MAAM;AAAA,QACnC,OAAO;AAAA,QACP,YAAY,OAAO,iBAAiB,EAAE;AAAA,MACvC,CAAC,EAAE,MAAM,CAAC,MAAM;AACf,gBAAQ,MAAM,EAAE,OAAO;AACvB,iBAAS;AAAA,UACR,IAAI;AAAA,UACJ,OAAO,IAAI,+BAA+B;AAAA,UAC1C,aAAa,IAAI,8BAA8B;AAAA,UAC/C,UAAU;AAAA,QACX,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,UAAU,GAAG;AAAA,EACvB;AACD;",
"names": []
}