@pdftron/webviewer-react-toolkit
Version:
A React component library for integrating with PDFTron WebViewer API.
21 lines (20 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Icon = void 0;
var tslib_1 = require("tslib");
var classnames_1 = tslib_1.__importDefault(require("classnames"));
var react_1 = tslib_1.__importStar(require("react"));
var icons = tslib_1.__importStar(require("./../../icons"));
exports.Icon = react_1.forwardRef(function (_a, ref) {
var icon = _a.icon, svgProps = _a.svgProps, className = _a.className, children = _a.children, props = tslib_1.__rest(_a, ["icon", "svgProps", "className", "children"]);
var iconClass = classnames_1.default('ui__base ui__icon', className);
var child = react_1.useMemo(function () {
if (children !== undefined)
return children;
if (icons === undefined)
return undefined;
var IconChild = icons[icon];
return react_1.default.createElement(IconChild, tslib_1.__assign({}, svgProps));
}, [children, icon, svgProps]);
return (react_1.default.createElement("i", tslib_1.__assign({}, props, { className: iconClass, ref: ref }), child));
});