{
  "version": 3,
  "sources": ["../../../../src/lib/ui/context/asset-urls.tsx"],
  "sourcesContent": ["import { Image } 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/** @internal */\nexport function AssetUrlsProvider({\n\tassetUrls,\n\tchildren,\n}: {\n\tassetUrls: TLUiAssetUrls\n\tchildren: React.ReactNode\n}) {\n\tuseEffect(() => {\n\t\tfor (const src of Object.values(assetUrls.icons)) {\n\t\t\tconst image = Image()\n\t\t\timage.src = src\n\t\t\timage.decode()\n\t\t}\n\t\tfor (const src of Object.values(assetUrls.embedIcons)) {\n\t\t\tconst image = Image()\n\t\t\timage.src = src\n\t\t\timage.decode()\n\t\t}\n\t}, [assetUrls])\n\n\treturn <AssetUrlsContext.Provider value={assetUrls}>{children}</AssetUrlsContext.Provider>\n}\n\n/** @internal */\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": "AA8BQ;AA9BR,SAAS,aAAa;AACtB,SAAS,eAAe,YAAY,iBAAiB;AAMrD,MAAM,mBAAmB,cAAsC,IAAI;AAG5D,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AACD,GAGG;AACF,YAAU,MAAM;AACf,eAAW,OAAO,OAAO,OAAO,UAAU,KAAK,GAAG;AACjD,YAAM,QAAQ,MAAM;AACpB,YAAM,MAAM;AACZ,YAAM,OAAO;AAAA,IACd;AACA,eAAW,OAAO,OAAO,OAAO,UAAU,UAAU,GAAG;AACtD,YAAM,QAAQ,MAAM;AACpB,YAAM,MAAM;AACZ,YAAM,OAAO;AAAA,IACd;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": []
}
