rsuite
Version:
A suite of react components
21 lines (20 loc) • 737 B
JavaScript
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import React from 'react';
import warnOnce from "../warnOnce.js";
/**
* HOC for display a deprecation message from a deprecated component
* fixme: Only display deprecation message in non-production environment
*/
export function deprecateComponent(Component, message) {
const componentDisplayName = Component.displayName ?? Component.name;
const Deprecated = /*#__PURE__*/React.forwardRef((props, ref) => {
warnOnce(message);
return /*#__PURE__*/React.createElement(Component, _extends({
ref: ref
}, props));
});
Deprecated.displayName = `deprecated(${componentDisplayName})`;
return Deprecated;
}
export default deprecateComponent;