@vnmfify/core
Version:
```shell npm i @vnmfify/core -S ```
42 lines (37 loc) • 1.22 kB
JavaScript
import { cloneIconElement, isIconElement } from "@vnmfify/icons/utils";
import { View } from "@vnxjs/components";
import classNames from "classnames";
import * as React from "react";
import { cloneElement, isValidElement } from "react";
import Loading from "../loading";
import { prefixClassname } from "../styles";
function renderIcon(icon) {
if (isIconElement(icon)) {
return cloneIconElement(icon, {
className: prefixClassname("uploader__mask-icon")
});
}
if ( /*#__PURE__*/isValidElement(icon) && icon.type === Loading) {
var {
className
} = icon.props;
return /*#__PURE__*/cloneElement(icon, {
className: classNames(prefixClassname("uploader__loading"), className)
});
}
}
function UploaderMask(props) {
var {
className,
icon,
message
} = props;
return /*#__PURE__*/React.createElement(View, {
className: classNames(prefixClassname("uploader__mask"), className)
}, renderIcon(icon), message && /*#__PURE__*/React.createElement(View, {
className: prefixClassname("uploader__mask-message"),
children: message
}));
}
export default UploaderMask;
//# sourceMappingURL=uploader-mask.js.map