keycloakify 10.0.0-rc.19 → 10.0.0-rc.20
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/bin/main.js +47 -19
- package/bin/shared/constants.d.ts +1 -0
- package/bin/shared/constants.js +2 -1
- package/bin/shared/constants.js.map +1 -1
- package/login/i18n/i18n.d.ts +2 -1
- package/login/i18n/i18n.js +25 -14
- package/login/i18n/i18n.js.map +1 -1
- package/login/kcContext/KcContext.d.ts +1 -0
- package/login/kcContext/KcContext.js +1 -0
- package/login/kcContext/KcContext.js.map +1 -1
- package/login/kcContext/kcContextMocks.js +2 -1
- package/login/kcContext/kcContextMocks.js.map +1 -1
- package/login/lib/useDownloadTerms.js +5 -6
- package/login/lib/useDownloadTerms.js.map +1 -1
- package/package.json +24 -3
- package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +20 -25
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +7 -3
- package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +36 -7
- package/src/bin/shared/constants.ts +2 -0
- package/src/bin/start-keycloak/appBuild.ts +10 -9
- package/src/bin/start-keycloak/start-keycloak.ts +0 -2
- package/src/login/i18n/i18n.tsx +36 -20
- package/src/login/kcContext/KcContext.ts +15 -1
- package/src/login/kcContext/kcContextMocks.ts +2 -1
- package/src/login/lib/useDownloadTerms.ts +8 -6
- package/src/tools/StatefulObservable/README.md +16 -0
- package/src/tools/StatefulObservable/StatefulObservable.ts +58 -0
- package/src/tools/StatefulObservable/hooks/index.ts +2 -0
- package/src/tools/StatefulObservable/hooks/useObservable.ts +25 -0
- package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +19 -0
- package/src/tools/StatefulObservable/index.ts +2 -0
- package/tools/StatefulObservable/StatefulObservable.d.ts +8 -0
- package/tools/StatefulObservable/StatefulObservable.js +36 -0
- package/tools/StatefulObservable/StatefulObservable.js.map +1 -0
- package/tools/StatefulObservable/hooks/index.d.ts +2 -0
- package/tools/StatefulObservable/hooks/index.js +3 -0
- package/tools/StatefulObservable/hooks/index.js.map +1 -0
- package/tools/StatefulObservable/hooks/useObservable.d.ts +8 -0
- package/tools/StatefulObservable/hooks/useObservable.js +17 -0
- package/tools/StatefulObservable/hooks/useObservable.js.map +1 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +5 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js +14 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -0
- package/tools/StatefulObservable/index.d.ts +2 -0
- package/tools/StatefulObservable/index.js +3 -0
- package/tools/StatefulObservable/index.js.map +1 -0
- package/vite-plugin/index.js +2 -1
package/bin/main.js
CHANGED
@@ -1277,7 +1277,8 @@ function generateFtlFilesCodeFactory(params) {
|
|
1277
1277
|
.replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildOptions.themeVersion)
|
1278
1278
|
.replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
|
1279
1279
|
.replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
|
1280
|
-
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", constants_1.resources_common)
|
1280
|
+
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", constants_1.resources_common)
|
1281
|
+
.replace("lOCALIZATION_REALM_OVERRIDES_USER_PROFILE_PROPERTY_KEY_aaGLsPgGIdeeX", constants_1.nameOfTheLocalizationRealmOverridesUserProfileProperty);
|
1281
1282
|
var ftlObjectToJsCodeDeclaringAnObjectPlaceholder = '{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
|
1282
1283
|
$("head").prepend("<script>\nwindow.".concat(constants_1.nameOfTheGlobal, "=").concat(ftlObjectToJsCodeDeclaringAnObjectPlaceholder, "</script>"));
|
1283
1284
|
// Remove part of the document marked as ignored.
|
@@ -1775,7 +1776,7 @@ function toUTF16(codePoint) {
|
|
1775
1776
|
lowSurrogate.toString(16).padStart(4, "0"));
|
1776
1777
|
}
|
1777
1778
|
}
|
1778
|
-
// Escapes special characters
|
1779
|
+
// Escapes special characters for use in a .properties file
|
1779
1780
|
function escapeString(str) {
|
1780
1781
|
var e_5, _a;
|
1781
1782
|
var escapedStr = "";
|
@@ -1785,14 +1786,41 @@ function escapeString(str) {
|
|
1785
1786
|
var codePoint = char.codePointAt(0);
|
1786
1787
|
if (!codePoint)
|
1787
1788
|
continue;
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1789
|
+
switch (char) {
|
1790
|
+
case "\n":
|
1791
|
+
escapedStr += "\\n";
|
1792
|
+
break;
|
1793
|
+
case "\r":
|
1794
|
+
escapedStr += "\\r";
|
1795
|
+
break;
|
1796
|
+
case "\t":
|
1797
|
+
escapedStr += "\\t";
|
1798
|
+
break;
|
1799
|
+
case "\\":
|
1800
|
+
escapedStr += "\\\\";
|
1801
|
+
break;
|
1802
|
+
case ":":
|
1803
|
+
escapedStr += "\\:";
|
1804
|
+
break;
|
1805
|
+
case "=":
|
1806
|
+
escapedStr += "\\=";
|
1807
|
+
break;
|
1808
|
+
case "#":
|
1809
|
+
escapedStr += "\\#";
|
1810
|
+
break;
|
1811
|
+
case "!":
|
1812
|
+
escapedStr += "\\!";
|
1813
|
+
break;
|
1814
|
+
case "'":
|
1815
|
+
escapedStr += "''";
|
1816
|
+
break;
|
1817
|
+
default:
|
1818
|
+
if (codePoint > 0x7f) {
|
1819
|
+
escapedStr += toUTF16(codePoint); // Non-ASCII characters
|
1820
|
+
}
|
1821
|
+
else {
|
1822
|
+
escapedStr += char; // ASCII character needs no escape
|
1823
|
+
}
|
1796
1824
|
}
|
1797
1825
|
}
|
1798
1826
|
}
|
@@ -3855,8 +3883,9 @@ exports.readBuildOptions = readBuildOptions;
|
|
3855
3883
|
"use strict";
|
3856
3884
|
|
3857
3885
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
3858
|
-
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheGlobal = void 0;
|
3886
|
+
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = exports.nameOfTheGlobal = void 0;
|
3859
3887
|
exports.nameOfTheGlobal = "kcContext";
|
3888
|
+
exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = "__localizationRealmOverridesUserProfile";
|
3860
3889
|
exports.keycloak_resources = "keycloak-resources";
|
3861
3890
|
exports.resources_common = "resources-common";
|
3862
3891
|
exports.lastKeycloakVersionWithAccountV1 = "21.1.2";
|
@@ -4934,15 +4963,11 @@ var path_1 = __nccwpck_require__(71017);
|
|
4934
4963
|
(0, assert_1.assert)();
|
4935
4964
|
function appBuild(params) {
|
4936
4965
|
return __awaiter(this, void 0, void 0, function () {
|
4937
|
-
var
|
4966
|
+
var buildOptions, bundler, _a, command, args, cwd, dResult, child, isSuccess;
|
4938
4967
|
return __generator(this, function (_b) {
|
4939
4968
|
switch (_b.label) {
|
4940
4969
|
case 0:
|
4941
|
-
|
4942
|
-
if (doSkipIfReactAppBuildDirExists &&
|
4943
|
-
fs.existsSync(buildOptions.reactAppBuildDirPath)) {
|
4944
|
-
return [2 /*return*/, { isAppBuildSuccess: true }];
|
4945
|
-
}
|
4970
|
+
buildOptions = params.buildOptions;
|
4946
4971
|
bundler = buildOptions.bundler;
|
4947
4972
|
_a = (function () {
|
4948
4973
|
var e_1, _a;
|
@@ -4984,6 +5009,11 @@ function appBuild(params) {
|
|
4984
5009
|
scriptValue.includes("build")) {
|
4985
5010
|
return true;
|
4986
5011
|
}
|
5012
|
+
if (scriptValue.includes("ng") &&
|
5013
|
+
scriptValue.includes("build")) {
|
5014
|
+
return true;
|
5015
|
+
}
|
5016
|
+
return false;
|
4987
5017
|
})) !== null && _b !== void 0 ? _b : [], 1), scriptName = _e[0];
|
4988
5018
|
if (scriptName === undefined) {
|
4989
5019
|
continue;
|
@@ -5340,7 +5370,6 @@ function command(params) {
|
|
5340
5370
|
cliCommandOptions = params.cliCommandOptions;
|
5341
5371
|
buildOptions = (0, buildOptions_1.readBuildOptions)({ cliCommandOptions: cliCommandOptions });
|
5342
5372
|
return [4 /*yield*/, (0, appBuild_1.appBuild)({
|
5343
|
-
doSkipIfReactAppBuildDirExists: true,
|
5344
5373
|
buildOptions: buildOptions
|
5345
5374
|
})];
|
5346
5375
|
case 1:
|
@@ -5640,7 +5669,6 @@ function command(params) {
|
|
5640
5669
|
case 0:
|
5641
5670
|
console.log(chalk_1.default.cyan("Detected changes in the theme. Rebuilding ..."));
|
5642
5671
|
return [4 /*yield*/, (0, appBuild_1.appBuild)({
|
5643
|
-
doSkipIfReactAppBuildDirExists: false,
|
5644
5672
|
buildOptions: buildOptions
|
5645
5673
|
})];
|
5646
5674
|
case 1:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export declare const nameOfTheGlobal = "kcContext";
|
2
|
+
export declare const nameOfTheLocalizationRealmOverridesUserProfileProperty = "__localizationRealmOverridesUserProfile";
|
2
3
|
export declare const keycloak_resources = "keycloak-resources";
|
3
4
|
export declare const resources_common = "resources-common";
|
4
5
|
export declare const lastKeycloakVersionWithAccountV1 = "21.1.2";
|
package/bin/shared/constants.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheGlobal = void 0;
|
3
|
+
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = exports.nameOfTheGlobal = void 0;
|
4
4
|
exports.nameOfTheGlobal = "kcContext";
|
5
|
+
exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = "__localizationRealmOverridesUserProfile";
|
5
6
|
exports.keycloak_resources = "keycloak-resources";
|
6
7
|
exports.resources_common = "resources-common";
|
7
8
|
exports.lastKeycloakVersionWithAccountV1 = "21.1.2";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/shared/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,WAAW,CAAC;AAC9B,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gCAAgC,GAAG,QAAQ,CAAC;AAC5C,QAAA,oCAAoC,GAAG,OAAO,CAAC;AAE/C,QAAA,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC;AAC3C,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAIlC,QAAA,2BAA2B,GAAG;IACvC,kBAAkB,EAAE,mCAAmC;IACvD,iBAAiB,EAAE,iCAAiC;CAC9C,CAAC;AAEE,QAAA,oBAAoB,GAAG,4BAA4B,CAAC;AAEpD,QAAA,iBAAiB,GAAG;IAC7B,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,uBAAuB;IACvB,cAAc;IACd,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,0CAA0C;IAC1C,uBAAuB;IACvB,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;IACpB,uBAAuB;IACvB,UAAU;IACV,4BAA4B;IAC5B,yBAAyB;IACzB,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;CACd,CAAC;AAEE,QAAA,mBAAmB,GAAG;IAC/B,cAAc;IACd,aAAa;IACb,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,SAAS;IACT,uBAAuB;CACjB,CAAC;AAKE,QAAA,aAAa,GAAG,sBAAsB,CAAC"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/shared/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,WAAW,CAAC;AAC9B,QAAA,sDAAsD,GAC/D,yCAAyC,CAAC;AACjC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gCAAgC,GAAG,QAAQ,CAAC;AAC5C,QAAA,oCAAoC,GAAG,OAAO,CAAC;AAE/C,QAAA,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC;AAC3C,QAAA,kBAAkB,GAAG,YAAY,CAAC;AAIlC,QAAA,2BAA2B,GAAG;IACvC,kBAAkB,EAAE,mCAAmC;IACvD,iBAAiB,EAAE,iCAAiC;CAC9C,CAAC;AAEE,QAAA,oBAAoB,GAAG,4BAA4B,CAAC;AAEpD,QAAA,iBAAiB,GAAG;IAC7B,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,uBAAuB;IACvB,cAAc;IACd,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,0CAA0C;IAC1C,uBAAuB;IACvB,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;IACpB,uBAAuB;IACvB,UAAU;IACV,4BAA4B;IAC5B,yBAAyB;IACzB,sCAAsC;IACtC,qCAAqC;IACrC,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;CACd,CAAC;AAEE,QAAA,mBAAmB,GAAG;IAC/B,cAAc;IACd,aAAa;IACb,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,SAAS;IACT,uBAAuB;CACjB,CAAC;AAKE,QAAA,aAAa,GAAG,sBAAsB,CAAC"}
|
package/login/i18n/i18n.d.ts
CHANGED
@@ -11,6 +11,7 @@ export type KcContextLike = {
|
|
11
11
|
label: string;
|
12
12
|
}[];
|
13
13
|
};
|
14
|
+
__localizationRealmOverridesUserProfile: Record<string, string>;
|
14
15
|
};
|
15
16
|
export type MessageKey = keyof typeof fallbackMessages | keyof (typeof keycloakifyExtraMessages)[typeof fallbackLanguageTag];
|
16
17
|
export type GenericI18n<MessageKey extends string> = {
|
@@ -55,7 +56,7 @@ export type GenericI18n<MessageKey extends string> = {
|
|
55
56
|
/**
|
56
57
|
* Examples assuming currentLanguageTag === "en"
|
57
58
|
* advancedMsg("${access-denied} foo bar") === msg("access-denied") + " foo bar" === "Access denied foo bar"
|
58
|
-
* advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === "not-a-message-key"
|
59
|
+
* advancedMsg("${not-a-message-key}") === advancedMsg("not-a-message-key") === "not-a-message-key"
|
59
60
|
*/
|
60
61
|
advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
|
61
62
|
};
|
package/login/i18n/i18n.js
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import "minimal-polyfills/Object.fromEntries";
|
3
|
-
//NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
|
4
3
|
import { useEffect, useState, useRef } from "react";
|
5
4
|
import fallbackMessages from "./baseMessages/en";
|
6
5
|
import { getMessages } from "./baseMessages";
|
7
6
|
import { assert } from "tsafe/assert";
|
8
|
-
import { Markdown } from "../../tools/Markdown";
|
9
7
|
export const fallbackLanguageTag = "en";
|
10
8
|
assert();
|
11
9
|
export function createUseI18n(extraMessages) {
|
@@ -23,7 +21,8 @@ export function createUseI18n(extraMessages) {
|
|
23
21
|
const { currentLanguageTag = fallbackLanguageTag } = (_a = kcContext.locale) !== null && _a !== void 0 ? _a : {};
|
24
22
|
setI18n(Object.assign(Object.assign({}, createI18nTranslationFunctions({
|
25
23
|
fallbackMessages: Object.assign(Object.assign(Object.assign({}, fallbackMessages), ((_b = keycloakifyExtraMessages[fallbackLanguageTag]) !== null && _b !== void 0 ? _b : {})), ((_c = extraMessages[fallbackLanguageTag]) !== null && _c !== void 0 ? _c : {})),
|
26
|
-
messages: Object.assign(Object.assign(Object.assign({}, (await getMessages(currentLanguageTag))), ((_d = keycloakifyExtraMessages[currentLanguageTag]) !== null && _d !== void 0 ? _d : {})), ((_e = extraMessages[currentLanguageTag]) !== null && _e !== void 0 ? _e : {}))
|
24
|
+
messages: Object.assign(Object.assign(Object.assign({}, (await getMessages(currentLanguageTag))), ((_d = keycloakifyExtraMessages[currentLanguageTag]) !== null && _d !== void 0 ? _d : {})), ((_e = extraMessages[currentLanguageTag]) !== null && _e !== void 0 ? _e : {})),
|
25
|
+
__localizationRealmOverridesUserProfile: kcContext.__localizationRealmOverridesUserProfile
|
27
26
|
})), { currentLanguageTag, getChangeLocalUrl: newLanguageTag => {
|
28
27
|
const { locale } = kcContext;
|
29
28
|
assert(locale !== undefined, "Internationalization not enabled");
|
@@ -38,10 +37,10 @@ export function createUseI18n(extraMessages) {
|
|
38
37
|
return { useI18n };
|
39
38
|
}
|
40
39
|
function createI18nTranslationFunctions(params) {
|
41
|
-
const { fallbackMessages, messages } = params;
|
40
|
+
const { fallbackMessages, messages /*__localizationRealmOverridesUserProfile*/ } = params;
|
42
41
|
function resolveMsg(props) {
|
43
42
|
var _a;
|
44
|
-
const { key, args,
|
43
|
+
const { key, args, doRenderAsHtml } = props;
|
45
44
|
const messageOrUndefined = (_a = messages[key]) !== null && _a !== void 0 ? _a : fallbackMessages[key];
|
46
45
|
if (messageOrUndefined === undefined) {
|
47
46
|
return undefined;
|
@@ -60,35 +59,47 @@ function createI18nTranslationFunctions(params) {
|
|
60
59
|
if (arg === undefined) {
|
61
60
|
return;
|
62
61
|
}
|
63
|
-
messageWithArgsInjected = messageWithArgsInjected.replace(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg);
|
62
|
+
messageWithArgsInjected = messageWithArgsInjected.replace(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg.replace(/</g, "<").replace(/>/g, ">"));
|
64
63
|
});
|
65
64
|
return messageWithArgsInjected;
|
66
65
|
})();
|
67
|
-
return
|
66
|
+
return doRenderAsHtml ? (_jsx("span", {
|
67
|
+
// NOTE: The message is trusted. The arguments are not but are escaped.
|
68
|
+
dangerouslySetInnerHTML: {
|
69
|
+
__html: messageWithArgsInjectedIfAny
|
70
|
+
} })) : (messageWithArgsInjectedIfAny);
|
68
71
|
}
|
69
72
|
function resolveMsgAdvanced(props) {
|
70
|
-
const { key, args,
|
73
|
+
const { key, args, doRenderAsHtml } = props;
|
74
|
+
// TODO:
|
75
|
+
/*
|
76
|
+
if( key in __localizationRealmOverridesUserProfile ){
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
}
|
81
|
+
*/
|
71
82
|
const match = key.match(/^\$\{([^{]+)\}$/);
|
72
83
|
const keyUnwrappedFromCurlyBraces = match === null ? key : match[1];
|
73
84
|
const out = resolveMsg({
|
74
85
|
key: keyUnwrappedFromCurlyBraces,
|
75
86
|
args,
|
76
|
-
|
87
|
+
doRenderAsHtml
|
77
88
|
});
|
78
|
-
return (out !== undefined ? out :
|
89
|
+
return (out !== undefined ? out : doRenderAsHtml ? _jsx("span", { children: keyUnwrappedFromCurlyBraces }) : keyUnwrappedFromCurlyBraces);
|
79
90
|
}
|
80
91
|
return {
|
81
|
-
msgStr: (key, ...args) => resolveMsg({ key, args,
|
82
|
-
msg: (key, ...args) => resolveMsg({ key, args,
|
92
|
+
msgStr: (key, ...args) => resolveMsg({ key, args, doRenderAsHtml: false }),
|
93
|
+
msg: (key, ...args) => resolveMsg({ key, args, doRenderAsHtml: true }),
|
83
94
|
advancedMsg: (key, ...args) => resolveMsgAdvanced({
|
84
95
|
key,
|
85
96
|
args,
|
86
|
-
|
97
|
+
doRenderAsHtml: true
|
87
98
|
}),
|
88
99
|
advancedMsgStr: (key, ...args) => resolveMsgAdvanced({
|
89
100
|
key,
|
90
101
|
args,
|
91
|
-
|
102
|
+
doRenderAsHtml: false
|
92
103
|
})
|
93
104
|
};
|
94
105
|
}
|
package/login/i18n/i18n.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":";AAAA,OAAO,sCAAsC,CAAC;AAC9C,
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/KcContext.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/KcContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiDtC,MAAM,EAA2D,CAAC;AAoqBlE,CAAC;IAOG,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;AAC5C,CAAC;AAmBD,MAAM,EAOH,CAAC"}
|
@@ -207,7 +207,8 @@ export const kcContextCommonMock = {
|
|
207
207
|
},
|
208
208
|
scripts: [],
|
209
209
|
isAppInitiatedAction: false,
|
210
|
-
properties: {}
|
210
|
+
properties: {},
|
211
|
+
__localizationRealmOverridesUserProfile: {}
|
211
212
|
};
|
212
213
|
const loginUrl = Object.assign(Object.assign({}, kcContextCommonMock.url), { loginResetCredentialsUrl: "/auth/realms/myrealm/login-actions/reset-credentials?client_id=account&tab_id=HoAx28ja4xg", registrationUrl: "/auth/realms/myrealm/login-actions/registration?client_id=account&tab_id=HoAx28ja4xg", oauth2DeviceVerificationAction: "/auth/realms/myrealm/device", oauthAction: "/auth/realms/myrealm/login-actions/consent?client_id=account&tab_id=HoAx28ja4xg" });
|
213
214
|
export const kcContextMocks = [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/login/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
|
@@ -4,9 +4,8 @@ import { fallbackLanguageTag } from "../../login/i18n/i18n";
|
|
4
4
|
import { useConst } from "../../tools/useConst";
|
5
5
|
import { useConstCallback } from "../../tools/useConstCallback";
|
6
6
|
import { assert } from "tsafe/assert";
|
7
|
-
import {
|
8
|
-
|
9
|
-
const evtTermsMarkdown = Evt.create(undefined);
|
7
|
+
import { createStatefulObservable, useRerenderOnChange } from "../../tools/StatefulObservable";
|
8
|
+
const obsTermsMarkdown = createStatefulObservable(() => undefined);
|
10
9
|
assert();
|
11
10
|
/** Allow to avoid bundling the terms and download it on demand*/
|
12
11
|
export function useDownloadTerms(params) {
|
@@ -20,13 +19,13 @@ export function useDownloadTerms(params) {
|
|
20
19
|
useEffect(() => {
|
21
20
|
var _a, _b;
|
22
21
|
if (kcContext.pageId === "terms.ftl" || kcContext.termsAcceptanceRequired) {
|
23
|
-
downloadTermMarkdownMemoized((_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : fallbackLanguageTag).then(thermMarkdown => (
|
22
|
+
downloadTermMarkdownMemoized((_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : fallbackLanguageTag).then(thermMarkdown => (obsTermsMarkdown.current = thermMarkdown));
|
24
23
|
}
|
25
24
|
}, []);
|
26
25
|
}
|
27
26
|
export function useTermsMarkdown() {
|
28
|
-
|
29
|
-
const termsMarkdown =
|
27
|
+
useRerenderOnChange(obsTermsMarkdown);
|
28
|
+
const termsMarkdown = obsTermsMarkdown.current;
|
30
29
|
return { termsMarkdown };
|
31
30
|
}
|
32
31
|
//# sourceMappingURL=useDownloadTerms.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDownloadTerms.js","sourceRoot":"","sources":["../../src/login/lib/useDownloadTerms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,
|
1
|
+
{"version":3,"file":"useDownloadTerms.js","sourceRoot":"","sources":["../../src/login/lib/useDownloadTerms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACH,wBAAwB,EACxB,mBAAmB,EACtB,MAAM,sCAAsC,CAAC;AAG9C,MAAM,gBAAgB,GAAG,wBAAwB,CAAqB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAUvF,MAAM,EAAkD,CAAC;AAEzD,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,MAGhC;IACG,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,MAAM,EAAE,4BAA4B,EAAE,GAAG,CAAC,SAAS,UAAU;QACzD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;QAExC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAEzE,MAAM,4BAA4B,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC/C,OAAO,CAAC,CAAC,kBAA0B,EAAE,EAAE,CACnC,yBAAyB,CAAC,EAAE,kBAAkB,EAAE,CAAC,CACpD,CACJ,CAAC;QAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC;IAEL,SAAS,CAAC,GAAG,EAAE;;QACX,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,uBAAuB,EAAE,CAAC;YACxE,4BAA4B,CACxB,MAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,kBAAkB,mCAAI,mBAAmB,CAC9D,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAE/C,OAAO,EAAE,aAAa,EAAE,CAAC;AAC7B,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "10.0.0-rc.
|
3
|
+
"version": "10.0.0-rc.20",
|
4
4
|
"description": "Create Keycloak themes using React",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -630,6 +630,12 @@
|
|
630
630
|
"src/tools/HTMLElement.prototype.prepend.ts",
|
631
631
|
"src/tools/LazyOrNot.ts",
|
632
632
|
"src/tools/Markdown.ts",
|
633
|
+
"src/tools/StatefulObservable/README.md",
|
634
|
+
"src/tools/StatefulObservable/StatefulObservable.ts",
|
635
|
+
"src/tools/StatefulObservable/hooks/index.ts",
|
636
|
+
"src/tools/StatefulObservable/hooks/useObservable.ts",
|
637
|
+
"src/tools/StatefulObservable/hooks/useRerenderOnChange.ts",
|
638
|
+
"src/tools/StatefulObservable/index.ts",
|
633
639
|
"src/tools/assert.ts",
|
634
640
|
"src/tools/clsx.ts",
|
635
641
|
"src/tools/deepAssign.ts",
|
@@ -665,6 +671,21 @@
|
|
665
671
|
"tools/Markdown.d.ts",
|
666
672
|
"tools/Markdown.js",
|
667
673
|
"tools/Markdown.js.map",
|
674
|
+
"tools/StatefulObservable/StatefulObservable.d.ts",
|
675
|
+
"tools/StatefulObservable/StatefulObservable.js",
|
676
|
+
"tools/StatefulObservable/StatefulObservable.js.map",
|
677
|
+
"tools/StatefulObservable/hooks/index.d.ts",
|
678
|
+
"tools/StatefulObservable/hooks/index.js",
|
679
|
+
"tools/StatefulObservable/hooks/index.js.map",
|
680
|
+
"tools/StatefulObservable/hooks/useObservable.d.ts",
|
681
|
+
"tools/StatefulObservable/hooks/useObservable.js",
|
682
|
+
"tools/StatefulObservable/hooks/useObservable.js.map",
|
683
|
+
"tools/StatefulObservable/hooks/useRerenderOnChange.d.ts",
|
684
|
+
"tools/StatefulObservable/hooks/useRerenderOnChange.js",
|
685
|
+
"tools/StatefulObservable/hooks/useRerenderOnChange.js.map",
|
686
|
+
"tools/StatefulObservable/index.d.ts",
|
687
|
+
"tools/StatefulObservable/index.js",
|
688
|
+
"tools/StatefulObservable/index.js.map",
|
668
689
|
"tools/assert.d.ts",
|
669
690
|
"tools/assert.js",
|
670
691
|
"tools/assert.js.map",
|
@@ -731,7 +752,6 @@
|
|
731
752
|
"react": "*"
|
732
753
|
},
|
733
754
|
"dependencies": {
|
734
|
-
"evt": "^2.5.7",
|
735
755
|
"minimal-polyfills": "^2.2.3",
|
736
756
|
"react-markdown": "^5.0.3",
|
737
757
|
"tsafe": "^1.6.6"
|
@@ -787,6 +807,7 @@
|
|
787
807
|
"vite": "^5.2.11",
|
788
808
|
"vitest": "^0.29.8",
|
789
809
|
"yauzl": "^2.10.0",
|
790
|
-
"zod": "^3.17.10"
|
810
|
+
"zod": "^3.17.10",
|
811
|
+
"evt": "^2.5.7"
|
791
812
|
}
|
792
813
|
}
|
@@ -29,17 +29,7 @@ out["messagesPerField"]= {
|
|
29
29
|
<#recover>
|
30
30
|
<#assign doExistErrorOnUsernameOrPassword = true>
|
31
31
|
</#attempt>
|
32
|
-
<#if doExistErrorOnUsernameOrPassword>
|
33
|
-
return text;
|
34
|
-
<#else>
|
35
|
-
<#assign doExistMessageForField = "">
|
36
|
-
<#attempt>
|
37
|
-
<#assign doExistMessageForField = messagesPerField.exists('${fieldName}')>
|
38
|
-
<#recover>
|
39
|
-
<#assign doExistMessageForField = true>
|
40
|
-
</#attempt>
|
41
|
-
return <#if doExistMessageForField>text<#else>undefined</#if>;
|
42
|
-
</#if>
|
32
|
+
return <#if doExistErrorOnUsernameOrPassword>text<#else>undefined</#if>
|
43
33
|
<#else>
|
44
34
|
<#assign doExistMessageForField = "">
|
45
35
|
<#attempt>
|
@@ -107,22 +97,18 @@ out["messagesPerField"]= {
|
|
107
97
|
</#attempt>
|
108
98
|
<#if doExistErrorOnUsernameOrPassword>
|
109
99
|
<#attempt>
|
110
|
-
return "${
|
100
|
+
return decodeHtmlEntities("${msg('invalidUserMessage')?js_string}");
|
111
101
|
<#recover>
|
112
102
|
return "Invalid username or password.";
|
113
103
|
</#attempt>
|
114
104
|
<#else>
|
115
|
-
|
116
|
-
return "${messagesPerField.get('${fieldName}')?no_esc}";
|
117
|
-
<#recover>
|
118
|
-
return "";
|
119
|
-
</#attempt>
|
105
|
+
return "";
|
120
106
|
</#if>
|
121
107
|
<#else>
|
122
108
|
<#attempt>
|
123
|
-
return "${messagesPerField.get('${fieldName}')?
|
109
|
+
return decodeHtmlEntities("${messagesPerField.get('${fieldName}')?js_string}");
|
124
110
|
<#recover>
|
125
|
-
return "
|
111
|
+
return "Invalid field";
|
126
112
|
</#attempt>
|
127
113
|
</#if>
|
128
114
|
}
|
@@ -180,27 +166,36 @@ try {
|
|
180
166
|
} catch(error) { }
|
181
167
|
|
182
168
|
<#if profile?? && profile.attributes??>
|
183
|
-
out["
|
169
|
+
out["lOCALIZATION_REALM_OVERRIDES_USER_PROFILE_PROPERTY_KEY_aaGLsPgGIdeeX"] = {
|
184
170
|
<#list profile.attributes as attribute>
|
185
171
|
<#if attribute.annotations?? && attribute.displayName??>
|
186
|
-
"${attribute.displayName}
|
172
|
+
"${attribute.displayName}": decodeHtmlEntities("${advancedMsg(attribute.displayName)?js_string}"),
|
187
173
|
</#if>
|
188
174
|
<#if attribute.annotations.inputHelperTextBefore??>
|
189
|
-
"${attribute.annotations.inputHelperTextBefore}": "${advancedMsg(attribute.annotations.inputHelperTextBefore)?
|
175
|
+
"${attribute.annotations.inputHelperTextBefore}": decodeHtmlEntities("${advancedMsg(attribute.annotations.inputHelperTextBefore)?js_string}"),
|
190
176
|
</#if>
|
191
177
|
<#if attribute.annotations.inputHelperTextAfter??>
|
192
|
-
"${attribute.annotations.inputHelperTextAfter}": "${advancedMsg(attribute.annotations.inputHelperTextAfter)?
|
178
|
+
"${attribute.annotations.inputHelperTextAfter}": decodeHtmlEntities("${advancedMsg(attribute.annotations.inputHelperTextAfter)?js_string}"),
|
193
179
|
</#if>
|
194
180
|
<#if attribute.annotations.inputTypePlaceholder??>
|
195
|
-
"${attribute.annotations.inputTypePlaceholder}": "${advancedMsg(attribute.annotations.inputTypePlaceholder)?
|
181
|
+
"${attribute.annotations.inputTypePlaceholder}": decodeHtmlEntities("${advancedMsg(attribute.annotations.inputTypePlaceholder)?js_string}"),
|
196
182
|
</#if>
|
197
183
|
</#list>
|
198
184
|
};
|
199
185
|
</#if>
|
200
186
|
|
201
|
-
|
202
187
|
return out;
|
203
188
|
|
189
|
+
function decodeHtmlEntities(htmlStr){
|
190
|
+
var element = decodeHtmlEntities.element;
|
191
|
+
if (!element) {
|
192
|
+
element = document.createElement("textarea");
|
193
|
+
decodeHtmlEntities.element = element;
|
194
|
+
}
|
195
|
+
element.innerHTML = htmlStr;
|
196
|
+
return textarea.value;
|
197
|
+
}
|
198
|
+
|
204
199
|
})();
|
205
200
|
<#function ftl_object_to_js_code_declaring_an_object object path>
|
206
201
|
|
@@ -10,7 +10,8 @@ import {
|
|
10
10
|
type ThemeType,
|
11
11
|
nameOfTheGlobal,
|
12
12
|
basenameOfTheKeycloakifyResourcesDir,
|
13
|
-
resources_common
|
13
|
+
resources_common,
|
14
|
+
nameOfTheLocalizationRealmOverridesUserProfileProperty
|
14
15
|
} from "../../shared/constants";
|
15
16
|
import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath";
|
16
17
|
|
@@ -135,8 +136,11 @@ export function generateFtlFilesCodeFactory(params: {
|
|
135
136
|
.replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildOptions.themeVersion)
|
136
137
|
.replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
|
137
138
|
.replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
|
138
|
-
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", resources_common)
|
139
|
-
|
139
|
+
.replace("RESOURCES_COMMON_cLsLsMrtDkpVv", resources_common)
|
140
|
+
.replace(
|
141
|
+
"lOCALIZATION_REALM_OVERRIDES_USER_PROFILE_PROPERTY_KEY_aaGLsPgGIdeeX",
|
142
|
+
nameOfTheLocalizationRealmOverridesUserProfileProperty
|
143
|
+
);
|
140
144
|
const ftlObjectToJsCodeDeclaringAnObjectPlaceholder =
|
141
145
|
'{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
|
142
146
|
|
@@ -184,18 +184,47 @@ function toUTF16(codePoint: number): string {
|
|
184
184
|
}
|
185
185
|
}
|
186
186
|
|
187
|
-
// Escapes special characters
|
187
|
+
// Escapes special characters for use in a .properties file
|
188
188
|
function escapeString(str: string): string {
|
189
189
|
let escapedStr = "";
|
190
190
|
for (const char of [...str]) {
|
191
191
|
const codePoint = char.codePointAt(0);
|
192
192
|
if (!codePoint) continue;
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
193
|
+
|
194
|
+
switch (char) {
|
195
|
+
case "\n":
|
196
|
+
escapedStr += "\\n";
|
197
|
+
break;
|
198
|
+
case "\r":
|
199
|
+
escapedStr += "\\r";
|
200
|
+
break;
|
201
|
+
case "\t":
|
202
|
+
escapedStr += "\\t";
|
203
|
+
break;
|
204
|
+
case "\\":
|
205
|
+
escapedStr += "\\\\";
|
206
|
+
break;
|
207
|
+
case ":":
|
208
|
+
escapedStr += "\\:";
|
209
|
+
break;
|
210
|
+
case "=":
|
211
|
+
escapedStr += "\\=";
|
212
|
+
break;
|
213
|
+
case "#":
|
214
|
+
escapedStr += "\\#";
|
215
|
+
break;
|
216
|
+
case "!":
|
217
|
+
escapedStr += "\\!";
|
218
|
+
break;
|
219
|
+
case "'":
|
220
|
+
escapedStr += "''";
|
221
|
+
break;
|
222
|
+
default:
|
223
|
+
if (codePoint > 0x7f) {
|
224
|
+
escapedStr += toUTF16(codePoint); // Non-ASCII characters
|
225
|
+
} else {
|
226
|
+
escapedStr += char; // ASCII character needs no escape
|
227
|
+
}
|
199
228
|
}
|
200
229
|
}
|
201
230
|
return escapedStr;
|
@@ -1,4 +1,6 @@
|
|
1
1
|
export const nameOfTheGlobal = "kcContext";
|
2
|
+
export const nameOfTheLocalizationRealmOverridesUserProfileProperty =
|
3
|
+
"__localizationRealmOverridesUserProfile";
|
2
4
|
export const keycloak_resources = "keycloak-resources";
|
3
5
|
export const resources_common = "resources-common";
|
4
6
|
export const lastKeycloakVersionWithAccountV1 = "21.1.2";
|
@@ -17,17 +17,9 @@ export type BuildOptionsLike = {
|
|
17
17
|
assert<BuildOptions extends BuildOptionsLike ? true : false>();
|
18
18
|
|
19
19
|
export async function appBuild(params: {
|
20
|
-
doSkipIfReactAppBuildDirExists: boolean;
|
21
20
|
buildOptions: BuildOptionsLike;
|
22
21
|
}): Promise<{ isAppBuildSuccess: boolean }> {
|
23
|
-
const {
|
24
|
-
|
25
|
-
if (
|
26
|
-
doSkipIfReactAppBuildDirExists &&
|
27
|
-
fs.existsSync(buildOptions.reactAppBuildDirPath)
|
28
|
-
) {
|
29
|
-
return { isAppBuildSuccess: true };
|
30
|
-
}
|
22
|
+
const { buildOptions } = params;
|
31
23
|
|
32
24
|
const { bundler } = buildOptions;
|
33
25
|
|
@@ -82,6 +74,15 @@ export async function appBuild(params: {
|
|
82
74
|
) {
|
83
75
|
return true;
|
84
76
|
}
|
77
|
+
|
78
|
+
if (
|
79
|
+
scriptValue.includes("ng") &&
|
80
|
+
scriptValue.includes("build")
|
81
|
+
) {
|
82
|
+
return true;
|
83
|
+
}
|
84
|
+
|
85
|
+
return false;
|
85
86
|
}
|
86
87
|
) ?? [];
|
87
88
|
|
@@ -84,7 +84,6 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
84
84
|
|
85
85
|
{
|
86
86
|
const { isAppBuildSuccess } = await appBuild({
|
87
|
-
doSkipIfReactAppBuildDirExists: true,
|
88
87
|
buildOptions
|
89
88
|
});
|
90
89
|
|
@@ -432,7 +431,6 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
|
|
432
431
|
console.log(chalk.cyan("Detected changes in the theme. Rebuilding ..."));
|
433
432
|
|
434
433
|
const { isAppBuildSuccess } = await appBuild({
|
435
|
-
doSkipIfReactAppBuildDirExists: false,
|
436
434
|
buildOptions
|
437
435
|
});
|
438
436
|
|
package/src/login/i18n/i18n.tsx
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
import "minimal-polyfills/Object.fromEntries";
|
2
|
-
//NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
|
3
2
|
import { useEffect, useState, useRef } from "react";
|
4
3
|
import fallbackMessages from "./baseMessages/en";
|
5
4
|
import { getMessages } from "./baseMessages";
|
6
5
|
import { assert } from "tsafe/assert";
|
7
6
|
import type { KcContext } from "../kcContext/KcContext";
|
8
|
-
import { Markdown } from "keycloakify/tools/Markdown";
|
9
7
|
|
10
8
|
export const fallbackLanguageTag = "en";
|
11
9
|
|
@@ -14,6 +12,7 @@ export type KcContextLike = {
|
|
14
12
|
currentLanguageTag: string;
|
15
13
|
supported: { languageTag: string; url: string; label: string }[];
|
16
14
|
};
|
15
|
+
__localizationRealmOverridesUserProfile: Record<string, string>;
|
17
16
|
};
|
18
17
|
|
19
18
|
assert<KcContext extends KcContextLike ? true : false>();
|
@@ -62,7 +61,7 @@ export type GenericI18n<MessageKey extends string> = {
|
|
62
61
|
/**
|
63
62
|
* Examples assuming currentLanguageTag === "en"
|
64
63
|
* advancedMsg("${access-denied} foo bar") === msg("access-denied") + " foo bar" === "Access denied foo bar"
|
65
|
-
* advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === "not-a-message-key"
|
64
|
+
* advancedMsg("${not-a-message-key}") === advancedMsg("not-a-message-key") === "not-a-message-key"
|
66
65
|
*/
|
67
66
|
advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
|
68
67
|
};
|
@@ -100,7 +99,8 @@ export function createUseI18n<ExtraMessageKey extends string = never>(extraMessa
|
|
100
99
|
...(await getMessages(currentLanguageTag)),
|
101
100
|
...((keycloakifyExtraMessages as any)[currentLanguageTag] ?? {}),
|
102
101
|
...(extraMessages[currentLanguageTag] ?? {})
|
103
|
-
} as any
|
102
|
+
} as any,
|
103
|
+
__localizationRealmOverridesUserProfile: kcContext.__localizationRealmOverridesUserProfile
|
104
104
|
}),
|
105
105
|
currentLanguageTag,
|
106
106
|
getChangeLocalUrl: newLanguageTag => {
|
@@ -130,11 +130,12 @@ export function createUseI18n<ExtraMessageKey extends string = never>(extraMessa
|
|
130
130
|
function createI18nTranslationFunctions<MessageKey extends string>(params: {
|
131
131
|
fallbackMessages: Record<MessageKey, string>;
|
132
132
|
messages: Record<MessageKey, string>;
|
133
|
+
__localizationRealmOverridesUserProfile: Record<string, string>;
|
133
134
|
}): Pick<GenericI18n<MessageKey>, "msg" | "msgStr" | "advancedMsg" | "advancedMsgStr"> {
|
134
|
-
const { fallbackMessages, messages } = params;
|
135
|
+
const { fallbackMessages, messages /*__localizationRealmOverridesUserProfile*/ } = params;
|
135
136
|
|
136
|
-
function resolveMsg(props: { key: string; args: (string | undefined)[];
|
137
|
-
const { key, args,
|
137
|
+
function resolveMsg(props: { key: string; args: (string | undefined)[]; doRenderAsHtml: boolean }): string | JSX.Element | undefined {
|
138
|
+
const { key, args, doRenderAsHtml } = props;
|
138
139
|
|
139
140
|
const messageOrUndefined: string | undefined = (messages as any)[key] ?? (fallbackMessages as any)[key];
|
140
141
|
|
@@ -163,23 +164,38 @@ function createI18nTranslationFunctions<MessageKey extends string>(params: {
|
|
163
164
|
return;
|
164
165
|
}
|
165
166
|
|
166
|
-
messageWithArgsInjected = messageWithArgsInjected.replace(
|
167
|
+
messageWithArgsInjected = messageWithArgsInjected.replace(
|
168
|
+
new RegExp(`\\{${i + startIndex}\\}`, "g"),
|
169
|
+
arg.replace(/</g, "<").replace(/>/g, ">")
|
170
|
+
);
|
167
171
|
});
|
168
172
|
|
169
173
|
return messageWithArgsInjected;
|
170
174
|
})();
|
171
175
|
|
172
|
-
return
|
173
|
-
<
|
174
|
-
|
175
|
-
|
176
|
+
return doRenderAsHtml ? (
|
177
|
+
<span
|
178
|
+
// NOTE: The message is trusted. The arguments are not but are escaped.
|
179
|
+
dangerouslySetInnerHTML={{
|
180
|
+
__html: messageWithArgsInjectedIfAny
|
181
|
+
}}
|
182
|
+
/>
|
176
183
|
) : (
|
177
184
|
messageWithArgsInjectedIfAny
|
178
185
|
);
|
179
186
|
}
|
180
187
|
|
181
|
-
function resolveMsgAdvanced(props: { key: string; args: (string | undefined)[];
|
182
|
-
const { key, args,
|
188
|
+
function resolveMsgAdvanced(props: { key: string; args: (string | undefined)[]; doRenderAsHtml: boolean }): JSX.Element | string {
|
189
|
+
const { key, args, doRenderAsHtml } = props;
|
190
|
+
|
191
|
+
// TODO:
|
192
|
+
/*
|
193
|
+
if( key in __localizationRealmOverridesUserProfile ){
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
}
|
198
|
+
*/
|
183
199
|
|
184
200
|
const match = key.match(/^\$\{([^{]+)\}$/);
|
185
201
|
|
@@ -188,26 +204,26 @@ function createI18nTranslationFunctions<MessageKey extends string>(params: {
|
|
188
204
|
const out = resolveMsg({
|
189
205
|
key: keyUnwrappedFromCurlyBraces,
|
190
206
|
args,
|
191
|
-
|
207
|
+
doRenderAsHtml
|
192
208
|
});
|
193
209
|
|
194
|
-
return (out !== undefined ? out :
|
210
|
+
return (out !== undefined ? out : doRenderAsHtml ? <span>{keyUnwrappedFromCurlyBraces}</span> : keyUnwrappedFromCurlyBraces) as any;
|
195
211
|
}
|
196
212
|
|
197
213
|
return {
|
198
|
-
msgStr: (key, ...args) => resolveMsg({ key, args,
|
199
|
-
msg: (key, ...args) => resolveMsg({ key, args,
|
214
|
+
msgStr: (key, ...args) => resolveMsg({ key, args, doRenderAsHtml: false }) as string,
|
215
|
+
msg: (key, ...args) => resolveMsg({ key, args, doRenderAsHtml: true }) as JSX.Element,
|
200
216
|
advancedMsg: (key, ...args) =>
|
201
217
|
resolveMsgAdvanced({
|
202
218
|
key,
|
203
219
|
args,
|
204
|
-
|
220
|
+
doRenderAsHtml: true
|
205
221
|
}) as JSX.Element,
|
206
222
|
advancedMsgStr: (key, ...args) =>
|
207
223
|
resolveMsgAdvanced({
|
208
224
|
key,
|
209
225
|
args,
|
210
|
-
|
226
|
+
doRenderAsHtml: false
|
211
227
|
}) as string
|
212
228
|
};
|
213
229
|
}
|
@@ -1,4 +1,8 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
ThemeType,
|
3
|
+
LoginThemePageId,
|
4
|
+
nameOfTheLocalizationRealmOverridesUserProfileProperty
|
5
|
+
} from "keycloakify/bin/shared/constants";
|
2
6
|
import { assert } from "tsafe/assert";
|
3
7
|
import type { Equals } from "tsafe";
|
4
8
|
import type { MessageKey } from "../i18n/i18n";
|
@@ -140,6 +144,7 @@ export declare namespace KcContext {
|
|
140
144
|
tabId: string;
|
141
145
|
ssoLoginInOtherTabsUrl: string;
|
142
146
|
};
|
147
|
+
__localizationRealmOverridesUserProfile: Record<string, string>;
|
143
148
|
};
|
144
149
|
|
145
150
|
export type SamlPostForm = Common & {
|
@@ -750,3 +755,12 @@ export type PasswordPolicies = {
|
|
750
755
|
/** Whether the password can be the email address */
|
751
756
|
notEmail?: boolean;
|
752
757
|
};
|
758
|
+
|
759
|
+
assert<
|
760
|
+
KcContext.Common extends Record<
|
761
|
+
typeof nameOfTheLocalizationRealmOverridesUserProfileProperty,
|
762
|
+
unknown
|
763
|
+
>
|
764
|
+
? true
|
765
|
+
: false
|
766
|
+
>();
|
@@ -4,11 +4,13 @@ import { fallbackLanguageTag } from "keycloakify/login/i18n/i18n";
|
|
4
4
|
import { useConst } from "keycloakify/tools/useConst";
|
5
5
|
import { useConstCallback } from "keycloakify/tools/useConstCallback";
|
6
6
|
import { assert } from "tsafe/assert";
|
7
|
-
import {
|
8
|
-
|
7
|
+
import {
|
8
|
+
createStatefulObservable,
|
9
|
+
useRerenderOnChange
|
10
|
+
} from "keycloakify/tools/StatefulObservable";
|
9
11
|
import { KcContext } from "../kcContext";
|
10
12
|
|
11
|
-
const
|
13
|
+
const obsTermsMarkdown = createStatefulObservable<string | undefined>(() => undefined);
|
12
14
|
|
13
15
|
export type KcContextLike = {
|
14
16
|
pageId: string;
|
@@ -45,15 +47,15 @@ export function useDownloadTerms(params: {
|
|
45
47
|
if (kcContext.pageId === "terms.ftl" || kcContext.termsAcceptanceRequired) {
|
46
48
|
downloadTermMarkdownMemoized(
|
47
49
|
kcContext.locale?.currentLanguageTag ?? fallbackLanguageTag
|
48
|
-
).then(thermMarkdown => (
|
50
|
+
).then(thermMarkdown => (obsTermsMarkdown.current = thermMarkdown));
|
49
51
|
}
|
50
52
|
}, []);
|
51
53
|
}
|
52
54
|
|
53
55
|
export function useTermsMarkdown() {
|
54
|
-
|
56
|
+
useRerenderOnChange(obsTermsMarkdown);
|
55
57
|
|
56
|
-
const termsMarkdown =
|
58
|
+
const termsMarkdown = obsTermsMarkdown.current;
|
57
59
|
|
58
60
|
return { termsMarkdown };
|
59
61
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
`StatefulObservable` is a construct that allow to avoid having to depend on [EVT](https://evt.land).
|
2
|
+
|
3
|
+
A `StatefulObservable` can be converted to an evt with:
|
4
|
+
|
5
|
+
```ts
|
6
|
+
import { statefulObservableToStatefulEvt } from "powerhooks/tools/StatefulObservable/statefulObservableToStatefulEvt";
|
7
|
+
|
8
|
+
const evtXyz = statefulObservableToStatefulEvt({
|
9
|
+
statefulObservable: $xyz
|
10
|
+
//Optionally you can pass a Ctx
|
11
|
+
});
|
12
|
+
```
|
13
|
+
|
14
|
+
WARNING: Unlike `StatefulEvt`, `StatefulObservable` do not post when we first attach.
|
15
|
+
If the current value was not yet evaluated `next()` is called on the initial value returned by the function that
|
16
|
+
returns it.
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { assert } from "tsafe/assert";
|
2
|
+
import { is } from "tsafe/is";
|
3
|
+
|
4
|
+
export type StatefulObservable<T> = {
|
5
|
+
current: T;
|
6
|
+
subscribe: (next: (data: T) => void) => Subscription;
|
7
|
+
};
|
8
|
+
|
9
|
+
export type Subscription = {
|
10
|
+
unsubscribe(): void;
|
11
|
+
};
|
12
|
+
|
13
|
+
export function createStatefulObservable<T>(
|
14
|
+
getInitialValue: () => T
|
15
|
+
): StatefulObservable<T> {
|
16
|
+
const nextFunctions: ((data: T) => void)[] = [];
|
17
|
+
|
18
|
+
const { get, set } = (() => {
|
19
|
+
let wrappedState: [T] | undefined = undefined;
|
20
|
+
|
21
|
+
function set(data: T) {
|
22
|
+
wrappedState = [data];
|
23
|
+
|
24
|
+
nextFunctions.forEach(next => next(data));
|
25
|
+
}
|
26
|
+
|
27
|
+
return {
|
28
|
+
get: () => {
|
29
|
+
if (wrappedState === undefined) {
|
30
|
+
set(getInitialValue());
|
31
|
+
assert(!is<undefined>(wrappedState));
|
32
|
+
}
|
33
|
+
return wrappedState[0];
|
34
|
+
},
|
35
|
+
set
|
36
|
+
};
|
37
|
+
})();
|
38
|
+
|
39
|
+
return Object.defineProperty(
|
40
|
+
{
|
41
|
+
current: null as any as T,
|
42
|
+
subscribe: (next: (data: T) => void) => {
|
43
|
+
nextFunctions.push(next);
|
44
|
+
|
45
|
+
return {
|
46
|
+
unsubscribe: () =>
|
47
|
+
nextFunctions.splice(nextFunctions.indexOf(next), 1)
|
48
|
+
};
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"current",
|
52
|
+
{
|
53
|
+
enumerable: true,
|
54
|
+
get,
|
55
|
+
set
|
56
|
+
}
|
57
|
+
);
|
58
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { useEffect } from "react";
|
2
|
+
import type { Subscription } from "../StatefulObservable";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Equivalent of https://docs.evt.land/api/react-hooks
|
6
|
+
*/
|
7
|
+
export function useObservable(
|
8
|
+
effect: (params: {
|
9
|
+
registerSubscription: (subscription: Subscription) => void;
|
10
|
+
}) => void,
|
11
|
+
deps: React.DependencyList
|
12
|
+
): void {
|
13
|
+
useEffect(() => {
|
14
|
+
const subscriptions: Subscription[] = [];
|
15
|
+
|
16
|
+
effect({
|
17
|
+
registerSubscription: subscription => subscriptions.push(subscription)
|
18
|
+
});
|
19
|
+
|
20
|
+
return () => {
|
21
|
+
subscriptions.forEach(subscription => subscription.unsubscribe());
|
22
|
+
subscriptions.length = 0;
|
23
|
+
};
|
24
|
+
}, deps);
|
25
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { useObservable } from "./useObservable";
|
2
|
+
import { useState } from "react";
|
3
|
+
import type { StatefulObservable } from "../StatefulObservable";
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Equivalent of https://docs.evt.land/api/react-hooks
|
7
|
+
* */
|
8
|
+
export function useRerenderOnChange($: StatefulObservable<unknown>): void {
|
9
|
+
//NOTE: We use function in case the state is a function
|
10
|
+
const [, setCurrent] = useState(() => $.current);
|
11
|
+
|
12
|
+
useObservable(
|
13
|
+
({ registerSubscription }) => {
|
14
|
+
const subscription = $.subscribe(current => setCurrent(() => current));
|
15
|
+
registerSubscription(subscription);
|
16
|
+
},
|
17
|
+
[$]
|
18
|
+
);
|
19
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export type StatefulObservable<T> = {
|
2
|
+
current: T;
|
3
|
+
subscribe: (next: (data: T) => void) => Subscription;
|
4
|
+
};
|
5
|
+
export type Subscription = {
|
6
|
+
unsubscribe(): void;
|
7
|
+
};
|
8
|
+
export declare function createStatefulObservable<T>(getInitialValue: () => T): StatefulObservable<T>;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { assert } from "tsafe/assert";
|
2
|
+
import { is } from "tsafe/is";
|
3
|
+
export function createStatefulObservable(getInitialValue) {
|
4
|
+
const nextFunctions = [];
|
5
|
+
const { get, set } = (() => {
|
6
|
+
let wrappedState = undefined;
|
7
|
+
function set(data) {
|
8
|
+
wrappedState = [data];
|
9
|
+
nextFunctions.forEach(next => next(data));
|
10
|
+
}
|
11
|
+
return {
|
12
|
+
get: () => {
|
13
|
+
if (wrappedState === undefined) {
|
14
|
+
set(getInitialValue());
|
15
|
+
assert(!is(wrappedState));
|
16
|
+
}
|
17
|
+
return wrappedState[0];
|
18
|
+
},
|
19
|
+
set
|
20
|
+
};
|
21
|
+
})();
|
22
|
+
return Object.defineProperty({
|
23
|
+
current: null,
|
24
|
+
subscribe: (next) => {
|
25
|
+
nextFunctions.push(next);
|
26
|
+
return {
|
27
|
+
unsubscribe: () => nextFunctions.splice(nextFunctions.indexOf(next), 1)
|
28
|
+
};
|
29
|
+
}
|
30
|
+
}, "current", {
|
31
|
+
enumerable: true,
|
32
|
+
get,
|
33
|
+
set
|
34
|
+
});
|
35
|
+
}
|
36
|
+
//# sourceMappingURL=StatefulObservable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StatefulObservable.js","sourceRoot":"","sources":["../../src/tools/StatefulObservable/StatefulObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAW9B,MAAM,UAAU,wBAAwB,CACpC,eAAwB;IAExB,MAAM,aAAa,GAA0B,EAAE,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,YAAY,GAAoB,SAAS,CAAC;QAE9C,SAAS,GAAG,CAAC,IAAO;YAChB,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC;YAEtB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACH,GAAG,EAAE,GAAG,EAAE;gBACN,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7B,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;oBACvB,MAAM,CAAC,CAAC,EAAE,CAAY,YAAY,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,GAAG;SACN,CAAC;IACN,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,MAAM,CAAC,cAAc,CACxB;QACI,OAAO,EAAE,IAAgB;QACzB,SAAS,EAAE,CAAC,IAAuB,EAAE,EAAE;YACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzB,OAAO;gBACH,WAAW,EAAE,GAAG,EAAE,CACd,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3D,CAAC;QACN,CAAC;KACJ,EACD,SAAS,EACT;QACI,UAAU,EAAE,IAAI;QAChB,GAAG;QACH,GAAG;KACN,CACJ,CAAC;AACN,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/StatefulObservable/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { Subscription } from "../StatefulObservable";
|
3
|
+
/**
|
4
|
+
* Equivalent of https://docs.evt.land/api/react-hooks
|
5
|
+
*/
|
6
|
+
export declare function useObservable(effect: (params: {
|
7
|
+
registerSubscription: (subscription: Subscription) => void;
|
8
|
+
}) => void, deps: React.DependencyList): void;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { useEffect } from "react";
|
2
|
+
/**
|
3
|
+
* Equivalent of https://docs.evt.land/api/react-hooks
|
4
|
+
*/
|
5
|
+
export function useObservable(effect, deps) {
|
6
|
+
useEffect(() => {
|
7
|
+
const subscriptions = [];
|
8
|
+
effect({
|
9
|
+
registerSubscription: subscription => subscriptions.push(subscription)
|
10
|
+
});
|
11
|
+
return () => {
|
12
|
+
subscriptions.forEach(subscription => subscription.unsubscribe());
|
13
|
+
subscriptions.length = 0;
|
14
|
+
};
|
15
|
+
}, deps);
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=useObservable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useObservable.js","sourceRoot":"","sources":["../../../src/tools/StatefulObservable/hooks/useObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,MAEU,EACV,IAA0B;IAE1B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC;YACH,oBAAoB,EAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;SACzE,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAClE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC;IACN,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { useObservable } from "./useObservable";
|
2
|
+
import { useState } from "react";
|
3
|
+
/**
|
4
|
+
* Equivalent of https://docs.evt.land/api/react-hooks
|
5
|
+
* */
|
6
|
+
export function useRerenderOnChange($) {
|
7
|
+
//NOTE: We use function in case the state is a function
|
8
|
+
const [, setCurrent] = useState(() => $.current);
|
9
|
+
useObservable(({ registerSubscription }) => {
|
10
|
+
const subscription = $.subscribe(current => setCurrent(() => current));
|
11
|
+
registerSubscription(subscription);
|
12
|
+
}, [$]);
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=useRerenderOnChange.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useRerenderOnChange.js","sourceRoot":"","sources":["../../../src/tools/StatefulObservable/hooks/useRerenderOnChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC;;KAEK;AACL,MAAM,UAAU,mBAAmB,CAAC,CAA8B;IAC9D,uDAAuD;IACvD,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEjD,aAAa,CACT,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE;QACzB,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC,EACD,CAAC,CAAC,CAAC,CACN,CAAC;AACN,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/StatefulObservable/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC"}
|
package/vite-plugin/index.js
CHANGED
@@ -240,8 +240,9 @@ exports.readBuildOptions = readBuildOptions;
|
|
240
240
|
"use strict";
|
241
241
|
|
242
242
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
243
|
-
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheGlobal = void 0;
|
243
|
+
exports.containerName = exports.accountThemePageIds = exports.loginThemePageIds = exports.skipBuildJarsEnvName = exports.vitePluginSubScriptEnvNames = exports.accountV1ThemeName = exports.themeTypes = exports.basenameOfTheKeycloakifyResourcesDir = exports.lastKeycloakVersionWithAccountV1 = exports.resources_common = exports.keycloak_resources = exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = exports.nameOfTheGlobal = void 0;
|
244
244
|
exports.nameOfTheGlobal = "kcContext";
|
245
|
+
exports.nameOfTheLocalizationRealmOverridesUserProfileProperty = "__localizationRealmOverridesUserProfile";
|
245
246
|
exports.keycloak_resources = "keycloak-resources";
|
246
247
|
exports.resources_common = "resources-common";
|
247
248
|
exports.lastKeycloakVersionWithAccountV1 = "21.1.2";
|