@panneau/intl 1.0.0-alpha.2 → 1.0.0-alpha.205
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/es/index.js +71 -38
- package/lib/index.js +83 -51
- package/locale/en.cjs.js +198 -175
- package/locale/en.js +197 -174
- package/locale/en.json +155 -155
- package/locale/fr.cjs.js +216 -175
- package/locale/fr.js +215 -174
- package/locale/fr.json +173 -149
- package/package.json +4 -4
- package/scripts/extract.js +1 -0
package/es/index.js
CHANGED
|
@@ -2,9 +2,11 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
2
2
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
3
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
4
4
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
5
|
-
import
|
|
5
|
+
import { useLocales, LocalesProvider, useResource } from '@panneau/core/contexts';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
-
import {
|
|
7
|
+
import React, { useContext, useMemo } from 'react';
|
|
8
|
+
import { IntlContext, IntlProvider as IntlProvider$1, useIntl, FormattedMessage } from 'react-intl';
|
|
9
|
+
import { PropTypes as PropTypes$1 } from '@panneau/core';
|
|
8
10
|
|
|
9
11
|
var IntlManager = /*#__PURE__*/function () {
|
|
10
12
|
function IntlManager() {
|
|
@@ -40,15 +42,13 @@ var IntlManager = /*#__PURE__*/function () {
|
|
|
40
42
|
}, {
|
|
41
43
|
key: "getMessages",
|
|
42
44
|
value: function getMessages(locale) {
|
|
43
|
-
var
|
|
45
|
+
var _ref = this.locales.find(function (it) {
|
|
44
46
|
return it.locale === locale;
|
|
45
|
-
}) ||
|
|
47
|
+
}) || {},
|
|
48
|
+
_ref$messages = _ref.messages,
|
|
49
|
+
messages = _ref$messages === void 0 ? null : _ref$messages;
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return localeObj.messages;
|
|
51
|
+
return messages;
|
|
52
52
|
}
|
|
53
53
|
}]);
|
|
54
54
|
|
|
@@ -57,38 +57,21 @@ var IntlManager = /*#__PURE__*/function () {
|
|
|
57
57
|
|
|
58
58
|
var intlManager = new IntlManager();
|
|
59
59
|
|
|
60
|
-
var
|
|
61
|
-
var LocalesContext = /*#__PURE__*/React.createContext(defaultLocales);
|
|
62
|
-
var useLocales = function useLocales() {
|
|
63
|
-
return useContext(LocalesContext);
|
|
64
|
-
};
|
|
65
|
-
var useOtherLocales = function useOtherLocales() {
|
|
66
|
-
var locales = useLocales();
|
|
67
|
-
|
|
68
|
-
var _useContext = useContext(IntlContext),
|
|
69
|
-
locale = _useContext.locale;
|
|
70
|
-
|
|
71
|
-
var otherLocales = useMemo(function () {
|
|
72
|
-
return locales.filter(function (it) {
|
|
73
|
-
return it !== locale;
|
|
74
|
-
});
|
|
75
|
-
}, [locales, locale]);
|
|
76
|
-
return otherLocales;
|
|
77
|
-
};
|
|
78
|
-
var propTypes = {
|
|
60
|
+
var propTypes$1 = {
|
|
79
61
|
intlManager: PropTypes.instanceOf(IntlManager),
|
|
80
62
|
locale: PropTypes.string,
|
|
81
63
|
locales: PropTypes.arrayOf(PropTypes.string),
|
|
82
64
|
extraMessages: PropTypes.objectOf(PropTypes.string),
|
|
83
65
|
children: PropTypes.node
|
|
84
66
|
};
|
|
85
|
-
var defaultProps = {
|
|
67
|
+
var defaultProps$1 = {
|
|
86
68
|
intlManager: intlManager,
|
|
87
69
|
locale: null,
|
|
88
70
|
locales: null,
|
|
89
71
|
extraMessages: null,
|
|
90
72
|
children: null
|
|
91
73
|
};
|
|
74
|
+
|
|
92
75
|
var IntlProvider = function IntlProvider(_ref) {
|
|
93
76
|
var intlManager = _ref.intlManager,
|
|
94
77
|
locale = _ref.locale,
|
|
@@ -103,20 +86,70 @@ var IntlProvider = function IntlProvider(_ref) {
|
|
|
103
86
|
_ref2$messages = _ref2.messages,
|
|
104
87
|
previousMessages = _ref2$messages === void 0 ? null : _ref2$messages;
|
|
105
88
|
|
|
89
|
+
var managerMessages = intlManager !== null ? intlManager.getMessages(locale) : null;
|
|
106
90
|
var messages = useMemo(function () {
|
|
107
|
-
var currentMessages = intlManager.getMessages(locale);
|
|
108
91
|
|
|
109
|
-
return _objectSpread(_objectSpread(_objectSpread({},
|
|
110
|
-
}, [locale, previousLocale, previousMessages, extraMessages]);
|
|
92
|
+
return _objectSpread(_objectSpread(_objectSpread({}, previousLocale === locale ? previousMessages : null), managerMessages), extraMessages);
|
|
93
|
+
}, [managerMessages, locale, previousLocale, previousMessages, extraMessages]);
|
|
111
94
|
return /*#__PURE__*/React.createElement(IntlProvider$1, {
|
|
112
95
|
locale: locale,
|
|
113
96
|
messages: messages
|
|
114
|
-
}, /*#__PURE__*/React.createElement(
|
|
115
|
-
|
|
97
|
+
}, /*#__PURE__*/React.createElement(LocalesProvider, {
|
|
98
|
+
locales: locales || previousLocales
|
|
116
99
|
}, children));
|
|
117
100
|
};
|
|
118
|
-
IntlProvider.propTypes = propTypes;
|
|
119
|
-
IntlProvider.defaultProps = defaultProps;
|
|
120
101
|
|
|
121
|
-
|
|
122
|
-
|
|
102
|
+
IntlProvider.propTypes = propTypes$1;
|
|
103
|
+
IntlProvider.defaultProps = defaultProps$1;
|
|
104
|
+
|
|
105
|
+
var propTypes = {
|
|
106
|
+
resource: PropTypes$1.resource,
|
|
107
|
+
values: PropTypes.object,
|
|
108
|
+
// eslint-disable-line react/forbid-prop-types,
|
|
109
|
+
id: PropTypes.string.isRequired,
|
|
110
|
+
defaultMessage: PropTypes.string,
|
|
111
|
+
description: PropTypes.string
|
|
112
|
+
};
|
|
113
|
+
var defaultProps = {
|
|
114
|
+
resource: null,
|
|
115
|
+
values: null,
|
|
116
|
+
defaultMessage: null,
|
|
117
|
+
description: null
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var ResourceMessage = function ResourceMessage(_ref) {
|
|
121
|
+
var resource = _ref.resource,
|
|
122
|
+
values = _ref.values,
|
|
123
|
+
id = _ref.id,
|
|
124
|
+
defaultMessage = _ref.defaultMessage,
|
|
125
|
+
description = _ref.description;
|
|
126
|
+
var contextResource = useResource();
|
|
127
|
+
|
|
128
|
+
var _useIntl = useIntl(),
|
|
129
|
+
messages = _useIntl.messages;
|
|
130
|
+
|
|
131
|
+
var _ref2 = resource || contextResource || {},
|
|
132
|
+
resourceId = _ref2.id,
|
|
133
|
+
_ref2$name = _ref2.name,
|
|
134
|
+
name = _ref2$name === void 0 ? null : _ref2$name,
|
|
135
|
+
_ref2$intl = _ref2.intl;
|
|
136
|
+
|
|
137
|
+
_ref2$intl = _ref2$intl === void 0 ? {} : _ref2$intl;
|
|
138
|
+
var resourceValues = _ref2$intl.values;
|
|
139
|
+
var resourceMessageId = id.replace(/^resources\./, "resources.".concat(resourceId, "."));
|
|
140
|
+
var message = {
|
|
141
|
+
id: typeof messages[resourceMessageId] !== 'undefined' ? resourceMessageId : id,
|
|
142
|
+
defaultMessage: defaultMessage,
|
|
143
|
+
description: description
|
|
144
|
+
};
|
|
145
|
+
return /*#__PURE__*/React.createElement(FormattedMessage, Object.assign({
|
|
146
|
+
values: _objectSpread(_objectSpread({
|
|
147
|
+
name: name
|
|
148
|
+
}, resourceValues), values)
|
|
149
|
+
}, message));
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
ResourceMessage.propTypes = propTypes;
|
|
153
|
+
ResourceMessage.defaultProps = defaultProps;
|
|
154
|
+
|
|
155
|
+
export { IntlManager, IntlProvider, ResourceMessage, intlManager as default };
|
package/lib/index.js
CHANGED
|
@@ -6,9 +6,11 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
6
6
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
7
7
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
8
8
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
9
|
-
var
|
|
9
|
+
var contexts = require('@panneau/core/contexts');
|
|
10
10
|
var PropTypes = require('prop-types');
|
|
11
|
+
var React = require('react');
|
|
11
12
|
var reactIntl = require('react-intl');
|
|
13
|
+
var core = require('@panneau/core');
|
|
12
14
|
|
|
13
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
16
|
|
|
@@ -16,26 +18,26 @@ var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
|
|
|
16
18
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
17
19
|
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
18
20
|
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
19
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
21
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
23
|
|
|
22
24
|
var IntlManager = /*#__PURE__*/function () {
|
|
23
25
|
function IntlManager() {
|
|
24
|
-
_classCallCheck__default[
|
|
26
|
+
_classCallCheck__default["default"](this, IntlManager);
|
|
25
27
|
|
|
26
28
|
this.locales = [];
|
|
27
29
|
}
|
|
28
30
|
|
|
29
|
-
_createClass__default[
|
|
31
|
+
_createClass__default["default"](IntlManager, [{
|
|
30
32
|
key: "addLocale",
|
|
31
33
|
value: function addLocale(locale, messages) {
|
|
32
34
|
var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
33
35
|
var currentLocale = this.getLocale(locale);
|
|
34
|
-
this.locales = [].concat(_toConsumableArray__default[
|
|
36
|
+
this.locales = [].concat(_toConsumableArray__default["default"](currentLocale !== null ? this.locales.filter(function (it) {
|
|
35
37
|
return it.locale !== locale;
|
|
36
38
|
}) : this.locales), [{
|
|
37
39
|
locale: locale,
|
|
38
|
-
messages: currentLocale !== null && !replace ? _objectSpread__default[
|
|
40
|
+
messages: currentLocale !== null && !replace ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentLocale.messages), messages) : messages
|
|
39
41
|
}]);
|
|
40
42
|
}
|
|
41
43
|
}, {
|
|
@@ -53,15 +55,13 @@ var IntlManager = /*#__PURE__*/function () {
|
|
|
53
55
|
}, {
|
|
54
56
|
key: "getMessages",
|
|
55
57
|
value: function getMessages(locale) {
|
|
56
|
-
var
|
|
58
|
+
var _ref = this.locales.find(function (it) {
|
|
57
59
|
return it.locale === locale;
|
|
58
|
-
}) ||
|
|
60
|
+
}) || {},
|
|
61
|
+
_ref$messages = _ref.messages,
|
|
62
|
+
messages = _ref$messages === void 0 ? null : _ref$messages;
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return localeObj.messages;
|
|
64
|
+
return messages;
|
|
65
65
|
}
|
|
66
66
|
}]);
|
|
67
67
|
|
|
@@ -70,45 +70,28 @@ var IntlManager = /*#__PURE__*/function () {
|
|
|
70
70
|
|
|
71
71
|
var intlManager = new IntlManager();
|
|
72
72
|
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
var locales = useLocales();
|
|
80
|
-
|
|
81
|
-
var _useContext = React.useContext(reactIntl.IntlContext),
|
|
82
|
-
locale = _useContext.locale;
|
|
83
|
-
|
|
84
|
-
var otherLocales = React.useMemo(function () {
|
|
85
|
-
return locales.filter(function (it) {
|
|
86
|
-
return it !== locale;
|
|
87
|
-
});
|
|
88
|
-
}, [locales, locale]);
|
|
89
|
-
return otherLocales;
|
|
73
|
+
var propTypes$1 = {
|
|
74
|
+
intlManager: PropTypes__default["default"].instanceOf(IntlManager),
|
|
75
|
+
locale: PropTypes__default["default"].string,
|
|
76
|
+
locales: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
|
|
77
|
+
extraMessages: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
|
|
78
|
+
children: PropTypes__default["default"].node
|
|
90
79
|
};
|
|
91
|
-
var
|
|
92
|
-
intlManager: PropTypes__default['default'].instanceOf(IntlManager),
|
|
93
|
-
locale: PropTypes__default['default'].string,
|
|
94
|
-
locales: PropTypes__default['default'].arrayOf(PropTypes__default['default'].string),
|
|
95
|
-
extraMessages: PropTypes__default['default'].objectOf(PropTypes__default['default'].string),
|
|
96
|
-
children: PropTypes__default['default'].node
|
|
97
|
-
};
|
|
98
|
-
var defaultProps = {
|
|
80
|
+
var defaultProps$1 = {
|
|
99
81
|
intlManager: intlManager,
|
|
100
82
|
locale: null,
|
|
101
83
|
locales: null,
|
|
102
84
|
extraMessages: null,
|
|
103
85
|
children: null
|
|
104
86
|
};
|
|
87
|
+
|
|
105
88
|
var IntlProvider = function IntlProvider(_ref) {
|
|
106
89
|
var intlManager = _ref.intlManager,
|
|
107
90
|
locale = _ref.locale,
|
|
108
91
|
locales = _ref.locales,
|
|
109
92
|
children = _ref.children,
|
|
110
93
|
extraMessages = _ref.extraMessages;
|
|
111
|
-
var previousLocales = useLocales();
|
|
94
|
+
var previousLocales = contexts.useLocales();
|
|
112
95
|
|
|
113
96
|
var _ref2 = React.useContext(reactIntl.IntlContext) || {},
|
|
114
97
|
_ref2$locale = _ref2.locale,
|
|
@@ -116,24 +99,73 @@ var IntlProvider = function IntlProvider(_ref) {
|
|
|
116
99
|
_ref2$messages = _ref2.messages,
|
|
117
100
|
previousMessages = _ref2$messages === void 0 ? null : _ref2$messages;
|
|
118
101
|
|
|
102
|
+
var managerMessages = intlManager !== null ? intlManager.getMessages(locale) : null;
|
|
119
103
|
var messages = React.useMemo(function () {
|
|
120
|
-
var currentMessages = intlManager.getMessages(locale);
|
|
121
104
|
|
|
122
|
-
return _objectSpread__default[
|
|
123
|
-
}, [locale, previousLocale, previousMessages, extraMessages]);
|
|
124
|
-
return /*#__PURE__*/React__default[
|
|
105
|
+
return _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, previousLocale === locale ? previousMessages : null), managerMessages), extraMessages);
|
|
106
|
+
}, [managerMessages, locale, previousLocale, previousMessages, extraMessages]);
|
|
107
|
+
return /*#__PURE__*/React__default["default"].createElement(reactIntl.IntlProvider, {
|
|
125
108
|
locale: locale,
|
|
126
109
|
messages: messages
|
|
127
|
-
}, /*#__PURE__*/React__default[
|
|
128
|
-
|
|
110
|
+
}, /*#__PURE__*/React__default["default"].createElement(contexts.LocalesProvider, {
|
|
111
|
+
locales: locales || previousLocales
|
|
129
112
|
}, children));
|
|
130
113
|
};
|
|
131
|
-
|
|
132
|
-
IntlProvider.
|
|
114
|
+
|
|
115
|
+
IntlProvider.propTypes = propTypes$1;
|
|
116
|
+
IntlProvider.defaultProps = defaultProps$1;
|
|
117
|
+
|
|
118
|
+
var propTypes = {
|
|
119
|
+
resource: core.PropTypes.resource,
|
|
120
|
+
values: PropTypes__default["default"].object,
|
|
121
|
+
// eslint-disable-line react/forbid-prop-types,
|
|
122
|
+
id: PropTypes__default["default"].string.isRequired,
|
|
123
|
+
defaultMessage: PropTypes__default["default"].string,
|
|
124
|
+
description: PropTypes__default["default"].string
|
|
125
|
+
};
|
|
126
|
+
var defaultProps = {
|
|
127
|
+
resource: null,
|
|
128
|
+
values: null,
|
|
129
|
+
defaultMessage: null,
|
|
130
|
+
description: null
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var ResourceMessage = function ResourceMessage(_ref) {
|
|
134
|
+
var resource = _ref.resource,
|
|
135
|
+
values = _ref.values,
|
|
136
|
+
id = _ref.id,
|
|
137
|
+
defaultMessage = _ref.defaultMessage,
|
|
138
|
+
description = _ref.description;
|
|
139
|
+
var contextResource = contexts.useResource();
|
|
140
|
+
|
|
141
|
+
var _useIntl = reactIntl.useIntl(),
|
|
142
|
+
messages = _useIntl.messages;
|
|
143
|
+
|
|
144
|
+
var _ref2 = resource || contextResource || {},
|
|
145
|
+
resourceId = _ref2.id,
|
|
146
|
+
_ref2$name = _ref2.name,
|
|
147
|
+
name = _ref2$name === void 0 ? null : _ref2$name,
|
|
148
|
+
_ref2$intl = _ref2.intl;
|
|
149
|
+
|
|
150
|
+
_ref2$intl = _ref2$intl === void 0 ? {} : _ref2$intl;
|
|
151
|
+
var resourceValues = _ref2$intl.values;
|
|
152
|
+
var resourceMessageId = id.replace(/^resources\./, "resources.".concat(resourceId, "."));
|
|
153
|
+
var message = {
|
|
154
|
+
id: typeof messages[resourceMessageId] !== 'undefined' ? resourceMessageId : id,
|
|
155
|
+
defaultMessage: defaultMessage,
|
|
156
|
+
description: description
|
|
157
|
+
};
|
|
158
|
+
return /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, Object.assign({
|
|
159
|
+
values: _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
160
|
+
name: name
|
|
161
|
+
}, resourceValues), values)
|
|
162
|
+
}, message));
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
ResourceMessage.propTypes = propTypes;
|
|
166
|
+
ResourceMessage.defaultProps = defaultProps;
|
|
133
167
|
|
|
134
168
|
exports.IntlManager = IntlManager;
|
|
135
169
|
exports.IntlProvider = IntlProvider;
|
|
136
|
-
exports.
|
|
137
|
-
exports
|
|
138
|
-
exports.useLocales = useLocales;
|
|
139
|
-
exports.useOtherLocales = useOtherLocales;
|
|
170
|
+
exports.ResourceMessage = ResourceMessage;
|
|
171
|
+
exports["default"] = intlManager;
|