@zohodesk/svg
Version:
This Bundle Contains EmptyState Images.
27 lines (24 loc) • 747 B
JavaScript
import React, { useEffect, useState } from 'react';
export default function SvgLoader(props) {
let uiProps = {};
Object.keys(props)
.filter((prop) => prop != 'imageUrl')
.map((prop) => {
uiProps[prop] = props[prop];
});
let image = require(`./images/${props.imageUrl}`);
return <image xlinkHref={image} {...uiProps} />;
}
export function StaticSvg(props) {
let uiProps = {},
[image, setImage] = useState(null);
Object.keys(props)
.filter((prop) => prop != 'getImage')
.map((prop) => {
uiProps[prop] = props[prop];
});
useEffect(() => {
props.getImage().then((image) => setImage(image));
}, [props.getImage]);
return image ? <image xlinkHref={image.default} {...uiProps} /> : null;
}