@commercetools-uikit/localized-utils 15.15.0 → 16.0.0
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/dist/commercetools-uikit-localized-utils.cjs.d.ts +1 -0
- package/dist/commercetools-uikit-localized-utils.cjs.d.ts.map +1 -0
- package/dist/commercetools-uikit-localized-utils.cjs.dev.js +47 -64
- package/dist/commercetools-uikit-localized-utils.cjs.prod.js +47 -64
- package/dist/commercetools-uikit-localized-utils.esm.js +47 -64
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commercetools-uikit-localized-utils.cjs.d.ts","sourceRoot":"","sources":["./declarations/src/index.d.ts"],"names":[],"mappings":"AAAA"}
|
|
@@ -10,7 +10,6 @@ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/ob
|
|
|
10
10
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
11
11
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
12
12
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
13
|
-
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
14
13
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
15
14
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
16
15
|
var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
|
|
@@ -46,37 +45,31 @@ var uniq__default = /*#__PURE__*/_interopDefault(uniq);
|
|
|
46
45
|
|
|
47
46
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
48
47
|
|
|
49
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
50
|
-
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
49
|
+
const getId = (idPrefix, language) => {
|
|
51
50
|
var _context;
|
|
52
51
|
|
|
53
52
|
return idPrefix && language ? _concatInstanceProperty__default["default"](_context = "".concat(idPrefix, ".")).call(_context, language) : undefined;
|
|
54
53
|
};
|
|
55
|
-
|
|
54
|
+
const getName = (namePrefix, language) => {
|
|
56
55
|
var _context2;
|
|
57
56
|
|
|
58
57
|
return namePrefix && language ? _concatInstanceProperty__default["default"](_context2 = "".concat(namePrefix, ".")).call(_context2, language) : undefined;
|
|
59
58
|
};
|
|
60
|
-
|
|
61
|
-
return language.split('-')[0];
|
|
62
|
-
}; // splits the languages into two groups:
|
|
59
|
+
const getPrimaryLanguage = language => language.split('-')[0]; // splits the languages into two groups:
|
|
63
60
|
// - the first group starts with the same tag as the selected language
|
|
64
61
|
// - the second group starts with a different tag
|
|
65
62
|
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
const splitLanguages = (selectedLanguage, languages) => {
|
|
64
|
+
const primaryLanguage = getPrimaryLanguage(selectedLanguage);
|
|
68
65
|
|
|
69
|
-
|
|
70
|
-
return getPrimaryLanguage(language) === primaryLanguage;
|
|
71
|
-
});
|
|
66
|
+
const related = _filterInstanceProperty__default["default"](languages).call(languages, language => getPrimaryLanguage(language) === primaryLanguage);
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
return getPrimaryLanguage(language) !== primaryLanguage;
|
|
75
|
-
});
|
|
68
|
+
const unrelated = _filterInstanceProperty__default["default"](languages).call(languages, language => getPrimaryLanguage(language) !== primaryLanguage);
|
|
76
69
|
|
|
77
70
|
return {
|
|
78
|
-
unrelated
|
|
79
|
-
related
|
|
71
|
+
unrelated,
|
|
72
|
+
related
|
|
80
73
|
};
|
|
81
74
|
}; // sorts the languages with the following priority:
|
|
82
75
|
// - The selected language is placed first (e.g pt-BR)
|
|
@@ -84,24 +77,20 @@ var splitLanguages = function splitLanguages(selectedLanguage, languages) {
|
|
|
84
77
|
// follow (e.g. pt, pt-PT). They are sorted alphabetically.
|
|
85
78
|
// - All other languages follow, sorted alphabetically as well
|
|
86
79
|
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
const sortLanguages = (selectedLanguage, allLanguages) => {
|
|
81
|
+
const _splitLanguages = splitLanguages(selectedLanguage, _filterInstanceProperty__default["default"](allLanguages).call(allLanguages, language => language !== selectedLanguage)),
|
|
82
|
+
related = _splitLanguages.related,
|
|
83
|
+
unrelated = _splitLanguages.unrelated;
|
|
89
84
|
|
|
90
|
-
|
|
91
|
-
return language !== selectedLanguage;
|
|
92
|
-
})),
|
|
93
|
-
related = _splitLanguages.related,
|
|
94
|
-
unrelated = _splitLanguages.unrelated;
|
|
95
|
-
|
|
96
|
-
return _concatInstanceProperty__default["default"](_context3 = [selectedLanguage]).call(_context3, _toConsumableArray(_sortInstanceProperty__default["default"](related).call(related)), _toConsumableArray(_sortInstanceProperty__default["default"](unrelated).call(unrelated)));
|
|
85
|
+
return [selectedLanguage, ..._sortInstanceProperty__default["default"](related).call(related), ..._sortInstanceProperty__default["default"](unrelated).call(unrelated)];
|
|
97
86
|
};
|
|
98
|
-
|
|
99
|
-
|
|
87
|
+
const createLocalizedDataAttributes = (props, language) => {
|
|
88
|
+
const entries = _Object$entries__default["default"](utils.filterDataAttributes(props));
|
|
100
89
|
|
|
101
|
-
return _reduceInstanceProperty__default["default"](entries).call(entries,
|
|
102
|
-
var
|
|
90
|
+
return _reduceInstanceProperty__default["default"](entries).call(entries, (localizedDataAttributes, _ref) => {
|
|
91
|
+
var _context3;
|
|
103
92
|
|
|
104
|
-
|
|
93
|
+
let _ref2 = _slicedToArray(_ref, 2),
|
|
105
94
|
key = _ref2[0],
|
|
106
95
|
value = _ref2[1];
|
|
107
96
|
|
|
@@ -109,7 +98,7 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
109
98
|
case 'data-track-component':
|
|
110
99
|
case 'data-testid':
|
|
111
100
|
case 'data-test':
|
|
112
|
-
localizedDataAttributes[key] = _concatInstanceProperty__default["default"](
|
|
101
|
+
localizedDataAttributes[key] = _concatInstanceProperty__default["default"](_context3 = "".concat(value, "-")).call(_context3, language);
|
|
113
102
|
break;
|
|
114
103
|
|
|
115
104
|
default:
|
|
@@ -119,73 +108,67 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
119
108
|
return localizedDataAttributes;
|
|
120
109
|
}, {});
|
|
121
110
|
};
|
|
122
|
-
|
|
111
|
+
const getHasErrorOnRemainingLanguages = (errors, selectedLanguage) => {
|
|
123
112
|
if (errors && _Object$keys__default["default"](errors).length > 0 && selectedLanguage) {
|
|
124
|
-
var
|
|
113
|
+
var _context4;
|
|
125
114
|
|
|
126
|
-
return _someInstanceProperty__default["default"](
|
|
127
|
-
return language !== selectedLanguage;
|
|
128
|
-
});
|
|
115
|
+
return _someInstanceProperty__default["default"](_context4 = _Object$keys__default["default"](errors)).call(_context4, language => language !== selectedLanguage);
|
|
129
116
|
}
|
|
130
117
|
|
|
131
118
|
return false;
|
|
132
119
|
};
|
|
133
|
-
|
|
120
|
+
const getHasWarningOnRemainingLanguages = (warnings, selectedLanguage) => {
|
|
134
121
|
if (warnings && _Object$keys__default["default"](warnings).length > 0 && selectedLanguage) {
|
|
135
|
-
var
|
|
122
|
+
var _context5;
|
|
136
123
|
|
|
137
|
-
return _someInstanceProperty__default["default"](
|
|
138
|
-
return language !== selectedLanguage;
|
|
139
|
-
});
|
|
124
|
+
return _someInstanceProperty__default["default"](_context5 = _Object$keys__default["default"](warnings)).call(_context5, language => language !== selectedLanguage);
|
|
140
125
|
}
|
|
141
126
|
|
|
142
127
|
return false;
|
|
143
128
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return _objectSpread(_objectSpread({}, localizedString), {}, _defineProperty({}, locale, existingTranslations && existingTranslations[locale] || ''));
|
|
151
|
-
}, {});
|
|
129
|
+
const createLocalizedString = function (languages) {
|
|
130
|
+
let existingTranslations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
131
|
+
const mergedLanguages = existingTranslations ? uniq__default["default"]([...languages, ..._Object$keys__default["default"](existingTranslations)]) : languages;
|
|
132
|
+
return _reduceInstanceProperty__default["default"](mergedLanguages).call(mergedLanguages, (localizedString, locale) => _objectSpread(_objectSpread({}, localizedString), {}, {
|
|
133
|
+
[locale]: existingTranslations && existingTranslations[locale] || ''
|
|
134
|
+
}), {});
|
|
152
135
|
};
|
|
153
|
-
|
|
154
|
-
var
|
|
136
|
+
const isEmpty = localizedString => {
|
|
137
|
+
var _context6;
|
|
155
138
|
|
|
156
139
|
if (!localizedString) return true;
|
|
157
|
-
return _everyInstanceProperty__default["default"](
|
|
158
|
-
return !value || _trimInstanceProperty__default["default"](value).call(value).length === 0;
|
|
159
|
-
});
|
|
140
|
+
return _everyInstanceProperty__default["default"](_context6 = _Object$values__default["default"](localizedString)).call(_context6, value => !value || _trimInstanceProperty__default["default"](value).call(value).length === 0);
|
|
160
141
|
};
|
|
161
|
-
|
|
162
|
-
var
|
|
142
|
+
const omitEmptyTranslations = localizedString => {
|
|
143
|
+
var _context7;
|
|
163
144
|
|
|
164
145
|
process.env.NODE_ENV !== "production" ? utils.warning(typeof localizedString === 'object', 'omitEmptyTranslations must be called with an object') : void 0;
|
|
165
|
-
return _reduceInstanceProperty__default["default"](
|
|
166
|
-
|
|
146
|
+
return _reduceInstanceProperty__default["default"](_context7 = _Object$entries__default["default"](localizedString)).call(_context7, (localizedStringWithoutEmptyTranslations, _ref3) => {
|
|
147
|
+
let _ref4 = _slicedToArray(_ref3, 2),
|
|
167
148
|
locale = _ref4[0],
|
|
168
149
|
value = _ref4[1];
|
|
169
150
|
|
|
170
151
|
if (value && _trimInstanceProperty__default["default"](value).call(value).length > 0) {
|
|
171
|
-
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {},
|
|
152
|
+
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {}, {
|
|
153
|
+
[locale]: value
|
|
154
|
+
});
|
|
172
155
|
}
|
|
173
156
|
|
|
174
157
|
return localizedStringWithoutEmptyTranslations;
|
|
175
158
|
}, {});
|
|
176
159
|
};
|
|
177
|
-
|
|
160
|
+
const isTouched = touched => {
|
|
178
161
|
if (touched) {
|
|
179
|
-
var
|
|
162
|
+
var _context8;
|
|
180
163
|
|
|
181
|
-
return _someInstanceProperty__default["default"](
|
|
164
|
+
return _someInstanceProperty__default["default"](_context8 = _Object$values__default["default"](touched)).call(_context8, Boolean);
|
|
182
165
|
}
|
|
183
166
|
|
|
184
167
|
return false;
|
|
185
168
|
};
|
|
186
169
|
|
|
187
170
|
// NOTE: This string will be replaced on build time with the package version.
|
|
188
|
-
var version = "
|
|
171
|
+
var version = "16.0.0";
|
|
189
172
|
|
|
190
173
|
exports.createLocalizedDataAttributes = createLocalizedDataAttributes;
|
|
191
174
|
exports.createLocalizedString = createLocalizedString;
|
|
@@ -10,7 +10,6 @@ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/ob
|
|
|
10
10
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
11
11
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
12
12
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
13
|
-
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
14
13
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
15
14
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
16
15
|
var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
|
|
@@ -46,37 +45,31 @@ var uniq__default = /*#__PURE__*/_interopDefault(uniq);
|
|
|
46
45
|
|
|
47
46
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
48
47
|
|
|
49
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
50
|
-
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
49
|
+
const getId = (idPrefix, language) => {
|
|
51
50
|
var _context;
|
|
52
51
|
|
|
53
52
|
return idPrefix && language ? _concatInstanceProperty__default["default"](_context = "".concat(idPrefix, ".")).call(_context, language) : undefined;
|
|
54
53
|
};
|
|
55
|
-
|
|
54
|
+
const getName = (namePrefix, language) => {
|
|
56
55
|
var _context2;
|
|
57
56
|
|
|
58
57
|
return namePrefix && language ? _concatInstanceProperty__default["default"](_context2 = "".concat(namePrefix, ".")).call(_context2, language) : undefined;
|
|
59
58
|
};
|
|
60
|
-
|
|
61
|
-
return language.split('-')[0];
|
|
62
|
-
}; // splits the languages into two groups:
|
|
59
|
+
const getPrimaryLanguage = language => language.split('-')[0]; // splits the languages into two groups:
|
|
63
60
|
// - the first group starts with the same tag as the selected language
|
|
64
61
|
// - the second group starts with a different tag
|
|
65
62
|
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
const splitLanguages = (selectedLanguage, languages) => {
|
|
64
|
+
const primaryLanguage = getPrimaryLanguage(selectedLanguage);
|
|
68
65
|
|
|
69
|
-
|
|
70
|
-
return getPrimaryLanguage(language) === primaryLanguage;
|
|
71
|
-
});
|
|
66
|
+
const related = _filterInstanceProperty__default["default"](languages).call(languages, language => getPrimaryLanguage(language) === primaryLanguage);
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
return getPrimaryLanguage(language) !== primaryLanguage;
|
|
75
|
-
});
|
|
68
|
+
const unrelated = _filterInstanceProperty__default["default"](languages).call(languages, language => getPrimaryLanguage(language) !== primaryLanguage);
|
|
76
69
|
|
|
77
70
|
return {
|
|
78
|
-
unrelated
|
|
79
|
-
related
|
|
71
|
+
unrelated,
|
|
72
|
+
related
|
|
80
73
|
};
|
|
81
74
|
}; // sorts the languages with the following priority:
|
|
82
75
|
// - The selected language is placed first (e.g pt-BR)
|
|
@@ -84,24 +77,20 @@ var splitLanguages = function splitLanguages(selectedLanguage, languages) {
|
|
|
84
77
|
// follow (e.g. pt, pt-PT). They are sorted alphabetically.
|
|
85
78
|
// - All other languages follow, sorted alphabetically as well
|
|
86
79
|
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
const sortLanguages = (selectedLanguage, allLanguages) => {
|
|
81
|
+
const _splitLanguages = splitLanguages(selectedLanguage, _filterInstanceProperty__default["default"](allLanguages).call(allLanguages, language => language !== selectedLanguage)),
|
|
82
|
+
related = _splitLanguages.related,
|
|
83
|
+
unrelated = _splitLanguages.unrelated;
|
|
89
84
|
|
|
90
|
-
|
|
91
|
-
return language !== selectedLanguage;
|
|
92
|
-
})),
|
|
93
|
-
related = _splitLanguages.related,
|
|
94
|
-
unrelated = _splitLanguages.unrelated;
|
|
95
|
-
|
|
96
|
-
return _concatInstanceProperty__default["default"](_context3 = [selectedLanguage]).call(_context3, _toConsumableArray(_sortInstanceProperty__default["default"](related).call(related)), _toConsumableArray(_sortInstanceProperty__default["default"](unrelated).call(unrelated)));
|
|
85
|
+
return [selectedLanguage, ..._sortInstanceProperty__default["default"](related).call(related), ..._sortInstanceProperty__default["default"](unrelated).call(unrelated)];
|
|
97
86
|
};
|
|
98
|
-
|
|
99
|
-
|
|
87
|
+
const createLocalizedDataAttributes = (props, language) => {
|
|
88
|
+
const entries = _Object$entries__default["default"](utils.filterDataAttributes(props));
|
|
100
89
|
|
|
101
|
-
return _reduceInstanceProperty__default["default"](entries).call(entries,
|
|
102
|
-
var
|
|
90
|
+
return _reduceInstanceProperty__default["default"](entries).call(entries, (localizedDataAttributes, _ref) => {
|
|
91
|
+
var _context3;
|
|
103
92
|
|
|
104
|
-
|
|
93
|
+
let _ref2 = _slicedToArray(_ref, 2),
|
|
105
94
|
key = _ref2[0],
|
|
106
95
|
value = _ref2[1];
|
|
107
96
|
|
|
@@ -109,7 +98,7 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
109
98
|
case 'data-track-component':
|
|
110
99
|
case 'data-testid':
|
|
111
100
|
case 'data-test':
|
|
112
|
-
localizedDataAttributes[key] = _concatInstanceProperty__default["default"](
|
|
101
|
+
localizedDataAttributes[key] = _concatInstanceProperty__default["default"](_context3 = "".concat(value, "-")).call(_context3, language);
|
|
113
102
|
break;
|
|
114
103
|
|
|
115
104
|
default:
|
|
@@ -119,71 +108,65 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
119
108
|
return localizedDataAttributes;
|
|
120
109
|
}, {});
|
|
121
110
|
};
|
|
122
|
-
|
|
111
|
+
const getHasErrorOnRemainingLanguages = (errors, selectedLanguage) => {
|
|
123
112
|
if (errors && _Object$keys__default["default"](errors).length > 0 && selectedLanguage) {
|
|
124
|
-
var
|
|
113
|
+
var _context4;
|
|
125
114
|
|
|
126
|
-
return _someInstanceProperty__default["default"](
|
|
127
|
-
return language !== selectedLanguage;
|
|
128
|
-
});
|
|
115
|
+
return _someInstanceProperty__default["default"](_context4 = _Object$keys__default["default"](errors)).call(_context4, language => language !== selectedLanguage);
|
|
129
116
|
}
|
|
130
117
|
|
|
131
118
|
return false;
|
|
132
119
|
};
|
|
133
|
-
|
|
120
|
+
const getHasWarningOnRemainingLanguages = (warnings, selectedLanguage) => {
|
|
134
121
|
if (warnings && _Object$keys__default["default"](warnings).length > 0 && selectedLanguage) {
|
|
135
|
-
var
|
|
122
|
+
var _context5;
|
|
136
123
|
|
|
137
|
-
return _someInstanceProperty__default["default"](
|
|
138
|
-
return language !== selectedLanguage;
|
|
139
|
-
});
|
|
124
|
+
return _someInstanceProperty__default["default"](_context5 = _Object$keys__default["default"](warnings)).call(_context5, language => language !== selectedLanguage);
|
|
140
125
|
}
|
|
141
126
|
|
|
142
127
|
return false;
|
|
143
128
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return _objectSpread(_objectSpread({}, localizedString), {}, _defineProperty({}, locale, existingTranslations && existingTranslations[locale] || ''));
|
|
151
|
-
}, {});
|
|
129
|
+
const createLocalizedString = function (languages) {
|
|
130
|
+
let existingTranslations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
131
|
+
const mergedLanguages = existingTranslations ? uniq__default["default"]([...languages, ..._Object$keys__default["default"](existingTranslations)]) : languages;
|
|
132
|
+
return _reduceInstanceProperty__default["default"](mergedLanguages).call(mergedLanguages, (localizedString, locale) => _objectSpread(_objectSpread({}, localizedString), {}, {
|
|
133
|
+
[locale]: existingTranslations && existingTranslations[locale] || ''
|
|
134
|
+
}), {});
|
|
152
135
|
};
|
|
153
|
-
|
|
154
|
-
var
|
|
136
|
+
const isEmpty = localizedString => {
|
|
137
|
+
var _context6;
|
|
155
138
|
|
|
156
139
|
if (!localizedString) return true;
|
|
157
|
-
return _everyInstanceProperty__default["default"](
|
|
158
|
-
return !value || _trimInstanceProperty__default["default"](value).call(value).length === 0;
|
|
159
|
-
});
|
|
140
|
+
return _everyInstanceProperty__default["default"](_context6 = _Object$values__default["default"](localizedString)).call(_context6, value => !value || _trimInstanceProperty__default["default"](value).call(value).length === 0);
|
|
160
141
|
};
|
|
161
|
-
|
|
162
|
-
var
|
|
163
|
-
return _reduceInstanceProperty__default["default"](
|
|
164
|
-
|
|
142
|
+
const omitEmptyTranslations = localizedString => {
|
|
143
|
+
var _context7;
|
|
144
|
+
return _reduceInstanceProperty__default["default"](_context7 = _Object$entries__default["default"](localizedString)).call(_context7, (localizedStringWithoutEmptyTranslations, _ref3) => {
|
|
145
|
+
let _ref4 = _slicedToArray(_ref3, 2),
|
|
165
146
|
locale = _ref4[0],
|
|
166
147
|
value = _ref4[1];
|
|
167
148
|
|
|
168
149
|
if (value && _trimInstanceProperty__default["default"](value).call(value).length > 0) {
|
|
169
|
-
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {},
|
|
150
|
+
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {}, {
|
|
151
|
+
[locale]: value
|
|
152
|
+
});
|
|
170
153
|
}
|
|
171
154
|
|
|
172
155
|
return localizedStringWithoutEmptyTranslations;
|
|
173
156
|
}, {});
|
|
174
157
|
};
|
|
175
|
-
|
|
158
|
+
const isTouched = touched => {
|
|
176
159
|
if (touched) {
|
|
177
|
-
var
|
|
160
|
+
var _context8;
|
|
178
161
|
|
|
179
|
-
return _someInstanceProperty__default["default"](
|
|
162
|
+
return _someInstanceProperty__default["default"](_context8 = _Object$values__default["default"](touched)).call(_context8, Boolean);
|
|
180
163
|
}
|
|
181
164
|
|
|
182
165
|
return false;
|
|
183
166
|
};
|
|
184
167
|
|
|
185
168
|
// NOTE: This string will be replaced on build time with the package version.
|
|
186
|
-
var version = "
|
|
169
|
+
var version = "16.0.0";
|
|
187
170
|
|
|
188
171
|
exports.createLocalizedDataAttributes = createLocalizedDataAttributes;
|
|
189
172
|
exports.createLocalizedString = createLocalizedString;
|
|
@@ -6,7 +6,6 @@ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/obje
|
|
|
6
6
|
import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
|
|
7
7
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
8
8
|
import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
|
|
9
|
-
import _toConsumableArray from '@babel/runtime-corejs3/helpers/esm/toConsumableArray';
|
|
10
9
|
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
11
10
|
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
|
|
12
11
|
import _sortInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/sort';
|
|
@@ -22,37 +21,31 @@ import { filterDataAttributes, warning } from '@commercetools-uikit/utils';
|
|
|
22
21
|
|
|
23
22
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
23
|
|
|
25
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
26
|
-
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
+
const getId = (idPrefix, language) => {
|
|
27
26
|
var _context;
|
|
28
27
|
|
|
29
28
|
return idPrefix && language ? _concatInstanceProperty(_context = "".concat(idPrefix, ".")).call(_context, language) : undefined;
|
|
30
29
|
};
|
|
31
|
-
|
|
30
|
+
const getName = (namePrefix, language) => {
|
|
32
31
|
var _context2;
|
|
33
32
|
|
|
34
33
|
return namePrefix && language ? _concatInstanceProperty(_context2 = "".concat(namePrefix, ".")).call(_context2, language) : undefined;
|
|
35
34
|
};
|
|
36
|
-
|
|
37
|
-
return language.split('-')[0];
|
|
38
|
-
}; // splits the languages into two groups:
|
|
35
|
+
const getPrimaryLanguage = language => language.split('-')[0]; // splits the languages into two groups:
|
|
39
36
|
// - the first group starts with the same tag as the selected language
|
|
40
37
|
// - the second group starts with a different tag
|
|
41
38
|
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
const splitLanguages = (selectedLanguage, languages) => {
|
|
40
|
+
const primaryLanguage = getPrimaryLanguage(selectedLanguage);
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
return getPrimaryLanguage(language) === primaryLanguage;
|
|
47
|
-
});
|
|
42
|
+
const related = _filterInstanceProperty(languages).call(languages, language => getPrimaryLanguage(language) === primaryLanguage);
|
|
48
43
|
|
|
49
|
-
|
|
50
|
-
return getPrimaryLanguage(language) !== primaryLanguage;
|
|
51
|
-
});
|
|
44
|
+
const unrelated = _filterInstanceProperty(languages).call(languages, language => getPrimaryLanguage(language) !== primaryLanguage);
|
|
52
45
|
|
|
53
46
|
return {
|
|
54
|
-
unrelated
|
|
55
|
-
related
|
|
47
|
+
unrelated,
|
|
48
|
+
related
|
|
56
49
|
};
|
|
57
50
|
}; // sorts the languages with the following priority:
|
|
58
51
|
// - The selected language is placed first (e.g pt-BR)
|
|
@@ -60,24 +53,20 @@ var splitLanguages = function splitLanguages(selectedLanguage, languages) {
|
|
|
60
53
|
// follow (e.g. pt, pt-PT). They are sorted alphabetically.
|
|
61
54
|
// - All other languages follow, sorted alphabetically as well
|
|
62
55
|
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
const sortLanguages = (selectedLanguage, allLanguages) => {
|
|
57
|
+
const _splitLanguages = splitLanguages(selectedLanguage, _filterInstanceProperty(allLanguages).call(allLanguages, language => language !== selectedLanguage)),
|
|
58
|
+
related = _splitLanguages.related,
|
|
59
|
+
unrelated = _splitLanguages.unrelated;
|
|
65
60
|
|
|
66
|
-
|
|
67
|
-
return language !== selectedLanguage;
|
|
68
|
-
})),
|
|
69
|
-
related = _splitLanguages.related,
|
|
70
|
-
unrelated = _splitLanguages.unrelated;
|
|
71
|
-
|
|
72
|
-
return _concatInstanceProperty(_context3 = [selectedLanguage]).call(_context3, _toConsumableArray(_sortInstanceProperty(related).call(related)), _toConsumableArray(_sortInstanceProperty(unrelated).call(unrelated)));
|
|
61
|
+
return [selectedLanguage, ..._sortInstanceProperty(related).call(related), ..._sortInstanceProperty(unrelated).call(unrelated)];
|
|
73
62
|
};
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
const createLocalizedDataAttributes = (props, language) => {
|
|
64
|
+
const entries = _Object$entries(filterDataAttributes(props));
|
|
76
65
|
|
|
77
|
-
return _reduceInstanceProperty(entries).call(entries,
|
|
78
|
-
var
|
|
66
|
+
return _reduceInstanceProperty(entries).call(entries, (localizedDataAttributes, _ref) => {
|
|
67
|
+
var _context3;
|
|
79
68
|
|
|
80
|
-
|
|
69
|
+
let _ref2 = _slicedToArray(_ref, 2),
|
|
81
70
|
key = _ref2[0],
|
|
82
71
|
value = _ref2[1];
|
|
83
72
|
|
|
@@ -85,7 +74,7 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
85
74
|
case 'data-track-component':
|
|
86
75
|
case 'data-testid':
|
|
87
76
|
case 'data-test':
|
|
88
|
-
localizedDataAttributes[key] = _concatInstanceProperty(
|
|
77
|
+
localizedDataAttributes[key] = _concatInstanceProperty(_context3 = "".concat(value, "-")).call(_context3, language);
|
|
89
78
|
break;
|
|
90
79
|
|
|
91
80
|
default:
|
|
@@ -95,72 +84,66 @@ var createLocalizedDataAttributes = function createLocalizedDataAttributes(props
|
|
|
95
84
|
return localizedDataAttributes;
|
|
96
85
|
}, {});
|
|
97
86
|
};
|
|
98
|
-
|
|
87
|
+
const getHasErrorOnRemainingLanguages = (errors, selectedLanguage) => {
|
|
99
88
|
if (errors && _Object$keys(errors).length > 0 && selectedLanguage) {
|
|
100
|
-
var
|
|
89
|
+
var _context4;
|
|
101
90
|
|
|
102
|
-
return _someInstanceProperty(
|
|
103
|
-
return language !== selectedLanguage;
|
|
104
|
-
});
|
|
91
|
+
return _someInstanceProperty(_context4 = _Object$keys(errors)).call(_context4, language => language !== selectedLanguage);
|
|
105
92
|
}
|
|
106
93
|
|
|
107
94
|
return false;
|
|
108
95
|
};
|
|
109
|
-
|
|
96
|
+
const getHasWarningOnRemainingLanguages = (warnings, selectedLanguage) => {
|
|
110
97
|
if (warnings && _Object$keys(warnings).length > 0 && selectedLanguage) {
|
|
111
|
-
var
|
|
98
|
+
var _context5;
|
|
112
99
|
|
|
113
|
-
return _someInstanceProperty(
|
|
114
|
-
return language !== selectedLanguage;
|
|
115
|
-
});
|
|
100
|
+
return _someInstanceProperty(_context5 = _Object$keys(warnings)).call(_context5, language => language !== selectedLanguage);
|
|
116
101
|
}
|
|
117
102
|
|
|
118
103
|
return false;
|
|
119
104
|
};
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return _objectSpread(_objectSpread({}, localizedString), {}, _defineProperty({}, locale, existingTranslations && existingTranslations[locale] || ''));
|
|
127
|
-
}, {});
|
|
105
|
+
const createLocalizedString = function (languages) {
|
|
106
|
+
let existingTranslations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
107
|
+
const mergedLanguages = existingTranslations ? uniq([...languages, ..._Object$keys(existingTranslations)]) : languages;
|
|
108
|
+
return _reduceInstanceProperty(mergedLanguages).call(mergedLanguages, (localizedString, locale) => _objectSpread(_objectSpread({}, localizedString), {}, {
|
|
109
|
+
[locale]: existingTranslations && existingTranslations[locale] || ''
|
|
110
|
+
}), {});
|
|
128
111
|
};
|
|
129
|
-
|
|
130
|
-
var
|
|
112
|
+
const isEmpty = localizedString => {
|
|
113
|
+
var _context6;
|
|
131
114
|
|
|
132
115
|
if (!localizedString) return true;
|
|
133
|
-
return _everyInstanceProperty(
|
|
134
|
-
return !value || _trimInstanceProperty(value).call(value).length === 0;
|
|
135
|
-
});
|
|
116
|
+
return _everyInstanceProperty(_context6 = _Object$values(localizedString)).call(_context6, value => !value || _trimInstanceProperty(value).call(value).length === 0);
|
|
136
117
|
};
|
|
137
|
-
|
|
138
|
-
var
|
|
118
|
+
const omitEmptyTranslations = localizedString => {
|
|
119
|
+
var _context7;
|
|
139
120
|
|
|
140
121
|
process.env.NODE_ENV !== "production" ? warning(typeof localizedString === 'object', 'omitEmptyTranslations must be called with an object') : void 0;
|
|
141
|
-
return _reduceInstanceProperty(
|
|
142
|
-
|
|
122
|
+
return _reduceInstanceProperty(_context7 = _Object$entries(localizedString)).call(_context7, (localizedStringWithoutEmptyTranslations, _ref3) => {
|
|
123
|
+
let _ref4 = _slicedToArray(_ref3, 2),
|
|
143
124
|
locale = _ref4[0],
|
|
144
125
|
value = _ref4[1];
|
|
145
126
|
|
|
146
127
|
if (value && _trimInstanceProperty(value).call(value).length > 0) {
|
|
147
|
-
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {},
|
|
128
|
+
return _objectSpread(_objectSpread({}, localizedStringWithoutEmptyTranslations), {}, {
|
|
129
|
+
[locale]: value
|
|
130
|
+
});
|
|
148
131
|
}
|
|
149
132
|
|
|
150
133
|
return localizedStringWithoutEmptyTranslations;
|
|
151
134
|
}, {});
|
|
152
135
|
};
|
|
153
|
-
|
|
136
|
+
const isTouched = touched => {
|
|
154
137
|
if (touched) {
|
|
155
|
-
var
|
|
138
|
+
var _context8;
|
|
156
139
|
|
|
157
|
-
return _someInstanceProperty(
|
|
140
|
+
return _someInstanceProperty(_context8 = _Object$values(touched)).call(_context8, Boolean);
|
|
158
141
|
}
|
|
159
142
|
|
|
160
143
|
return false;
|
|
161
144
|
};
|
|
162
145
|
|
|
163
146
|
// NOTE: This string will be replaced on build time with the package version.
|
|
164
|
-
var version = "
|
|
147
|
+
var version = "16.0.0";
|
|
165
148
|
|
|
166
149
|
export { createLocalizedDataAttributes, createLocalizedString, getHasErrorOnRemainingLanguages, getHasWarningOnRemainingLanguages, getId, getName, getPrimaryLanguage, isEmpty, isTouched, omitEmptyTranslations, sortLanguages, splitLanguages, version };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools-uikit/localized-utils",
|
|
3
3
|
"description": "Utilities to work with localized data.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "16.0.0",
|
|
5
5
|
"bugs": "https://github.com/commercetools/ui-kit/issues",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@babel/runtime": "^7.20.13",
|
|
23
23
|
"@babel/runtime-corejs3": "^7.20.13",
|
|
24
|
-
"@commercetools-uikit/utils": "
|
|
24
|
+
"@commercetools-uikit/utils": "16.0.0",
|
|
25
25
|
"lodash": "4.17.21"
|
|
26
26
|
}
|
|
27
27
|
}
|