@wix/design-system
Version:
@wix/design-system
32 lines (30 loc) • 1.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.withDefaultProps = withDefaultProps;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
var _useDefaultProps = require("./useDefaultProps");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/WixDesignSystemDefaultPropsProvider/withDefaultProps.tsx";
function withDefaultProps(Wrapped, componentKey) {
var Component = Wrapped;
var WithDefaultProps = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
var resolvedProps = (0, _useDefaultProps.useDefaultProps)(componentKey, props);
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
ref: ref
}, resolvedProps, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 22,
columnNumber: 12
}
}));
});
WithDefaultProps.displayName = Wrapped.displayName || Wrapped.name || componentKey;
// Copy static members (e.g. compound subcomponents like SidePanel.Header)
// and preserve them in the return type so `SidePanel.Header` stays typed.
return (0, _hoistNonReactStatics.default)(WithDefaultProps, Wrapped);
}
//# sourceMappingURL=withDefaultProps.js.map