{"version":3,"file":"Image.js","names":[],"sources":["esm/platform/ui/Image.js"],"sourcesContent":["import { useEffect } from \"react\";\nimport { domStyle } from \"../web/DomView\";\nimport { jsx } from \"react/jsx-runtime\";\nconst OBJECT_FIT = {\n  cover: \"cover\",\n  contain: \"contain\",\n  center: \"none\",\n  stretch: \"fill\"\n};\nfunction webUri(source) {\n  if (typeof source === \"number\") {\n    throw new Error(\"One.UI.Image on web takes a url or { uri }, not an asset id\");\n  }\n  return typeof source === \"string\" ? source : source.uri;\n}\nfunction Image({\n  source,\n  resizeMode = \"cover\",\n  onLoadStart,\n  onLoad,\n  onError,\n  onLoadEnd,\n  style,\n  testID,\n  nativeID,\n  accessibilityLabel,\n  alt\n}) {\n  const uri = webUri(source);\n  useEffect(() => {\n    onLoadStart?.();\n  }, [uri]);\n  return /* @__PURE__ */ jsx(\n    \"img\",\n    {\n      src: uri,\n      alt: alt ?? accessibilityLabel ?? \"\",\n      \"data-testid\": testID,\n      id: nativeID,\n      draggable: false,\n      style: { display: \"block\", objectFit: OBJECT_FIT[resizeMode], ...domStyle(style) },\n      onLoad: (event) => {\n        const { naturalWidth: width, naturalHeight: height } = event.currentTarget;\n        onLoad?.({ nativeEvent: { source: { uri, width, height } } });\n        onLoadEnd?.();\n      },\n      onError: () => {\n        onError?.({ nativeEvent: { error: `failed to load ${uri}` } });\n        onLoadEnd?.();\n      }\n    }\n  );\n}\nexport {\n  Image\n};\n//# sourceMappingURL=Image.js.map\n"],"mappings":";;;;;AAGA,MAAM,aAAa;CACjB,OAAO;CACP,SAAS;CACT,QAAQ;CACR,SAAS;AACX;AACA,SAAS,OAAO,QAAQ;CACtB,IAAI,OAAO,WAAW,UAAU;EAC9B,MAAM,IAAI,MAAM,6DAA6D;CAC/E;CACA,OAAO,OAAO,WAAW,WAAW,SAAS,OAAO;AACtD;AACA,SAAS,MAAM,EACb,QACA,aAAa,SACb,aACA,QACA,SACA,WACA,OACA,QACA,UACA,oBACA,OACC;CACD,MAAM,MAAM,OAAO,MAAM;CACzB,gBAAgB;EACd,cAAc;CAChB,GAAG,CAAC,GAAG,CAAC;CACR,OAAuB,oBACrB,OACA;EACE,KAAK;EACL,KAAK,OAAO,sBAAsB;EAClC,eAAe;EACf,IAAI;EACJ,WAAW;EACX,OAAO;GAAE,SAAS;GAAS,WAAW,WAAW;GAAa,GAAG,SAAS,KAAK;EAAE;EACjF,SAAS,UAAU;GACjB,MAAM,EAAE,cAAc,OAAO,eAAe,WAAW,MAAM;GAC7D,SAAS,EAAE,aAAa,EAAE,QAAQ;IAAE;IAAK;IAAO;GAAO,EAAE,EAAE,CAAC;GAC5D,YAAY;EACd;EACA,eAAe;GACb,UAAU,EAAE,aAAa,EAAE,OAAO,kBAAkB,MAAM,EAAE,CAAC;GAC7D,YAAY;EACd;CACF,CACF;AACF"}