{
  "version": 3,
  "sources": ["../../../../src/lib/ui/context/asset-urls.tsx"],
  "sourcesContent": ["import { Image, noop } from '@tldraw/editor'\nimport { createContext, useContext, useEffect } from 'react'\nimport { TLUiAssetUrls } from '../assetUrls'\n\n/** @internal */\ntype UiAssetUrlsContextType = TLUiAssetUrls | null\n\nconst AssetUrlsContext = createContext<UiAssetUrlsContextType>(null)\n\n/** @public */\nexport interface AssetUrlsProviderProps {\n\tassetUrls: TLUiAssetUrls\n\tchildren: React.ReactNode\n}\n\n/**\n * Provides asset URLs (icons, fonts, translations, embed icons) to the editor's UI.\n * Required when using `TldrawUiTranslationProvider` without `TldrawUiContextProvider`.\n *\n * @public @react\n */\nexport function AssetUrlsProvider({ assetUrls, children }: AssetUrlsProviderProps) {\n\tuseEffect(() => {\n\t\tfor (const src of Object.values(assetUrls.icons)) {\n\t\t\tif (!src) continue\n\n\t\t\tconst image = Image()\n\t\t\timage.crossOrigin = 'anonymous'\n\t\t\timage.src = src\n\t\t\timage.decode().catch(noop)\n\t\t}\n\t\tfor (const src of Object.values(assetUrls.embedIcons)) {\n\t\t\tif (!src) continue\n\n\t\t\tconst image = Image()\n\t\t\timage.crossOrigin = 'anonymous'\n\t\t\timage.src = src\n\t\t\timage.decode().catch(noop)\n\t\t}\n\t}, [assetUrls])\n\n\treturn <AssetUrlsContext.Provider value={assetUrls}>{children}</AssetUrlsContext.Provider>\n}\n\n/** @public */\nexport function useAssetUrls() {\n\tconst assetUrls = useContext(AssetUrlsContext)\n\tif (!assetUrls) {\n\t\tthrow new Error('useAssetUrls must be used within an AssetUrlsProvider')\n\t}\n\n\treturn assetUrls\n}\n"],
  "mappings": "AAyCQ;AAzCR,SAAS,OAAO,YAAY;AAC5B,SAAS,eAAe,YAAY,iBAAiB;AAMrD,MAAM,mBAAmB,cAAsC,IAAI;AAc5D,SAAS,kBAAkB,EAAE,WAAW,SAAS,GAA2B;AAClF,YAAU,MAAM;AACf,eAAW,OAAO,OAAO,OAAO,UAAU,KAAK,GAAG;AACjD,UAAI,CAAC,IAAK;AAEV,YAAM,QAAQ,MAAM;AACpB,YAAM,cAAc;AACpB,YAAM,MAAM;AACZ,YAAM,OAAO,EAAE,MAAM,IAAI;AAAA,IAC1B;AACA,eAAW,OAAO,OAAO,OAAO,UAAU,UAAU,GAAG;AACtD,UAAI,CAAC,IAAK;AAEV,YAAM,QAAQ,MAAM;AACpB,YAAM,cAAc;AACpB,YAAM,MAAM;AACZ,YAAM,OAAO,EAAE,MAAM,IAAI;AAAA,IAC1B;AAAA,EACD,GAAG,CAAC,SAAS,CAAC;AAEd,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,WAAY,UAAS;AAC/D;AAGO,SAAS,eAAe;AAC9B,QAAM,YAAY,WAAW,gBAAgB;AAC7C,MAAI,CAAC,WAAW;AACf,UAAM,IAAI,MAAM,uDAAuD;AAAA,EACxE;AAEA,SAAO;AACR;",
  "names": []
}
