deer-ui
Version:
React.js UI components for PC Web
48 lines (36 loc) • 1.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _localeProvider = require("./localeProvider");
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
var LocaleWrapper = function LocaleWrapper(WrappedComponent, name) {
var LocaleReceiver = function LocaleReceiver(props) {
return /*#__PURE__*/_react.default.createElement(_localeProvider.LocaleContext.Consumer, null, function (locale) {
var componentLocale = locale && locale[name || WrappedComponent.name];
var localeCode = locale && locale.code;
var forwardedRef = props.forwardedRef,
rest = (0, _objectWithoutProperties2.default)(props, ["forwardedRef"]);
return /*#__PURE__*/_react.default.createElement(WrappedComponent, (0, _extends2.default)({}, rest, {
ref: forwardedRef,
locale: componentLocale,
localecode: localeCode
}));
});
};
var forwardRef = function forwardRef(props, ref) {
return /*#__PURE__*/_react.default.createElement(LocaleReceiver, (0, _extends2.default)({}, props, {
forwardedRef: ref
}));
};
var LocaleReceiverWithRef = _react.default.forwardRef(forwardRef);
(0, _hoistNonReactStatics.default)(LocaleReceiverWithRef, WrappedComponent);
return LocaleReceiverWithRef;
};
var _default = LocaleWrapper;
exports.default = _default;