azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 974 B
JavaScript
import{__assign}from"tslib";import"../../CommonImports";import"../../Core/core.css";import"./Image.css";import*as React from"react";import{css}from"../../Util";function Image(e){var t=e.imageUrlResolver,a=e.src,o=React.useState(),r=o[0],i=o[1];if(!t)return React.createElement(PureImage,__assign({},e));React.useEffect(function(){t.resolveImageUrl(a).then(function(e){i(e)}).catch(function(){i(a)})},[t,a]);return React.createElement(PureImage,__assign({},e,{onLoad:function(){r&&null!=t&&t.onImageLoaded&&t.onImageLoaded(r)},src:r}))}function PureImage(e){var t=e.containImage||void 0!==e.width||void 0!==e.height,a=void 0===e.width&&void 0===e.height,t=React.createElement("img",{alt:e.alt,className:css(a&&e.className,"bolt-image flex-noshrink",t&&"contain"),key:e.key,role:e.role,src:e.src,onLoad:e.onLoad});return e.width||e.height?React.createElement("div",{className:css(!a&&e.className,"bolt-image-wrapper"),style:{width:e.width,height:e.height}},t):t}export{Image};