antwar-interactive
Version:
Interactive extension for Antwar
32 lines (27 loc) • 804 B
JSX
import React from "react";
import classnames from "classnames";
import PropTypes from "prop-types";
const Interactive = ({ id, component, containerProps = {}, ...props }) => {
const { className, ...remainingContainerProps } = containerProps;
const mergedClassName = classnames("interactive", className);
if (process.env.NODE_ENV === "development") {
return (
<div className={mergedClassName} {...remainingContainerProps}>
{React.createElement(component, props)}
</div>
);
}
return (
<div
className={mergedClassName}
id={id}
{...remainingContainerProps}
data-props={JSON.stringify(props)}
/>
);
};
Interactive.propTypes = {
id: PropTypes.string.isRequired,
component: PropTypes.any.isRequired,
};
export default Interactive;