keycloakify 5.4.4 → 6.0.0-beta.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/kcMessages.d.ts +1 -0
- package/kcMessages.js +14 -0
- package/kcMessages.js.map +1 -0
- package/lib/components/Error.d.ts +3 -1
- package/lib/components/Error.js +3 -4
- package/lib/components/Error.js.map +1 -1
- package/lib/components/Info.d.ts +3 -1
- package/lib/components/Info.js +3 -4
- package/lib/components/Info.js.map +1 -1
- package/lib/components/KcApp.d.ts +3 -1
- package/lib/components/KcApp.js +15 -15
- package/lib/components/KcApp.js.map +1 -1
- package/lib/components/Login.d.ts +3 -1
- package/lib/components/Login.js +3 -4
- package/lib/components/Login.js.map +1 -1
- package/lib/components/LoginIdpLinkConfirm.d.ts +3 -1
- package/lib/components/LoginIdpLinkConfirm.js +3 -4
- package/lib/components/LoginIdpLinkConfirm.js.map +1 -1
- package/lib/components/LoginIdpLinkEmail.d.ts +3 -1
- package/lib/components/LoginIdpLinkEmail.js +3 -4
- package/lib/components/LoginIdpLinkEmail.js.map +1 -1
- package/lib/components/LoginOtp.d.ts +3 -1
- package/lib/components/LoginOtp.js +3 -4
- package/lib/components/LoginOtp.js.map +1 -1
- package/lib/components/LoginPageExpired.d.ts +3 -1
- package/lib/components/LoginPageExpired.js +3 -4
- package/lib/components/LoginPageExpired.js.map +1 -1
- package/lib/components/LoginResetPassword.d.ts +3 -1
- package/lib/components/LoginResetPassword.js +3 -4
- package/lib/components/LoginResetPassword.js.map +1 -1
- package/lib/components/LoginUpdatePassword.d.ts +3 -1
- package/lib/components/LoginUpdatePassword.js +3 -4
- package/lib/components/LoginUpdatePassword.js.map +1 -1
- package/lib/components/LoginUpdateProfile.d.ts +3 -1
- package/lib/components/LoginUpdateProfile.js +3 -4
- package/lib/components/LoginUpdateProfile.js.map +1 -1
- package/lib/components/LoginVerifyEmail.d.ts +3 -1
- package/lib/components/LoginVerifyEmail.js +3 -4
- package/lib/components/LoginVerifyEmail.js.map +1 -1
- package/lib/components/Register.d.ts +3 -1
- package/lib/components/Register.js +3 -4
- package/lib/components/Register.js.map +1 -1
- package/lib/components/RegisterUserProfile.d.ts +3 -1
- package/lib/components/RegisterUserProfile.js +6 -6
- package/lib/components/RegisterUserProfile.js.map +1 -1
- package/lib/components/Template.d.ts +2 -0
- package/lib/components/Template.js +2 -2
- package/lib/components/Template.js.map +1 -1
- package/lib/components/Terms.d.ts +4 -2
- package/lib/components/Terms.js +8 -8
- package/lib/components/Terms.js.map +1 -1
- package/lib/i18n/index.d.ts +17 -5248
- package/lib/i18n/index.js +76 -51
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/kcMessages.d.ts +5222 -0
- package/lib/i18n/kcMessages.js +19 -0
- package/lib/i18n/kcMessages.js.map +1 -0
- package/lib/tools/createObjectThatThrowsIfAccessed.d.ts +3 -0
- package/lib/tools/createObjectThatThrowsIfAccessed.js +39 -0
- package/lib/tools/createObjectThatThrowsIfAccessed.js.map +1 -0
- package/lib/useFormValidationSlice.d.ts +3 -0
- package/lib/useFormValidationSlice.js +4 -4
- package/lib/useFormValidationSlice.js.map +1 -1
- package/package.json +13 -2
- package/src/kcMessages.ts +1 -0
- package/src/lib/components/Error.tsx +4 -4
- package/src/lib/components/Info.tsx +5 -5
- package/src/lib/components/KcApp.tsx +16 -15
- package/src/lib/components/Login.tsx +4 -4
- package/src/lib/components/LoginIdpLinkConfirm.tsx +39 -37
- package/src/lib/components/LoginIdpLinkEmail.tsx +27 -25
- package/src/lib/components/LoginOtp.tsx +4 -4
- package/src/lib/components/LoginPageExpired.tsx +31 -29
- package/src/lib/components/LoginResetPassword.tsx +60 -53
- package/src/lib/components/LoginUpdatePassword.tsx +98 -96
- package/src/lib/components/LoginUpdateProfile.tsx +100 -92
- package/src/lib/components/LoginVerifyEmail.tsx +25 -23
- package/src/lib/components/Register.tsx +4 -4
- package/src/lib/components/RegisterUserProfile.tsx +68 -55
- package/src/lib/components/Template.tsx +5 -3
- package/src/lib/components/Terms.tsx +14 -8
- package/src/lib/i18n/index.tsx +76 -49
- package/src/lib/i18n/kcMessages.ts +24 -0
- package/src/lib/tools/createObjectThatThrowsIfAccessed.ts +18 -0
- package/src/lib/useFormValidationSlice.tsx +7 -4
package/lib/i18n/index.js
CHANGED
@@ -14,17 +14,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.
|
17
|
+
exports.createUseI18n = exports.changeLocale = exports.getTagLabel = exports.getCurrentKcLanguageTag = exports.kcLanguageTags = void 0;
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
19
19
|
require("minimal-polyfills/Object.fromEntries");
|
20
20
|
//NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
|
21
21
|
var react_markdown_1 = __importDefault(require("react-markdown"));
|
22
|
-
var memoizee_1 = __importDefault(require("memoizee"));
|
23
|
-
var login_1 = require("./generated_kcMessages/15.0.2/login");
|
24
22
|
var assert_1 = require("tsafe/assert");
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
var createObjectThatThrowsIfAccessed_1 = require("../tools/createObjectThatThrowsIfAccessed");
|
24
|
+
var evt_1 = require("evt");
|
25
|
+
var hooks_1 = require("evt/hooks");
|
26
|
+
var react_1 = require("react");
|
28
27
|
exports.kcLanguageTags = [
|
29
28
|
"en",
|
30
29
|
"fr",
|
@@ -80,8 +79,8 @@ function changeLocale(params) {
|
|
80
79
|
exports.changeLocale = changeLocale;
|
81
80
|
function resolveMsg(props) {
|
82
81
|
var _a;
|
83
|
-
var key = props.key, args = props.args, kcLanguageTag = props.kcLanguageTag, doRenderMarkdown = props.doRenderMarkdown;
|
84
|
-
var str = (_a =
|
82
|
+
var key = props.key, args = props.args, kcLanguageTag = props.kcLanguageTag, doRenderMarkdown = props.doRenderMarkdown, kcMessages = props.kcMessages;
|
83
|
+
var str = (_a = kcMessages[kcLanguageTag][key]) !== null && _a !== void 0 ? _a : kcMessages["en"][key];
|
85
84
|
if (str === undefined) {
|
86
85
|
return undefined;
|
87
86
|
}
|
@@ -103,7 +102,7 @@ function resolveMsg(props) {
|
|
103
102
|
return (doRenderMarkdown ? ((0, jsx_runtime_1.jsx)(react_markdown_1.default, __assign({ allowDangerousHtml: true, renderers: key === "termsText" ? undefined : { "paragraph": "span" } }, { children: str }), void 0)) : (str));
|
104
103
|
}
|
105
104
|
function resolveMsgAdvanced(props) {
|
106
|
-
var key = props.key, args = props.args, kcLanguageTag = props.kcLanguageTag, doRenderMarkdown = props.doRenderMarkdown;
|
105
|
+
var key = props.key, args = props.args, kcLanguageTag = props.kcLanguageTag, doRenderMarkdown = props.doRenderMarkdown, kcMessages = props.kcMessages;
|
107
106
|
var match = key.match(/^\$\{([^{]+)\}$/);
|
108
107
|
var keyUnwrappedFromCurlyBraces = match === null ? key : match[1];
|
109
108
|
var out = resolveMsg({
|
@@ -111,55 +110,81 @@ function resolveMsgAdvanced(props) {
|
|
111
110
|
args: args,
|
112
111
|
kcLanguageTag: kcLanguageTag,
|
113
112
|
doRenderMarkdown: doRenderMarkdown,
|
113
|
+
kcMessages: kcMessages,
|
114
114
|
});
|
115
115
|
return (out !== undefined ? out : doRenderMarkdown ? (0, jsx_runtime_1.jsx)("span", { children: keyUnwrappedFromCurlyBraces }, void 0) : keyUnwrappedFromCurlyBraces);
|
116
116
|
}
|
117
117
|
/**
|
118
|
-
* When the language is switched the page is reloaded, this may appear
|
119
|
-
* as a bug as you might notice that the language successfully switch before
|
120
|
-
* reload.
|
121
|
-
* However we need to tell Keycloak that the user have changed the language
|
122
|
-
* during login so we can retrieve the "local" field of the JWT encoded accessToken.
|
123
|
-
* https://user-images.githubusercontent.com/6702424/138096682-351bb61f-f24e-4caf-91b7-cca8cfa2cb58.mov
|
124
|
-
*
|
125
118
|
* advancedMsg("${access-denied}") === advancedMsg("access-denied") === msg("access-denied")
|
126
119
|
* advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === "not-a-message-key"
|
127
|
-
*
|
128
|
-
*
|
129
|
-
* NOTE: This function is memoized, it always returns the same object for a given kcContext)
|
130
|
-
*
|
131
120
|
*/
|
132
|
-
|
121
|
+
function createUseI18n(props) {
|
122
|
+
var kcContext = props.kcContext, kcMessagesOrFetchKcMessages = props.kcMessages;
|
123
|
+
if (kcContext === undefined) {
|
124
|
+
return (0, createObjectThatThrowsIfAccessed_1.createObjectThatThrowsIfAccessed)({ "debugMessage": "Can't use Keycloakify i18n outside of keycloak" });
|
125
|
+
}
|
126
|
+
var evtKcMessages = (function () {
|
127
|
+
var evtKcMessages = evt_1.Evt.create(undefined);
|
128
|
+
if (typeof kcMessagesOrFetchKcMessages === "function") {
|
129
|
+
kcMessagesOrFetchKcMessages().then(function (kcMessages) { return (evtKcMessages.state = kcMessages); });
|
130
|
+
}
|
131
|
+
else {
|
132
|
+
evtKcMessages.state = kcMessagesOrFetchKcMessages;
|
133
|
+
}
|
134
|
+
return { evtKcMessages: evtKcMessages };
|
135
|
+
})().evtKcMessages;
|
136
|
+
evt_1.Evt.factorize(typeof kcMessagesOrFetchKcMessages === "function"
|
137
|
+
? evt_1.Evt.from(kcMessagesOrFetchKcMessages()).toStateful()
|
138
|
+
: evt_1.Evt.create(kcMessagesOrFetchKcMessages));
|
133
139
|
var kcLanguageTag = getCurrentKcLanguageTag(kcContext);
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
}
|
147
|
-
return resolveMsg({ key: key, args: args, kcLanguageTag: kcLanguageTag, "doRenderMarkdown": true });
|
148
|
-
},
|
149
|
-
"advancedMsg": function (key) {
|
150
|
-
var args = [];
|
151
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
152
|
-
args[_i - 1] = arguments[_i];
|
140
|
+
function useI18n() {
|
141
|
+
(0, hooks_1.useRerenderOnStateChange)(evtKcMessages);
|
142
|
+
var i18n = (0, react_1.useMemo)(function () {
|
143
|
+
var kcMessages = evtKcMessages.state;
|
144
|
+
if (kcMessages === undefined) {
|
145
|
+
return {
|
146
|
+
"msgStr": function () { return ""; },
|
147
|
+
"msg": function () { return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}, void 0); },
|
148
|
+
"advancedMsg": function () { return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}, void 0); },
|
149
|
+
"advancedMsgStr": function () { return ""; },
|
150
|
+
evtKcMessages: evtKcMessages,
|
151
|
+
};
|
153
152
|
}
|
154
|
-
return
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
153
|
+
return {
|
154
|
+
"msgStr": function (key) {
|
155
|
+
var args = [];
|
156
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
157
|
+
args[_i - 1] = arguments[_i];
|
158
|
+
}
|
159
|
+
return resolveMsg({ key: key, args: args, kcLanguageTag: kcLanguageTag, "doRenderMarkdown": false, kcMessages: kcMessages });
|
160
|
+
},
|
161
|
+
"msg": function (key) {
|
162
|
+
var args = [];
|
163
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
164
|
+
args[_i - 1] = arguments[_i];
|
165
|
+
}
|
166
|
+
return resolveMsg({ key: key, args: args, kcLanguageTag: kcLanguageTag, "doRenderMarkdown": true, kcMessages: kcMessages });
|
167
|
+
},
|
168
|
+
"advancedMsg": function (key) {
|
169
|
+
var args = [];
|
170
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
171
|
+
args[_i - 1] = arguments[_i];
|
172
|
+
}
|
173
|
+
return resolveMsgAdvanced({ key: key, args: args, kcLanguageTag: kcLanguageTag, "doRenderMarkdown": true, kcMessages: kcMessages });
|
174
|
+
},
|
175
|
+
"advancedMsgStr": function (key) {
|
176
|
+
var args = [];
|
177
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
178
|
+
args[_i - 1] = arguments[_i];
|
179
|
+
}
|
180
|
+
return resolveMsgAdvanced({ key: key, args: args, kcLanguageTag: kcLanguageTag, "doRenderMarkdown": false, kcMessages: kcMessages });
|
181
|
+
},
|
182
|
+
evtKcMessages: evtKcMessages,
|
183
|
+
};
|
184
|
+
}, [evtKcMessages.state]);
|
185
|
+
return i18n;
|
186
|
+
}
|
187
|
+
return { useI18n: useI18n };
|
188
|
+
}
|
189
|
+
exports.createUseI18n = createUseI18n;
|
165
190
|
//# sourceMappingURL=index.js.map
|
package/lib/i18n/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/i18n/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,kIAAkI;AAClI,kEAA2C;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/i18n/index.tsx"],"names":[],"mappings":"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"}
|