react-intl 4.7.5 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,64 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.0.2](https://github.com/formatjs/formatjs/compare/react-intl@5.0.1...react-intl@5.0.2) (2020-07-03)
7
+
8
+ **Note:** Version bump only for package react-intl
9
+
10
+
11
+
12
+
13
+
14
+ ## [5.0.1](https://github.com/formatjs/formatjs/compare/react-intl@5.0.0...react-intl@5.0.1) (2020-07-03)
15
+
16
+ **Note:** Version bump only for package react-intl
17
+
18
+
19
+
20
+
21
+
22
+ # [5.0.0](https://github.com/formatjs/formatjs/compare/react-intl@4.7.6...react-intl@5.0.0) (2020-07-03)
23
+
24
+
25
+ ### Features
26
+
27
+ * **intl-messageformat:** make FormatXMLElementFn non-variadic ([f2963bf](https://github.com/formatjs/formatjs/commit/f2963bf17ec9809b13fffdb52d68f70439ba186b))
28
+ * **react-intl:** fail fast when intl Provider is missing ([42fa3c1](https://github.com/formatjs/formatjs/commit/42fa3c1c084b6da969790ee0b77b2f7fd6353488))
29
+ * **react-intl:** merge chunks in FormatXMLElementFn ([1b5892f](https://github.com/formatjs/formatjs/commit/1b5892febb8bbd71613761ba253f702dc18fb522)), closes [#1623](https://github.com/formatjs/formatjs/issues/1623)
30
+
31
+
32
+ ### BREAKING CHANGES
33
+
34
+ * **react-intl:** This also comes from Dropbox internal developer feedback. `FormattedMessage` has a default English renderer that masks `Provider` setup issues which causes them to not be handled during testing phase.
35
+ * **intl-messageformat:** This effectively change the signature for formatter
36
+ function from `(...chunks) => any` to `(chunks) => any`. This solves a
37
+ couple of issues:
38
+ 1. We received user feedback that variadic function is not as ergonomic
39
+ 2. Right now there's not way to distinguish between 2 chunks that have
40
+ the same tag, e.g `<b>on</b> and <b>on</b>`. The function would
41
+ receive 2 chunks that are identical. By consoliding to the 1st param we
42
+ can reserve additional params to provide mode metadata in the future
43
+ * **react-intl:** This turns rich text formatting callback function to
44
+ non-variadic. So `(...chunks) => React.ReactNode` becomes `(chunks) =>
45
+ React.ReactNode`. This solves a couple of issues:
46
+ 1. We receive feedback that variadic callback fn is not ergonomic
47
+ 2. This solves the missing key issue when we render rich text
48
+ 3. This allows us to utilize extra param to distinguish when 2 React
49
+ element are exactly the same except for their indices, e.g `<b>one</b>
50
+ and <b>one</b>` and you want to render them differently
51
+
52
+
53
+
54
+
55
+
56
+ ## [4.7.6](https://github.com/formatjs/formatjs/compare/react-intl@4.7.5...react-intl@4.7.6) (2020-07-01)
57
+
58
+ **Note:** Version bump only for package react-intl
59
+
60
+
61
+
62
+
63
+
6
64
  ## [4.7.5](https://github.com/formatjs/formatjs/compare/react-intl@4.7.4...react-intl@4.7.5) (2020-06-26)
7
65
 
8
66
  **Note:** Version bump only for package react-intl
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAmC3C,MAAM,WAAW,KAAK,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAC/D,SAAQ,iBAAiB;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;CAC5D;AAED,cAAM,gBAAgB,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CACpC,MAAM,EACJ,aAAa,GACb,KAAK,CAAC,YAAY,GAClB,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CACvD,CACD,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,WAAW,SAAsB;IAExC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO;IASnD,MAAM,IAAI,GAAG,CAAC,OAAO;CA6CtB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAM3C,MAAM,WAAW,KAAK,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAC/D,SAAQ,iBAAiB;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;CAC5D;AAED,cAAM,gBAAgB,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CACpC,MAAM,EACJ,aAAa,GACb,KAAK,CAAC,YAAY,GAClB,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CACvD,CACD,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,WAAW,SAAsB;IAExC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO;IASnD,MAAM,IAAI,GAAG,CAAC,OAAO;CAwCtB;AAED,eAAe,gBAAgB,CAAC"}
@@ -17,17 +17,6 @@ var __extends = (this && this.__extends) || (function () {
17
17
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
18
18
  };
19
19
  })();
20
- var __assign = (this && this.__assign) || function () {
21
- __assign = Object.assign || function(t) {
22
- for (var s, i = 1, n = arguments.length; i < n; i++) {
23
- s = arguments[i];
24
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
25
- t[p] = s[p];
26
- }
27
- return t;
28
- };
29
- return __assign.apply(this, arguments);
30
- };
31
20
  var __rest = (this && this.__rest) || function (s, e) {
32
21
  var t = {};
33
22
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -49,16 +38,9 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
49
38
  Object.defineProperty(exports, "__esModule", { value: true });
50
39
  var React = require("react");
51
40
  var injectIntl_1 = require("./injectIntl");
52
- var message_1 = require("../formatters/message");
53
41
  var utils_1 = require("../utils");
54
42
  var shallowEquals_ = require("shallow-equal/objects");
55
43
  var shallowEquals = shallowEquals_.default || shallowEquals_;
56
- function defaultFormatMessage(descriptor, values) {
57
- if (process.env.NODE_ENV !== 'production') {
58
- console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');
59
- }
60
- return message_1.formatMessage(__assign(__assign({}, utils_1.DEFAULT_INTL_CONFIG), { locale: 'en' }), utils_1.createFormatters(), descriptor, values);
61
- }
62
44
  var FormattedMessage = /** @class */ (function (_super) {
63
45
  __extends(FormattedMessage, _super);
64
46
  function FormattedMessage() {
@@ -73,18 +55,16 @@ var FormattedMessage = /** @class */ (function (_super) {
73
55
  FormattedMessage.prototype.render = function () {
74
56
  var _this = this;
75
57
  return (React.createElement(injectIntl_1.Context.Consumer, null, function (intl) {
76
- if (!_this.props.defaultMessage) {
77
- utils_1.invariantIntlContext(intl);
78
- }
79
- var _a = intl || {}, _b = _a.formatMessage, formatMessage = _b === void 0 ? defaultFormatMessage : _b, _c = _a.textComponent, Text = _c === void 0 ? React.Fragment : _c;
80
- var _d = _this.props, id = _d.id, description = _d.description, defaultMessage = _d.defaultMessage, values = _d.values, children = _d.children, _e = _d.tagName, Component = _e === void 0 ? Text : _e;
58
+ utils_1.invariantIntlContext(intl);
59
+ var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;
60
+ var _b = _this.props, id = _b.id, description = _b.description, defaultMessage = _b.defaultMessage, values = _b.values, children = _b.children, _c = _b.tagName, Component = _c === void 0 ? Text : _c;
81
61
  var descriptor = { id: id, description: description, defaultMessage: defaultMessage };
82
62
  var nodes = formatMessage(descriptor, values);
83
63
  if (!Array.isArray(nodes)) {
84
64
  nodes = [nodes];
85
65
  }
86
66
  if (typeof children === 'function') {
87
- return children.apply(void 0, nodes);
67
+ return children(nodes);
88
68
  }
89
69
  if (Component) {
90
70
  // Needs to use `createElement()` instead of JSX, otherwise React will
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6BAA+B;AAE/B,2CAAqC;AAErC,iDAAoD;AACpD,kCAIkB;AAClB,sDAAwD;AACxD,IAAM,aAAa,GAChB,cAAsB,CAAC,OAAO,IAAI,cAAc,CAAC;AAEpD,SAAS,oBAAoB,CAC3B,UAA6B,EAC7B,MAGC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,CAAC,KAAK,CACX,iJAAiJ,CAClJ,CAAC;KACH;IAED,OAAO,uBAAa,uBAEb,2BAAmB,KACtB,MAAM,EAAE,IAAI,KAEd,wBAAgB,EAAE,EAClB,UAAU,EACV,MAAa,CACd,CAAC;AACJ,CAAC;AAUD;IAOU,oCAAyB;IAPnC;;IAgEA,CAAC;IAtDC,gDAAqB,GAArB,UAAsB,SAAmB;QACvC,IAAM,eAAoC,EAAnC,kBAAM,EAAE,mCAA2B,CAAC;QACpC,IAAA,6BAAkB,EAAE,8CAAiB,CAAc;QAC1D,OAAO,CACL,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC;YAClC,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,iCAAM,GAAN;QAAA,iBA4CC;QA3CC,OAAO,CACL,oBAAC,oBAAO,CAAC,QAAQ,QACd,UAAC,IAAI;YACJ,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC9B,4BAAoB,CAAC,IAAI,CAAC,CAAC;aAC5B;YAEK,IAAA,eAGQ,EAFZ,qBAAoC,EAApC,yDAAoC,EACpC,qBAAoC,EAApC,0CACY,CAAC;YACT,IAAA,gBAOQ,EANZ,UAAE,EACF,4BAAW,EACX,kCAAc,EACd,kBAAM,EACN,sBAAQ,EACR,eAAyB,EAAzB,qCACY,CAAC;YAEf,IAAM,UAAU,GAAG,EAAC,EAAE,IAAA,EAAE,WAAW,aAAA,EAAE,cAAc,gBAAA,EAAC,CAAC;YACrD,IAAI,KAAK,GAAkC,aAAa,CACtD,UAAU,EACV,MAAM,CACP,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;aACjB;YAED,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,OAAO,QAAQ,eAAI,KAAK,EAAE;aAC3B;YAED,IAAI,SAAS,EAAE;gBACb,sEAAsE;gBACtE,qEAAqE;gBACrE,OAAO,KAAK,CAAC,aAAa,OAAnB,KAAK,kBAAe,SAAS,EAAE,IAAI,GAAK,KAAK,GAAE;aACvD;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACgB,CACpB,CAAC;IACJ,CAAC;IAvDM,4BAAW,GAAG,kBAAkB,CAAC;IAwD1C,uBAAC;CAAA,AAhED,CAOU,KAAK,CAAC,SAAS,GAyDxB;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/components/message.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6BAA+B;AAE/B,2CAAqC;AAErC,kCAA8C;AAC9C,sDAAwD;AACxD,IAAM,aAAa,GAChB,cAAsB,CAAC,OAAO,IAAI,cAAc,CAAC;AAUpD;IAOU,oCAAyB;IAPnC;;IA2DA,CAAC;IAjDC,gDAAqB,GAArB,UAAsB,SAAmB;QACvC,IAAM,eAAoC,EAAnC,kBAAM,EAAE,mCAA2B,CAAC;QACpC,IAAA,6BAAkB,EAAE,8CAAiB,CAAc;QAC1D,OAAO,CACL,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC;YAClC,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,iCAAM,GAAN;QAAA,iBAuCC;QAtCC,OAAO,CACL,oBAAC,oBAAO,CAAC,QAAQ,QACd,UAAC,IAAI;YACJ,4BAAoB,CAAC,IAAI,CAAC,CAAC;YAEpB,IAAA,kCAAa,EAAE,uBAAoC,EAApC,0CAAoC,CAAS;YAC7D,IAAA,gBAOQ,EANZ,UAAE,EACF,4BAAW,EACX,kCAAc,EACd,kBAAM,EACN,sBAAQ,EACR,eAAyB,EAAzB,qCACY,CAAC;YAEf,IAAM,UAAU,GAAG,EAAC,EAAE,IAAA,EAAE,WAAW,aAAA,EAAE,cAAc,gBAAA,EAAC,CAAC;YACrD,IAAI,KAAK,GAAkC,aAAa,CACtD,UAAU,EACV,MAAM,CACP,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;aACjB;YAED,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,IAAI,SAAS,EAAE;gBACb,sEAAsE;gBACtE,qEAAqE;gBACrE,OAAO,KAAK,CAAC,aAAa,OAAnB,KAAK,kBAAe,SAAS,EAAE,IAAI,GAAK,KAAK,GAAE;aACvD;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACgB,CACpB,CAAC;IACJ,CAAC;IAlDM,4BAAW,GAAG,kBAAkB,CAAC;IAmD1C,uBAAC;CAAA,AA3DD,CAOU,KAAK,CAAC,SAAS,GAoDxB;AAED,kBAAe,gBAAgB,CAAC"}
@@ -1,4 +1,6 @@
1
+ import * as React from 'react';
1
2
  import { Formatters, IntlConfig, MessageDescriptor } from '../types';
2
3
  import { FormatXMLElementFn, PrimitiveType } from 'intl-messageformat';
4
+ export declare function assignUniqueKeysToFormatXMLElementFnArgument(values: Record<string, PrimitiveType | React.ReactNode | FormatXMLElementFn<React.ReactNode>>): typeof values;
3
5
  export declare function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, }: Pick<IntlConfig, 'locale' | 'formats' | 'messages' | 'defaultLocale' | 'defaultFormats' | 'onError'>, state: Formatters, messageDescriptor?: MessageDescriptor, values?: Record<string, PrimitiveType | FormatXMLElementFn<string, string>>): string;
4
6
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/formatters/message.ts"],"names":[],"mappings":"AASA,OAAO,EACL,UAAU,EACV,UAAU,EACV,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAElB,OAA0B,EACxB,kBAAkB,EAClB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAgE5B,wBAAgB,aAAa,CAC3B,EACE,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,EACd,OAAO,GACR,EAAE,IAAI,CACL,UAAU,EACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,SAAS,CACZ,EACD,KAAK,EAAE,UAAU,EACjB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1E,MAAM,CAAC"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/formatters/message.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,UAAU,EACV,UAAU,EACV,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAElB,OAA0B,EACxB,kBAAkB,EAClB,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAuD5B,wBAAgB,4CAA4C,CAC1D,MAAM,EAAE,MAAM,CACZ,MAAM,EACN,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CACtE,GACA,OAAO,MAAM,CAQf;AAWD,wBAAgB,aAAa,CAC3B,EACE,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,EACd,OAAO,GACR,EAAE,IAAI,CACL,UAAU,EACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,SAAS,CACZ,EACD,KAAK,EAAE,UAAU,EACjB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1E,MAAM,CAAC"}
@@ -25,6 +25,7 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  var React = require("react");
27
27
  var intl_utils_1 = require("@formatjs/intl-utils");
28
+ var utils_1 = require("../utils");
28
29
  var intl_messageformat_1 = require("intl-messageformat");
29
30
  var error_1 = require("../error");
30
31
  function setTimeZoneInOptions(opts, timeZone) {
@@ -47,6 +48,16 @@ function deepMergeFormatsAndSetTimeZone(f1, timeZone) {
47
48
  var mfFormats = intl_messageformat_1.default.formats;
48
49
  return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });
49
50
  }
51
+ function assignUniqueKeysToFormatXMLElementFnArgument(values) {
52
+ return Object.keys(values).reduce(function (acc, k) {
53
+ var v = values[k];
54
+ acc[k] = intl_messageformat_1.isFormatXMLElementFn(v)
55
+ ? utils_1.assignUniqueKeysToParts(v)
56
+ : v;
57
+ return acc;
58
+ }, {});
59
+ }
60
+ exports.assignUniqueKeysToFormatXMLElementFnArgument = assignUniqueKeysToFormatXMLElementFnArgument;
50
61
  function prepareIntlMessageFormatHtmlOutput(chunks, shouldWrap) {
51
62
  return Array.isArray(chunks) && shouldWrap
52
63
  ? React.createElement.apply(React, __spreadArrays([React.Fragment, null], chunks)) : chunks;
@@ -62,6 +73,7 @@ function formatMessage(_a, state, messageDescriptor, values) {
62
73
  if (!values && message && typeof message === 'string') {
63
74
  return message.replace(/'\{(.*?)\}'/gi, "{$1}");
64
75
  }
76
+ var patchedValues = values && assignUniqueKeysToFormatXMLElementFnArgument(values);
65
77
  formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);
66
78
  defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);
67
79
  if (!message) {
@@ -75,7 +87,7 @@ function formatMessage(_a, state, messageDescriptor, values) {
75
87
  if (defaultMessage) {
76
88
  try {
77
89
  var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);
78
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
90
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
79
91
  }
80
92
  catch (e) {
81
93
  onError(new error_1.MessageFormatError("Error formatting default message for: \"" + id + "\", rendering default message verbatim", locale, messageDescriptor, e));
@@ -89,7 +101,7 @@ function formatMessage(_a, state, messageDescriptor, values) {
89
101
  var formatter = state.getMessageFormat(message, locale, formats, {
90
102
  formatters: state,
91
103
  });
92
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
104
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
93
105
  }
94
106
  catch (e) {
95
107
  onError(new error_1.MessageFormatError("Error formatting message: \"" + id + "\", using " + (defaultMessage ? 'default message' : 'id') + " as fallback.", locale, messageDescriptor, e));
@@ -97,7 +109,7 @@ function formatMessage(_a, state, messageDescriptor, values) {
97
109
  if (defaultMessage) {
98
110
  try {
99
111
  var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);
100
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
112
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
101
113
  }
102
114
  catch (e) {
103
115
  onError(new error_1.MessageFormatError("Error formatting the default message for: \"" + id + "\", rendering message verbatim", locale, messageDescriptor, e));
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/formatters/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/formatters/message.ts"],"names":[],"mappings":"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"}
@@ -259,7 +259,7 @@ declare interface Formatters_2 {
259
259
  getPluralRules(...args: ConstructorParameters<typeof Intl.PluralRules>): Intl.PluralRules;
260
260
  }
261
261
 
262
- declare type FormatXMLElementFn<T, R = string | Array<string | T>> = (...args: Array<string | T>) => R;
262
+ declare type FormatXMLElementFn<T, R = string | Array<string | T>> = (parts: Array<string | T>) => R;
263
263
 
264
264
  export declare function injectIntl<IntlPropName extends string = 'intl', P extends WrappedComponentProps<IntlPropName> = WrappedComponentProps<any>>(WrappedComponent: React_2.ComponentType<P>, options?: Opts<IntlPropName, false>): React_2.FC<WithIntlProps<P>> & {
265
265
  WrappedComponent: React_2.ComponentType<P>;
@@ -3700,7 +3700,7 @@
3700
3700
  throw new InvalidValueTypeError(value_1, 'function', originalMessage);
3701
3701
  }
3702
3702
  var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);
3703
- var chunks = formatFn.apply(void 0, parts.map(function (p) { return p.value; }));
3703
+ var chunks = formatFn(parts.map(function (p) { return p.value; }));
3704
3704
  if (!Array.isArray(chunks)) {
3705
3705
  chunks = [chunks];
3706
3706
  }
@@ -4081,6 +4081,18 @@
4081
4081
  }
4082
4082
  onError(new UnsupportedFormatterError("No " + type + " format named: " + name));
4083
4083
  }
4084
+ /**
4085
+ * Takes a `formatXMLElementFn`, and composes it in function, which passes
4086
+ * argument `parts` through, assigning unique key to each part, to prevent
4087
+ * "Each child in a list should have a unique "key"" React error.
4088
+ * @param formatXMLElementFn
4089
+ */
4090
+ function assignUniqueKeysToParts(formatXMLElementFn) {
4091
+ return function (parts) {
4092
+ // eslint-disable-next-line prefer-rest-params
4093
+ return formatXMLElementFn(React.Children.toArray(parts));
4094
+ };
4095
+ }
4084
4096
 
4085
4097
  function createCommonjsModule(fn, module) {
4086
4098
  return module = { exports: {} }, fn(module, module.exports), module.exports;
@@ -4597,6 +4609,15 @@
4597
4609
  var mfFormats = IntlMessageFormat.formats;
4598
4610
  return __assign$5(__assign$5(__assign$5({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });
4599
4611
  }
4612
+ function assignUniqueKeysToFormatXMLElementFnArgument(values) {
4613
+ return Object.keys(values).reduce(function (acc, k) {
4614
+ var v = values[k];
4615
+ acc[k] = isFormatXMLElementFn(v)
4616
+ ? assignUniqueKeysToParts(v)
4617
+ : v;
4618
+ return acc;
4619
+ }, {});
4620
+ }
4600
4621
  function prepareIntlMessageFormatHtmlOutput(chunks, shouldWrap) {
4601
4622
  return Array.isArray(chunks) && shouldWrap
4602
4623
  ? React.createElement.apply(React, __spreadArrays$2([React.Fragment, null], chunks)) : chunks;
@@ -4612,6 +4633,7 @@
4612
4633
  if (!values && message && typeof message === 'string') {
4613
4634
  return message.replace(/'\{(.*?)\}'/gi, "{$1}");
4614
4635
  }
4636
+ var patchedValues = values && assignUniqueKeysToFormatXMLElementFnArgument(values);
4615
4637
  formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);
4616
4638
  defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);
4617
4639
  if (!message) {
@@ -4625,7 +4647,7 @@
4625
4647
  if (defaultMessage) {
4626
4648
  try {
4627
4649
  var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);
4628
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
4650
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
4629
4651
  }
4630
4652
  catch (e) {
4631
4653
  onError(new MessageFormatError("Error formatting default message for: \"" + id + "\", rendering default message verbatim", locale, messageDescriptor, e));
@@ -4639,7 +4661,7 @@
4639
4661
  var formatter = state.getMessageFormat(message, locale, formats, {
4640
4662
  formatters: state,
4641
4663
  });
4642
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
4664
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
4643
4665
  }
4644
4666
  catch (e) {
4645
4667
  onError(new MessageFormatError("Error formatting message: \"" + id + "\", using " + (defaultMessage ? 'default message' : 'id') + " as fallback.", locale, messageDescriptor, e));
@@ -4647,7 +4669,7 @@
4647
4669
  if (defaultMessage) {
4648
4670
  try {
4649
4671
  var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);
4650
- return prepareIntlMessageFormatHtmlOutput(formatter.format(values), wrapRichTextChunksInFragment);
4672
+ return prepareIntlMessageFormatHtmlOutput(formatter.format(patchedValues), wrapRichTextChunksInFragment);
4651
4673
  }
4652
4674
  catch (e) {
4653
4675
  onError(new MessageFormatError("Error formatting the default message for: \"" + id + "\", rendering message verbatim", locale, messageDescriptor, e));
@@ -5086,17 +5108,6 @@
5086
5108
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5087
5109
  };
5088
5110
  })();
5089
- var __assign$8 = (undefined && undefined.__assign) || function () {
5090
- __assign$8 = Object.assign || function(t) {
5091
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5092
- s = arguments[i];
5093
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
5094
- t[p] = s[p];
5095
- }
5096
- return t;
5097
- };
5098
- return __assign$8.apply(this, arguments);
5099
- };
5100
5111
  var __rest$1 = (undefined && undefined.__rest) || function (s, e) {
5101
5112
  var t = {};
5102
5113
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -5116,9 +5127,6 @@
5116
5127
  return r;
5117
5128
  };
5118
5129
  var shallowEquals$1 = objects || shallowEquals_;
5119
- function defaultFormatMessage(descriptor, values) {
5120
- return formatMessage(__assign$8(__assign$8({}, DEFAULT_INTL_CONFIG), { locale: 'en' }), createFormatters(), descriptor, values);
5121
- }
5122
5130
  var FormattedMessage = /** @class */ (function (_super) {
5123
5131
  __extends$5(FormattedMessage, _super);
5124
5132
  function FormattedMessage() {
@@ -5133,18 +5141,16 @@
5133
5141
  FormattedMessage.prototype.render = function () {
5134
5142
  var _this = this;
5135
5143
  return (React.createElement(Context.Consumer, null, function (intl) {
5136
- if (!_this.props.defaultMessage) {
5137
- invariantIntlContext(intl);
5138
- }
5139
- var _a = intl || {}, _b = _a.formatMessage, formatMessage = _b === void 0 ? defaultFormatMessage : _b, _c = _a.textComponent, Text = _c === void 0 ? React.Fragment : _c;
5140
- var _d = _this.props, id = _d.id, description = _d.description, defaultMessage = _d.defaultMessage, values = _d.values, children = _d.children, _e = _d.tagName, Component = _e === void 0 ? Text : _e;
5144
+ invariantIntlContext(intl);
5145
+ var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;
5146
+ var _b = _this.props, id = _b.id, description = _b.description, defaultMessage = _b.defaultMessage, values = _b.values, children = _b.children, _c = _b.tagName, Component = _c === void 0 ? Text : _c;
5141
5147
  var descriptor = { id: id, description: description, defaultMessage: defaultMessage };
5142
5148
  var nodes = formatMessage(descriptor, values);
5143
5149
  if (!Array.isArray(nodes)) {
5144
5150
  nodes = [nodes];
5145
5151
  }
5146
5152
  if (typeof children === 'function') {
5147
- return children.apply(void 0, nodes);
5153
+ return children(nodes);
5148
5154
  }
5149
5155
  if (Component) {
5150
5156
  // Needs to use `createElement()` instead of JSX, otherwise React will