Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

3 роки тому
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.withTranslation = withTranslation;
  7. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  8. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  9. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  10. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  11. var _react = _interopRequireDefault(require("react"));
  12. var _useTranslation3 = require("./useTranslation");
  13. var _utils = require("./utils");
  14. function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
  15. function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
  16. function withTranslation(ns) {
  17. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  18. return function Extend(WrappedComponent) {
  19. function I18nextWithTranslation(_ref) {
  20. var forwardedRef = _ref.forwardedRef,
  21. rest = (0, _objectWithoutProperties2["default"])(_ref, ["forwardedRef"]);
  22. var _useTranslation = (0, _useTranslation3.useTranslation)(ns, rest),
  23. _useTranslation2 = (0, _slicedToArray2["default"])(_useTranslation, 3),
  24. t = _useTranslation2[0],
  25. i18n = _useTranslation2[1],
  26. ready = _useTranslation2[2];
  27. var passDownProps = _objectSpread({}, rest, {
  28. t: t,
  29. i18n: i18n,
  30. tReady: ready
  31. });
  32. if (options.withRef && forwardedRef) {
  33. passDownProps.ref = forwardedRef;
  34. }
  35. return _react["default"].createElement(WrappedComponent, passDownProps);
  36. }
  37. I18nextWithTranslation.displayName = "withI18nextTranslation(".concat((0, _utils.getDisplayName)(WrappedComponent), ")");
  38. I18nextWithTranslation.WrappedComponent = WrappedComponent;
  39. var forwardRef = function forwardRef(props, ref) {
  40. return _react["default"].createElement(I18nextWithTranslation, (0, _extends2["default"])({}, props, {
  41. forwardedRef: ref
  42. }));
  43. };
  44. return options.withRef ? _react["default"].forwardRef(forwardRef) : I18nextWithTranslation;
  45. };
  46. }