@digigov/ui 0.15.1 → 0.17.1
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 +26 -1
- package/api/APIErrors.d.ts +3 -3
- package/app/I18nText.d.ts +10 -0
- package/app/I18nText.js +94 -0
- package/app/i18n.d.ts +2 -0
- package/app/i18n.js +3 -1
- package/app/index.d.ts +1 -0
- package/app/index.js +13 -0
- package/core/PaginationLabel/index.js +4 -6
- package/core/ServiceBadge/index.d.ts +0 -1
- package/core/ServiceBadge/index.js +2 -3
- package/es/app/I18nText.js +79 -0
- package/es/app/i18n.js +1 -3
- package/es/app/index.js +2 -1
- package/es/core/PaginationLabel/index.js +4 -6
- package/es/core/ServiceBadge/index.js +2 -3
- package/es/locales/el.js +8 -1
- package/es/locales/en.js +8 -1
- package/esm/app/I18nText.js +79 -0
- package/esm/app/i18n.js +1 -3
- package/esm/app/index.js +2 -1
- package/esm/core/PaginationLabel/index.js +4 -6
- package/esm/core/ServiceBadge/index.js +2 -3
- package/esm/index.js +1 -1
- package/esm/locales/el.js +8 -1
- package/esm/locales/en.js +8 -1
- package/locales/el.d.ts +7 -0
- package/locales/el.js +8 -1
- package/locales/en.d.ts +7 -0
- package/locales/en.js +8 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
# Change Log - @digigov/ui
|
|
2
2
|
|
|
3
|
-
This log was last generated on Wed,
|
|
3
|
+
This log was last generated on Wed, 20 Apr 2022 12:11:46 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.17.1
|
|
6
|
+
Wed, 20 Apr 2022 12:11:46 GMT
|
|
7
|
+
|
|
8
|
+
### Patches
|
|
9
|
+
|
|
10
|
+
- fix ServiceBadge component implementation to appear properly in pages
|
|
11
|
+
|
|
12
|
+
## 0.17.0
|
|
13
|
+
Mon, 18 Apr 2022 13:00:33 GMT
|
|
14
|
+
|
|
15
|
+
### Minor changes
|
|
16
|
+
|
|
17
|
+
- Upgrade @types/node version
|
|
18
|
+
|
|
19
|
+
## 0.16.0
|
|
20
|
+
Thu, 14 Apr 2022 12:32:51 GMT
|
|
21
|
+
|
|
22
|
+
### Minor changes
|
|
23
|
+
|
|
24
|
+
- create I18nText component which translates complex sentences
|
|
25
|
+
|
|
26
|
+
### Patches
|
|
27
|
+
|
|
28
|
+
- add text translations in en and el locales
|
|
4
29
|
|
|
5
30
|
## 0.15.1
|
|
6
31
|
Wed, 30 Mar 2022 12:28:30 GMT
|
package/api/APIErrors.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export declare class APIErrors extends React.Component<{
|
|
3
|
-
fallback:
|
|
3
|
+
fallback: any;
|
|
4
4
|
}> {
|
|
5
5
|
state: {
|
|
6
6
|
hasError: boolean;
|
|
7
7
|
error: null;
|
|
8
8
|
};
|
|
9
|
-
static getDerivedStateFromError(error: Error):
|
|
10
|
-
render():
|
|
9
|
+
static getDerivedStateFromError(error: Error): Record<string, any>;
|
|
10
|
+
render(): any;
|
|
11
11
|
}
|
|
12
12
|
export default APIErrors;
|
|
13
13
|
export declare class APIError extends Error {
|
package/app/I18nText.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.I18nText = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _i18n = require("@digigov/ui/app/i18n");
|
|
19
|
+
|
|
20
|
+
var _app = require("@digigov/ui/app");
|
|
21
|
+
|
|
22
|
+
var isObject = function isObject(value) {
|
|
23
|
+
return !!(value && (0, _typeof2["default"])(value) === 'object' && !Array.isArray(value));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var resultTranslate = function resultTranslate(translation, children) {
|
|
27
|
+
var parser = new DOMParser();
|
|
28
|
+
var childrenCloned = (0, _toConsumableArray2["default"])(children);
|
|
29
|
+
console.log('children cloned are', childrenCloned);
|
|
30
|
+
var doc1 = parser.parseFromString("<div>".concat(translation.replace(/<([0-9])>/g, '<t$1>').replace(/<\/([0-9])>/g, '</t$1>'), "</div>"), 'application/xml');
|
|
31
|
+
return recursiveReplace(childrenCloned, doc1.children[0].childNodes);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var recursiveReplace = function recursiveReplace(original, translation) {
|
|
35
|
+
if (!Array.isArray(original)) {
|
|
36
|
+
original = [original];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
original.forEach(function (element, i) {
|
|
40
|
+
if (typeof element === 'string' || typeof element === 'number') {
|
|
41
|
+
var text = [];
|
|
42
|
+
var regex = /{([^}]+)}/;
|
|
43
|
+
|
|
44
|
+
if (regex.test(translation[i].textContent)) {
|
|
45
|
+
var textArray = translation[i].textContent.split(' ');
|
|
46
|
+
console.log('textArray is', textArray);
|
|
47
|
+
|
|
48
|
+
if (textArray.length === 1) {
|
|
49
|
+
return false;
|
|
50
|
+
} else {
|
|
51
|
+
textArray.forEach(function (txt) {
|
|
52
|
+
if (!regex.test(txt)) {
|
|
53
|
+
text.push(txt);
|
|
54
|
+
} else {
|
|
55
|
+
text.push(original[i]);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return original[i] = text.join(' ');
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
return original[i] = translation[i].textContent;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (isObject(element)) {
|
|
66
|
+
original[i] = /*#__PURE__*/_react["default"].cloneElement(original[i], (0, _extends2["default"])({}, original[i].props, {
|
|
67
|
+
children: recursiveReplace(original[i].props.children, translation[i].childNodes)
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return original;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var I18nText = function I18nText(_ref) {
|
|
75
|
+
var i18nKey = _ref.i18nKey,
|
|
76
|
+
children = _ref.children;
|
|
77
|
+
var translation = (0, _i18n.defaultTranslate)(i18nKey);
|
|
78
|
+
var result = resultTranslate(translation, children);
|
|
79
|
+
|
|
80
|
+
var _useTranslation = (0, _app.useTranslation)(),
|
|
81
|
+
Trans = _useTranslation.Trans;
|
|
82
|
+
|
|
83
|
+
if (Trans) {
|
|
84
|
+
return /*#__PURE__*/_react["default"].createElement(Trans, {
|
|
85
|
+
i18nKey: i18nKey
|
|
86
|
+
}, children);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, result);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
exports.I18nText = I18nText;
|
|
93
|
+
var _default = I18nText;
|
|
94
|
+
exports["default"] = _default;
|
package/app/i18n.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface I18NContextProps {
|
|
3
|
+
Trans?: any;
|
|
3
4
|
t: (str: string) => string;
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
i18n?: any;
|
|
6
7
|
}
|
|
8
|
+
export declare const defaultTranslate: (key: any) => any;
|
|
7
9
|
export declare const I18NContext: React.Context<I18NContextProps>;
|
|
8
10
|
export declare const I18NProvider: React.FC<I18NContextProps>;
|
|
9
11
|
export declare const useTranslation: () => I18NContextProps;
|
package/app/i18n.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.useTranslation = exports["default"] = exports.I18NProvider = exports.I18NContext = void 0;
|
|
8
|
+
exports.useTranslation = exports.defaultTranslate = exports["default"] = exports.I18NProvider = exports.I18NContext = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -34,6 +34,8 @@ var defaultTranslate = function defaultTranslate(key) {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
+
exports.defaultTranslate = defaultTranslate;
|
|
38
|
+
|
|
37
39
|
var I18NContext = /*#__PURE__*/_react["default"].createContext({
|
|
38
40
|
t: defaultTranslate
|
|
39
41
|
});
|
package/app/index.d.ts
CHANGED
package/app/index.js
CHANGED
|
@@ -67,4 +67,17 @@ Object.keys(_i18n).forEach(function (key) {
|
|
|
67
67
|
return _i18n[key];
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
var _I18nText = require("@digigov/ui/app/I18nText");
|
|
73
|
+
|
|
74
|
+
Object.keys(_I18nText).forEach(function (key) {
|
|
75
|
+
if (key === "default" || key === "__esModule") return;
|
|
76
|
+
if (key in exports && exports[key] === _I18nText[key]) return;
|
|
77
|
+
Object.defineProperty(exports, key, {
|
|
78
|
+
enumerable: true,
|
|
79
|
+
get: function get() {
|
|
80
|
+
return _I18nText[key];
|
|
81
|
+
}
|
|
82
|
+
});
|
|
70
83
|
});
|
|
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _PaginationLabel = _interopRequireDefault(require("@digigov/react-extensions/admin/PaginationLabel"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _I18nText = require("@digigov/ui/app/I18nText");
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* PaginationLabel component is used for placing the pagination results label.
|
|
@@ -20,13 +20,11 @@ var PaginationLabel = /*#__PURE__*/_react["default"].forwardRef(function Paginat
|
|
|
20
20
|
var start = _ref.start,
|
|
21
21
|
end = _ref.end,
|
|
22
22
|
total = _ref.total;
|
|
23
|
-
|
|
24
|
-
var _useTranslation = (0, _app.useTranslation)(),
|
|
25
|
-
t = _useTranslation.t;
|
|
26
|
-
|
|
27
23
|
return /*#__PURE__*/_react["default"].createElement(_PaginationLabel["default"], {
|
|
28
24
|
ref: ref
|
|
29
|
-
},
|
|
25
|
+
}, /*#__PURE__*/_react["default"].createElement(_I18nText.I18nText, {
|
|
26
|
+
i18nKey: "pagination.label"
|
|
27
|
+
}, "Showing ", /*#__PURE__*/_react["default"].createElement("b", null, start), " to ", /*#__PURE__*/_react["default"].createElement("b", null, end), " of ", /*#__PURE__*/_react["default"].createElement("b", null, total), " results."));
|
|
30
28
|
});
|
|
31
29
|
|
|
32
30
|
exports.PaginationLabel = PaginationLabel;
|
|
@@ -3,7 +3,6 @@ import { PhaseBannerProps } from '@digigov/react-core/PhaseBanner';
|
|
|
3
3
|
interface ServiceBadgeProps extends PhaseBannerProps {
|
|
4
4
|
label?: string;
|
|
5
5
|
ref?: React.Ref<HTMLDivElement>;
|
|
6
|
-
text?: string;
|
|
7
6
|
}
|
|
8
7
|
export declare const ServiceBadge: React.FC<ServiceBadgeProps>;
|
|
9
8
|
export default ServiceBadge;
|
|
@@ -19,14 +19,13 @@ var _PhaseBannerTag = _interopRequireDefault(require("@digigov/react-core/PhaseB
|
|
|
19
19
|
|
|
20
20
|
var _PhaseBannerText = _interopRequireDefault(require("@digigov/react-core/PhaseBannerText"));
|
|
21
21
|
|
|
22
|
-
var _excluded = ["label", "
|
|
22
|
+
var _excluded = ["label", "children"];
|
|
23
23
|
var ServiceBadge = (0, _withDeprecation["default"])(function (_ref) {
|
|
24
24
|
var _ref$label = _ref.label,
|
|
25
25
|
label = _ref$label === void 0 ? 'BETA' : _ref$label,
|
|
26
|
-
text = _ref.text,
|
|
27
26
|
children = _ref.children,
|
|
28
27
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
29
|
-
return /*#__PURE__*/_react["default"].createElement(_PhaseBanner["default"], props,
|
|
28
|
+
return /*#__PURE__*/_react["default"].createElement(_PhaseBanner["default"], props, /*#__PURE__*/_react["default"].createElement(_PhaseBannerTag["default"], null, label), /*#__PURE__*/_react["default"].createElement(_PhaseBannerText["default"], null, children));
|
|
30
29
|
}, {
|
|
31
30
|
name: 'ServiceBadge',
|
|
32
31
|
rename: 'PhaseBanner'
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { defaultTranslate } from '@digigov/ui/app/i18n';
|
|
6
|
+
import { useTranslation } from '@digigov/ui/app';
|
|
7
|
+
|
|
8
|
+
var isObject = function isObject(value) {
|
|
9
|
+
return !!(value && _typeof(value) === 'object' && !Array.isArray(value));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
var resultTranslate = function resultTranslate(translation, children) {
|
|
13
|
+
var parser = new DOMParser();
|
|
14
|
+
|
|
15
|
+
var childrenCloned = _toConsumableArray(children);
|
|
16
|
+
|
|
17
|
+
console.log('children cloned are', childrenCloned);
|
|
18
|
+
var doc1 = parser.parseFromString("<div>".concat(translation.replace(/<([0-9])>/g, '<t$1>').replace(/<\/([0-9])>/g, '</t$1>'), "</div>"), 'application/xml');
|
|
19
|
+
return recursiveReplace(childrenCloned, doc1.children[0].childNodes);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var recursiveReplace = function recursiveReplace(original, translation) {
|
|
23
|
+
if (!Array.isArray(original)) {
|
|
24
|
+
original = [original];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
original.forEach(function (element, i) {
|
|
28
|
+
if (typeof element === 'string' || typeof element === 'number') {
|
|
29
|
+
var text = [];
|
|
30
|
+
var regex = /{([^}]+)}/;
|
|
31
|
+
|
|
32
|
+
if (regex.test(translation[i].textContent)) {
|
|
33
|
+
var textArray = translation[i].textContent.split(' ');
|
|
34
|
+
console.log('textArray is', textArray);
|
|
35
|
+
|
|
36
|
+
if (textArray.length === 1) {
|
|
37
|
+
return false;
|
|
38
|
+
} else {
|
|
39
|
+
textArray.forEach(function (txt) {
|
|
40
|
+
if (!regex.test(txt)) {
|
|
41
|
+
text.push(txt);
|
|
42
|
+
} else {
|
|
43
|
+
text.push(original[i]);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return original[i] = text.join(' ');
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
return original[i] = translation[i].textContent;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (isObject(element)) {
|
|
54
|
+
original[i] = /*#__PURE__*/React.cloneElement(original[i], _extends({}, original[i].props, {
|
|
55
|
+
children: recursiveReplace(original[i].props.children, translation[i].childNodes)
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return original;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export var I18nText = function I18nText(_ref) {
|
|
63
|
+
var i18nKey = _ref.i18nKey,
|
|
64
|
+
children = _ref.children;
|
|
65
|
+
var translation = defaultTranslate(i18nKey);
|
|
66
|
+
var result = resultTranslate(translation, children);
|
|
67
|
+
|
|
68
|
+
var _useTranslation = useTranslation(),
|
|
69
|
+
Trans = _useTranslation.Trans;
|
|
70
|
+
|
|
71
|
+
if (Trans) {
|
|
72
|
+
return /*#__PURE__*/React.createElement(Trans, {
|
|
73
|
+
i18nKey: i18nKey
|
|
74
|
+
}, children);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, result);
|
|
78
|
+
};
|
|
79
|
+
export default I18nText;
|
package/es/app/i18n.js
CHANGED
|
@@ -3,8 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
var _excluded = ["t", "children"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import el from '@digigov/ui/locales/el';
|
|
6
|
-
|
|
7
|
-
var defaultTranslate = function defaultTranslate(key) {
|
|
6
|
+
export var defaultTranslate = function defaultTranslate(key) {
|
|
8
7
|
try {
|
|
9
8
|
if (key.split('.').length > 0) {
|
|
10
9
|
return key.split('.').reduce(function (locale, path) {
|
|
@@ -20,7 +19,6 @@ var defaultTranslate = function defaultTranslate(key) {
|
|
|
20
19
|
return key;
|
|
21
20
|
}
|
|
22
21
|
};
|
|
23
|
-
|
|
24
22
|
export var I18NContext = /*#__PURE__*/React.createContext({
|
|
25
23
|
t: defaultTranslate
|
|
26
24
|
});
|
package/es/app/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export * from '@digigov/ui/app/App';
|
|
|
2
2
|
export * from '@digigov/ui/app/PageTitle';
|
|
3
3
|
export * from '@digigov/ui/app/QrCodeScanner';
|
|
4
4
|
export * from '@digigov/ui/app/Header';
|
|
5
|
-
export * from '@digigov/ui/app/i18n';
|
|
5
|
+
export * from '@digigov/ui/app/i18n';
|
|
6
|
+
export * from '@digigov/ui/app/I18nText';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import CorePaginationLabel from '@digigov/react-extensions/admin/PaginationLabel';
|
|
3
|
-
import {
|
|
3
|
+
import { I18nText } from '@digigov/ui/app/I18nText';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* PaginationLabel component is used for placing the pagination results label.
|
|
@@ -9,12 +9,10 @@ export var PaginationLabel = /*#__PURE__*/React.forwardRef(function PaginationLa
|
|
|
9
9
|
var start = _ref.start,
|
|
10
10
|
end = _ref.end,
|
|
11
11
|
total = _ref.total;
|
|
12
|
-
|
|
13
|
-
var _useTranslation = useTranslation(),
|
|
14
|
-
t = _useTranslation.t;
|
|
15
|
-
|
|
16
12
|
return /*#__PURE__*/React.createElement(CorePaginationLabel, {
|
|
17
13
|
ref: ref
|
|
18
|
-
},
|
|
14
|
+
}, /*#__PURE__*/React.createElement(I18nText, {
|
|
15
|
+
i18nKey: "pagination.label"
|
|
16
|
+
}, "Showing ", /*#__PURE__*/React.createElement("b", null, start), " to ", /*#__PURE__*/React.createElement("b", null, end), " of ", /*#__PURE__*/React.createElement("b", null, total), " results."));
|
|
19
17
|
});
|
|
20
18
|
export default PaginationLabel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
-
var _excluded = ["label", "
|
|
2
|
+
var _excluded = ["label", "children"];
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import withDeprecation from '@digigov/ui/utils/withDeprecation';
|
|
5
5
|
import PhaseBanner from '@digigov/react-core/PhaseBanner';
|
|
@@ -8,11 +8,10 @@ import PhaseBannerText from '@digigov/react-core/PhaseBannerText';
|
|
|
8
8
|
export var ServiceBadge = withDeprecation(function (_ref) {
|
|
9
9
|
var _ref$label = _ref.label,
|
|
10
10
|
label = _ref$label === void 0 ? 'BETA' : _ref$label,
|
|
11
|
-
text = _ref.text,
|
|
12
11
|
children = _ref.children,
|
|
13
12
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
14
13
|
|
|
15
|
-
return /*#__PURE__*/React.createElement(PhaseBanner, props,
|
|
14
|
+
return /*#__PURE__*/React.createElement(PhaseBanner, props, /*#__PURE__*/React.createElement(PhaseBannerTag, null, label), /*#__PURE__*/React.createElement(PhaseBannerText, null, children));
|
|
16
15
|
}, {
|
|
17
16
|
name: 'ServiceBadge',
|
|
18
17
|
rename: 'PhaseBanner'
|
package/es/locales/el.js
CHANGED
|
@@ -56,6 +56,13 @@ export default {
|
|
|
56
56
|
show: 'Εμφανίζονται',
|
|
57
57
|
to: 'έως',
|
|
58
58
|
of: 'από',
|
|
59
|
-
results: 'αποτελέσματα'
|
|
59
|
+
results: 'αποτελέσματα',
|
|
60
|
+
label: 'Εμφανίζονται <1>{{start}}</1> έως <3>{{end}}</3> από <5>{{total}}</5> αποτελέσματα.'
|
|
61
|
+
},
|
|
62
|
+
upload: {
|
|
63
|
+
file: 'Αρχείο',
|
|
64
|
+
choose_file: 'Επιλογή αρχείου',
|
|
65
|
+
change_file: 'Αντικατάσταση αρχείου',
|
|
66
|
+
no_file: 'Δεν έχετε επιλέξει αρχείο'
|
|
60
67
|
}
|
|
61
68
|
};
|
package/es/locales/en.js
CHANGED
|
@@ -56,6 +56,13 @@ export default {
|
|
|
56
56
|
show: 'Showing',
|
|
57
57
|
to: 'to',
|
|
58
58
|
of: 'of',
|
|
59
|
-
results: 'results'
|
|
59
|
+
results: 'results',
|
|
60
|
+
label: 'Showing <b>{start}</b> to <b>{end}</b> of <b>{total}</b> results'
|
|
61
|
+
},
|
|
62
|
+
upload: {
|
|
63
|
+
file: 'File',
|
|
64
|
+
choose_file: 'Choose file',
|
|
65
|
+
change_file: 'Change file',
|
|
66
|
+
no_file: 'You have not selected a file'
|
|
60
67
|
}
|
|
61
68
|
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { defaultTranslate } from '@digigov/ui/app/i18n';
|
|
6
|
+
import { useTranslation } from '@digigov/ui/app';
|
|
7
|
+
|
|
8
|
+
var isObject = function isObject(value) {
|
|
9
|
+
return !!(value && _typeof(value) === 'object' && !Array.isArray(value));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
var resultTranslate = function resultTranslate(translation, children) {
|
|
13
|
+
var parser = new DOMParser();
|
|
14
|
+
|
|
15
|
+
var childrenCloned = _toConsumableArray(children);
|
|
16
|
+
|
|
17
|
+
console.log('children cloned are', childrenCloned);
|
|
18
|
+
var doc1 = parser.parseFromString("<div>".concat(translation.replace(/<([0-9])>/g, '<t$1>').replace(/<\/([0-9])>/g, '</t$1>'), "</div>"), 'application/xml');
|
|
19
|
+
return recursiveReplace(childrenCloned, doc1.children[0].childNodes);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var recursiveReplace = function recursiveReplace(original, translation) {
|
|
23
|
+
if (!Array.isArray(original)) {
|
|
24
|
+
original = [original];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
original.forEach(function (element, i) {
|
|
28
|
+
if (typeof element === 'string' || typeof element === 'number') {
|
|
29
|
+
var text = [];
|
|
30
|
+
var regex = /{([^}]+)}/;
|
|
31
|
+
|
|
32
|
+
if (regex.test(translation[i].textContent)) {
|
|
33
|
+
var textArray = translation[i].textContent.split(' ');
|
|
34
|
+
console.log('textArray is', textArray);
|
|
35
|
+
|
|
36
|
+
if (textArray.length === 1) {
|
|
37
|
+
return false;
|
|
38
|
+
} else {
|
|
39
|
+
textArray.forEach(function (txt) {
|
|
40
|
+
if (!regex.test(txt)) {
|
|
41
|
+
text.push(txt);
|
|
42
|
+
} else {
|
|
43
|
+
text.push(original[i]);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return original[i] = text.join(' ');
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
return original[i] = translation[i].textContent;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (isObject(element)) {
|
|
54
|
+
original[i] = /*#__PURE__*/React.cloneElement(original[i], _extends({}, original[i].props, {
|
|
55
|
+
children: recursiveReplace(original[i].props.children, translation[i].childNodes)
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return original;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export var I18nText = function I18nText(_ref) {
|
|
63
|
+
var i18nKey = _ref.i18nKey,
|
|
64
|
+
children = _ref.children;
|
|
65
|
+
var translation = defaultTranslate(i18nKey);
|
|
66
|
+
var result = resultTranslate(translation, children);
|
|
67
|
+
|
|
68
|
+
var _useTranslation = useTranslation(),
|
|
69
|
+
Trans = _useTranslation.Trans;
|
|
70
|
+
|
|
71
|
+
if (Trans) {
|
|
72
|
+
return /*#__PURE__*/React.createElement(Trans, {
|
|
73
|
+
i18nKey: i18nKey
|
|
74
|
+
}, children);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, result);
|
|
78
|
+
};
|
|
79
|
+
export default I18nText;
|
package/esm/app/i18n.js
CHANGED
|
@@ -3,8 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
var _excluded = ["t", "children"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import el from '@digigov/ui/locales/el';
|
|
6
|
-
|
|
7
|
-
var defaultTranslate = function defaultTranslate(key) {
|
|
6
|
+
export var defaultTranslate = function defaultTranslate(key) {
|
|
8
7
|
try {
|
|
9
8
|
if (key.split('.').length > 0) {
|
|
10
9
|
return key.split('.').reduce(function (locale, path) {
|
|
@@ -20,7 +19,6 @@ var defaultTranslate = function defaultTranslate(key) {
|
|
|
20
19
|
return key;
|
|
21
20
|
}
|
|
22
21
|
};
|
|
23
|
-
|
|
24
22
|
export var I18NContext = /*#__PURE__*/React.createContext({
|
|
25
23
|
t: defaultTranslate
|
|
26
24
|
});
|
package/esm/app/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export * from '@digigov/ui/app/App';
|
|
|
2
2
|
export * from '@digigov/ui/app/PageTitle';
|
|
3
3
|
export * from '@digigov/ui/app/QrCodeScanner';
|
|
4
4
|
export * from '@digigov/ui/app/Header';
|
|
5
|
-
export * from '@digigov/ui/app/i18n';
|
|
5
|
+
export * from '@digigov/ui/app/i18n';
|
|
6
|
+
export * from '@digigov/ui/app/I18nText';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import CorePaginationLabel from '@digigov/react-extensions/admin/PaginationLabel';
|
|
3
|
-
import {
|
|
3
|
+
import { I18nText } from '@digigov/ui/app/I18nText';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* PaginationLabel component is used for placing the pagination results label.
|
|
@@ -9,12 +9,10 @@ export var PaginationLabel = /*#__PURE__*/React.forwardRef(function PaginationLa
|
|
|
9
9
|
var start = _ref.start,
|
|
10
10
|
end = _ref.end,
|
|
11
11
|
total = _ref.total;
|
|
12
|
-
|
|
13
|
-
var _useTranslation = useTranslation(),
|
|
14
|
-
t = _useTranslation.t;
|
|
15
|
-
|
|
16
12
|
return /*#__PURE__*/React.createElement(CorePaginationLabel, {
|
|
17
13
|
ref: ref
|
|
18
|
-
},
|
|
14
|
+
}, /*#__PURE__*/React.createElement(I18nText, {
|
|
15
|
+
i18nKey: "pagination.label"
|
|
16
|
+
}, "Showing ", /*#__PURE__*/React.createElement("b", null, start), " to ", /*#__PURE__*/React.createElement("b", null, end), " of ", /*#__PURE__*/React.createElement("b", null, total), " results."));
|
|
19
17
|
});
|
|
20
18
|
export default PaginationLabel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
-
var _excluded = ["label", "
|
|
2
|
+
var _excluded = ["label", "children"];
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import withDeprecation from '@digigov/ui/utils/withDeprecation';
|
|
5
5
|
import PhaseBanner from '@digigov/react-core/PhaseBanner';
|
|
@@ -8,11 +8,10 @@ import PhaseBannerText from '@digigov/react-core/PhaseBannerText';
|
|
|
8
8
|
export var ServiceBadge = withDeprecation(function (_ref) {
|
|
9
9
|
var _ref$label = _ref.label,
|
|
10
10
|
label = _ref$label === void 0 ? 'BETA' : _ref$label,
|
|
11
|
-
text = _ref.text,
|
|
12
11
|
children = _ref.children,
|
|
13
12
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
14
13
|
|
|
15
|
-
return /*#__PURE__*/React.createElement(PhaseBanner, props,
|
|
14
|
+
return /*#__PURE__*/React.createElement(PhaseBanner, props, /*#__PURE__*/React.createElement(PhaseBannerTag, null, label), /*#__PURE__*/React.createElement(PhaseBannerText, null, children));
|
|
16
15
|
}, {
|
|
17
16
|
name: 'ServiceBadge',
|
|
18
17
|
rename: 'PhaseBanner'
|
package/esm/index.js
CHANGED
package/esm/locales/el.js
CHANGED
|
@@ -56,6 +56,13 @@ export default {
|
|
|
56
56
|
show: 'Εμφανίζονται',
|
|
57
57
|
to: 'έως',
|
|
58
58
|
of: 'από',
|
|
59
|
-
results: 'αποτελέσματα'
|
|
59
|
+
results: 'αποτελέσματα',
|
|
60
|
+
label: 'Εμφανίζονται <1>{{start}}</1> έως <3>{{end}}</3> από <5>{{total}}</5> αποτελέσματα.'
|
|
61
|
+
},
|
|
62
|
+
upload: {
|
|
63
|
+
file: 'Αρχείο',
|
|
64
|
+
choose_file: 'Επιλογή αρχείου',
|
|
65
|
+
change_file: 'Αντικατάσταση αρχείου',
|
|
66
|
+
no_file: 'Δεν έχετε επιλέξει αρχείο'
|
|
60
67
|
}
|
|
61
68
|
};
|
package/esm/locales/en.js
CHANGED
|
@@ -56,6 +56,13 @@ export default {
|
|
|
56
56
|
show: 'Showing',
|
|
57
57
|
to: 'to',
|
|
58
58
|
of: 'of',
|
|
59
|
-
results: 'results'
|
|
59
|
+
results: 'results',
|
|
60
|
+
label: 'Showing <b>{start}</b> to <b>{end}</b> of <b>{total}</b> results'
|
|
61
|
+
},
|
|
62
|
+
upload: {
|
|
63
|
+
file: 'File',
|
|
64
|
+
choose_file: 'Choose file',
|
|
65
|
+
change_file: 'Change file',
|
|
66
|
+
no_file: 'You have not selected a file'
|
|
60
67
|
}
|
|
61
68
|
};
|
package/locales/el.d.ts
CHANGED
package/locales/el.js
CHANGED
|
@@ -62,7 +62,14 @@ var _default = {
|
|
|
62
62
|
show: 'Εμφανίζονται',
|
|
63
63
|
to: 'έως',
|
|
64
64
|
of: 'από',
|
|
65
|
-
results: 'αποτελέσματα'
|
|
65
|
+
results: 'αποτελέσματα',
|
|
66
|
+
label: 'Εμφανίζονται <1>{{start}}</1> έως <3>{{end}}</3> από <5>{{total}}</5> αποτελέσματα.'
|
|
67
|
+
},
|
|
68
|
+
upload: {
|
|
69
|
+
file: 'Αρχείο',
|
|
70
|
+
choose_file: 'Επιλογή αρχείου',
|
|
71
|
+
change_file: 'Αντικατάσταση αρχείου',
|
|
72
|
+
no_file: 'Δεν έχετε επιλέξει αρχείο'
|
|
66
73
|
}
|
|
67
74
|
};
|
|
68
75
|
exports["default"] = _default;
|
package/locales/en.d.ts
CHANGED
package/locales/en.js
CHANGED
|
@@ -62,7 +62,14 @@ var _default = {
|
|
|
62
62
|
show: 'Showing',
|
|
63
63
|
to: 'to',
|
|
64
64
|
of: 'of',
|
|
65
|
-
results: 'results'
|
|
65
|
+
results: 'results',
|
|
66
|
+
label: 'Showing <b>{start}</b> to <b>{end}</b> of <b>{total}</b> results'
|
|
67
|
+
},
|
|
68
|
+
upload: {
|
|
69
|
+
file: 'File',
|
|
70
|
+
choose_file: 'Choose file',
|
|
71
|
+
change_file: 'Change file',
|
|
72
|
+
no_file: 'You have not selected a file'
|
|
66
73
|
}
|
|
67
74
|
};
|
|
68
75
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digigov/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "@digigov reusable components toolkit",
|
|
5
5
|
"module": "./esm/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"clsx": "1.1.1",
|
|
19
19
|
"react": "16.14.0",
|
|
20
20
|
"react-dom": "16.14.0",
|
|
21
|
-
"@digigov/react-core": "0.
|
|
22
|
-
"@digigov/react-extensions": "0.
|
|
21
|
+
"@digigov/react-core": "0.11.0",
|
|
22
|
+
"@digigov/react-extensions": "0.10.0"
|
|
23
23
|
},
|
|
24
24
|
"gitHead": "c903a46306f77f55ad7fc4d2e274006f39a6c871",
|
|
25
25
|
"private": false,
|