UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 2.28 kB
{"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"}