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.
Files changed (47) hide show
  1. package/bin/main.js +47 -19
  2. package/bin/shared/constants.d.ts +1 -0
  3. package/bin/shared/constants.js +2 -1
  4. package/bin/shared/constants.js.map +1 -1
  5. package/login/i18n/i18n.d.ts +2 -1
  6. package/login/i18n/i18n.js +25 -14
  7. package/login/i18n/i18n.js.map +1 -1
  8. package/login/kcContext/KcContext.d.ts +1 -0
  9. package/login/kcContext/KcContext.js +1 -0
  10. package/login/kcContext/KcContext.js.map +1 -1
  11. package/login/kcContext/kcContextMocks.js +2 -1
  12. package/login/kcContext/kcContextMocks.js.map +1 -1
  13. package/login/lib/useDownloadTerms.js +5 -6
  14. package/login/lib/useDownloadTerms.js.map +1 -1
  15. package/package.json +24 -3
  16. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +20 -25
  17. package/src/bin/keycloakify/generateFtl/generateFtl.ts +7 -3
  18. package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +36 -7
  19. package/src/bin/shared/constants.ts +2 -0
  20. package/src/bin/start-keycloak/appBuild.ts +10 -9
  21. package/src/bin/start-keycloak/start-keycloak.ts +0 -2
  22. package/src/login/i18n/i18n.tsx +36 -20
  23. package/src/login/kcContext/KcContext.ts +15 -1
  24. package/src/login/kcContext/kcContextMocks.ts +2 -1
  25. package/src/login/lib/useDownloadTerms.ts +8 -6
  26. package/src/tools/StatefulObservable/README.md +16 -0
  27. package/src/tools/StatefulObservable/StatefulObservable.ts +58 -0
  28. package/src/tools/StatefulObservable/hooks/index.ts +2 -0
  29. package/src/tools/StatefulObservable/hooks/useObservable.ts +25 -0
  30. package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +19 -0
  31. package/src/tools/StatefulObservable/index.ts +2 -0
  32. package/tools/StatefulObservable/StatefulObservable.d.ts +8 -0
  33. package/tools/StatefulObservable/StatefulObservable.js +36 -0
  34. package/tools/StatefulObservable/StatefulObservable.js.map +1 -0
  35. package/tools/StatefulObservable/hooks/index.d.ts +2 -0
  36. package/tools/StatefulObservable/hooks/index.js +3 -0
  37. package/tools/StatefulObservable/hooks/index.js.map +1 -0
  38. package/tools/StatefulObservable/hooks/useObservable.d.ts +8 -0
  39. package/tools/StatefulObservable/hooks/useObservable.js +17 -0
  40. package/tools/StatefulObservable/hooks/useObservable.js.map +1 -0
  41. package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +5 -0
  42. package/tools/StatefulObservable/hooks/useRerenderOnChange.js +14 -0
  43. package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -0
  44. package/tools/StatefulObservable/index.d.ts +2 -0
  45. package/tools/StatefulObservable/index.js +3 -0
  46. package/tools/StatefulObservable/index.js.map +1 -0
  47. 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 and converts unicode to UTF-16 encoding
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
- if (char === "'") {
1789
- escapedStr += "''"; // double single quotes
1790
- }
1791
- else if (codePoint > 0x7f) {
1792
- escapedStr += toUTF16(codePoint); // non-ascii characters
1793
- }
1794
- else {
1795
- escapedStr += char;
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 doSkipIfReactAppBuildDirExists, buildOptions, bundler, _a, command, args, cwd, dResult, child, isSuccess;
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
- doSkipIfReactAppBuildDirExists = params.doSkipIfReactAppBuildDirExists, buildOptions = params.buildOptions;
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";
@@ -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"}
@@ -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
  };
@@ -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, doRenderMarkdown } = props;
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, "&lt;").replace(/>/g, "&gt;"));
64
63
  });
65
64
  return messageWithArgsInjected;
66
65
  })();
67
- return doRenderMarkdown ? (_jsx(Markdown, { allowDangerousHtml: true, renderers: { paragraph: "span" }, children: messageWithArgsInjectedIfAny })) : (messageWithArgsInjectedIfAny);
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, doRenderMarkdown } = props;
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
- doRenderMarkdown
87
+ doRenderAsHtml
77
88
  });
78
- return (out !== undefined ? out : doRenderMarkdown ? _jsx("span", { children: keyUnwrappedFromCurlyBraces }) : keyUnwrappedFromCurlyBraces);
89
+ return (out !== undefined ? out : doRenderAsHtml ? _jsx("span", { children: keyUnwrappedFromCurlyBraces }) : keyUnwrappedFromCurlyBraces);
79
90
  }
80
91
  return {
81
- msgStr: (key, ...args) => resolveMsg({ key, args, doRenderMarkdown: false }),
82
- msg: (key, ...args) => resolveMsg({ key, args, doRenderMarkdown: true }),
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
- doRenderMarkdown: true
97
+ doRenderAsHtml: true
87
98
  }),
88
99
  advancedMsgStr: (key, ...args) => resolveMsgAdvanced({
89
100
  key,
90
101
  args,
91
- doRenderMarkdown: false
102
+ doRenderAsHtml: false
92
103
  })
93
104
  };
94
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/login/i18n/i18n.tsx"],"names":[],"mappings":"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"}
@@ -91,6 +91,7 @@ export declare namespace KcContext {
91
91
  tabId: string;
92
92
  ssoLoginInOtherTabsUrl: string;
93
93
  };
94
+ __localizationRealmOverridesUserProfile: Record<string, string>;
94
95
  };
95
96
  type SamlPostForm = Common & {
96
97
  pageId: "saml-post-form.ftl";
@@ -4,4 +4,5 @@ assert();
4
4
  assert();
5
5
  assert();
6
6
  }
7
+ assert();
7
8
  //# sourceMappingURL=KcContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/KcContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiDtC,MAAM,EAA2D,CAAC;AAmqBlE,CAAC;IAOG,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;AAC5C,CAAC"}
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 { Evt } from "evt";
8
- import { useRerenderOnStateChange } from "evt/hooks/useRerenderOnStateChange";
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 => (evtTermsMarkdown.state = 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
- useRerenderOnStateChange(evtTermsMarkdown);
29
- const termsMarkdown = evtTermsMarkdown.state;
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,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAqB,SAAS,CAAC,CAAC;AAUnE,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,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAE7C,OAAO,EAAE,aAAa,EAAE,CAAC;AAC7B,CAAC"}
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.19",
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 "${kcSanitize(msg('invalidUserMessage'))?no_esc}";
100
+ return decodeHtmlEntities("${msg('invalidUserMessage')?js_string}");
111
101
  <#recover>
112
102
  return "Invalid username or password.";
113
103
  </#attempt>
114
104
  <#else>
115
- <#attempt>
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}')?no_esc}";
109
+ return decodeHtmlEntities("${messagesPerField.get('${fieldName}')?js_string}");
124
110
  <#recover>
125
- return "invalid field";
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["__localizationReamlOverrides_userProfile"] = {
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}xx": "${advancedMsg(attribute.displayName)?no_esc}",
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)?no_esc}",
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)?no_esc}",
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)?no_esc}",
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 and converts unicode to UTF-16 encoding
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
- if (char === "'") {
194
- escapedStr += "''"; // double single quotes
195
- } else if (codePoint > 0x7f) {
196
- escapedStr += toUTF16(codePoint); // non-ascii characters
197
- } else {
198
- escapedStr += char;
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 { doSkipIfReactAppBuildDirExists, buildOptions } = params;
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
 
@@ -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)[]; doRenderMarkdown: boolean }): string | JSX.Element | undefined {
137
- const { key, args, doRenderMarkdown } = props;
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(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg);
167
+ messageWithArgsInjected = messageWithArgsInjected.replace(
168
+ new RegExp(`\\{${i + startIndex}\\}`, "g"),
169
+ arg.replace(/</g, "&lt;").replace(/>/g, "&gt;")
170
+ );
167
171
  });
168
172
 
169
173
  return messageWithArgsInjected;
170
174
  })();
171
175
 
172
- return doRenderMarkdown ? (
173
- <Markdown allowDangerousHtml renderers={{ paragraph: "span" }}>
174
- {messageWithArgsInjectedIfAny}
175
- </Markdown>
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)[]; doRenderMarkdown: boolean }): JSX.Element | string {
182
- const { key, args, doRenderMarkdown } = props;
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
- doRenderMarkdown
207
+ doRenderAsHtml
192
208
  });
193
209
 
194
- return (out !== undefined ? out : doRenderMarkdown ? <span>{keyUnwrappedFromCurlyBraces}</span> : keyUnwrappedFromCurlyBraces) as any;
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, doRenderMarkdown: false }) as string,
199
- msg: (key, ...args) => resolveMsg({ key, args, doRenderMarkdown: true }) as JSX.Element,
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
- doRenderMarkdown: true
220
+ doRenderAsHtml: true
205
221
  }) as JSX.Element,
206
222
  advancedMsgStr: (key, ...args) =>
207
223
  resolveMsgAdvanced({
208
224
  key,
209
225
  args,
210
- doRenderMarkdown: false
226
+ doRenderAsHtml: false
211
227
  }) as string
212
228
  };
213
229
  }
@@ -1,4 +1,8 @@
1
- import type { ThemeType, LoginThemePageId } from "keycloakify/bin/shared/constants";
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
+ >();
@@ -221,7 +221,8 @@ export const kcContextCommonMock: KcContext.Common = {
221
221
  },
222
222
  scripts: [],
223
223
  isAppInitiatedAction: false,
224
- properties: {}
224
+ properties: {},
225
+ __localizationRealmOverridesUserProfile: {}
225
226
  };
226
227
 
227
228
  const loginUrl = {
@@ -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 { Evt } from "evt";
8
- import { useRerenderOnStateChange } from "evt/hooks/useRerenderOnStateChange";
7
+ import {
8
+ createStatefulObservable,
9
+ useRerenderOnChange
10
+ } from "keycloakify/tools/StatefulObservable";
9
11
  import { KcContext } from "../kcContext";
10
12
 
11
- const evtTermsMarkdown = Evt.create<string | undefined>(undefined);
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 => (evtTermsMarkdown.state = thermMarkdown));
50
+ ).then(thermMarkdown => (obsTermsMarkdown.current = thermMarkdown));
49
51
  }
50
52
  }, []);
51
53
  }
52
54
 
53
55
  export function useTermsMarkdown() {
54
- useRerenderOnStateChange(evtTermsMarkdown);
56
+ useRerenderOnChange(obsTermsMarkdown);
55
57
 
56
- const termsMarkdown = evtTermsMarkdown.state;
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,2 @@
1
+ export * from "./useObservable";
2
+ export * from "./useRerenderOnChange";
@@ -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,2 @@
1
+ export * from "./StatefulObservable";
2
+ export * from "./hooks";
@@ -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,2 @@
1
+ export * from "./useObservable";
2
+ export * from "./useRerenderOnChange";
@@ -0,0 +1,3 @@
1
+ export * from "./useObservable";
2
+ export * from "./useRerenderOnChange";
3
+ //# sourceMappingURL=index.js.map
@@ -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,5 @@
1
+ import type { StatefulObservable } from "../StatefulObservable";
2
+ /**
3
+ * Equivalent of https://docs.evt.land/api/react-hooks
4
+ * */
5
+ export declare function useRerenderOnChange($: StatefulObservable<unknown>): void;
@@ -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,2 @@
1
+ export * from "./StatefulObservable";
2
+ export * from "./hooks";
@@ -0,0 +1,3 @@
1
+ export * from "./StatefulObservable";
2
+ export * from "./hooks";
3
+ //# sourceMappingURL=index.js.map
@@ -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"}
@@ -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";