UNPKG

deer-ui

Version:

React.js UI components for PC Web

48 lines (36 loc) 1.75 kB
"use strict"; 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;