keycloakify 10.1.3 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/account/KcContext/kcContextMocks.js +18 -6
  2. package/account/KcContext/kcContextMocks.js.map +1 -1
  3. package/account/Template.js +8 -26
  4. package/account/Template.js.map +1 -1
  5. package/account/Template.useInitialize.d.ts +12 -0
  6. package/account/Template.useInitialize.js +20 -0
  7. package/account/Template.useInitialize.js.map +1 -0
  8. package/account/i18n/index.d.ts +5 -5
  9. package/account/i18n/index.js +1 -1
  10. package/account/i18n/index.js.map +1 -1
  11. package/account/i18n/messages_defaultSet/types.d.ts +3 -0
  12. package/account/i18n/messages_defaultSet/types.js +26 -0
  13. package/account/i18n/messages_defaultSet/types.js.map +1 -0
  14. package/account/i18n/noJsx/GenericI18n_noJsx.d.ts +63 -0
  15. package/account/i18n/noJsx/GenericI18n_noJsx.js +2 -0
  16. package/account/i18n/noJsx/GenericI18n_noJsx.js.map +1 -0
  17. package/account/i18n/noJsx/getI18n.d.ts +41 -0
  18. package/account/i18n/noJsx/getI18n.js +207 -0
  19. package/account/i18n/noJsx/getI18n.js.map +1 -0
  20. package/account/i18n/noJsx/i18nBuilder.d.ts +18 -0
  21. package/account/i18n/noJsx/i18nBuilder.js +27 -0
  22. package/account/i18n/noJsx/i18nBuilder.js.map +1 -0
  23. package/account/i18n/noJsx/index.d.ts +3 -0
  24. package/account/i18n/noJsx/index.js +2 -0
  25. package/account/i18n/noJsx/index.js.map +1 -0
  26. package/account/i18n/withJsx/GenericI18n.d.ts +72 -0
  27. package/account/i18n/withJsx/GenericI18n.js +5 -0
  28. package/account/i18n/withJsx/GenericI18n.js.map +1 -0
  29. package/account/i18n/withJsx/i18nBuilder.d.ts +18 -0
  30. package/account/i18n/withJsx/i18nBuilder.js +27 -0
  31. package/account/i18n/withJsx/i18nBuilder.js.map +1 -0
  32. package/account/i18n/withJsx/index.d.ts +3 -0
  33. package/account/i18n/withJsx/index.js +2 -0
  34. package/account/i18n/withJsx/index.js.map +1 -0
  35. package/account/i18n/withJsx/useI18n.d.ts +27 -0
  36. package/account/i18n/{useI18n.js → withJsx/useI18n.js} +6 -4
  37. package/account/i18n/withJsx/useI18n.js.map +1 -0
  38. package/account/index.d.ts +1 -1
  39. package/account/index.js +1 -1
  40. package/account/index.js.map +1 -1
  41. package/account/pages/Totp.js +3 -2
  42. package/account/pages/Totp.js.map +1 -1
  43. package/bin/246.index.js +191 -191
  44. package/bin/499.index.js +252 -68
  45. package/bin/main.js +1 -1
  46. package/lib/kcSanitize/HtmlPolicyBuilder.d.ts +28 -0
  47. package/lib/kcSanitize/HtmlPolicyBuilder.js +209 -0
  48. package/lib/kcSanitize/HtmlPolicyBuilder.js.map +1 -0
  49. package/lib/kcSanitize/KcSanitizer.d.ts +12 -0
  50. package/lib/kcSanitize/KcSanitizer.js +46 -0
  51. package/lib/kcSanitize/KcSanitizer.js.map +1 -0
  52. package/lib/kcSanitize/KcSanitizerPolicy.d.ts +24 -0
  53. package/lib/kcSanitize/KcSanitizerPolicy.js +149 -0
  54. package/lib/kcSanitize/KcSanitizerPolicy.js.map +1 -0
  55. package/lib/kcSanitize/index.d.ts +1 -0
  56. package/lib/kcSanitize/index.js +5 -0
  57. package/lib/kcSanitize/index.js.map +1 -0
  58. package/login/KcContext/kcContextMocks.js +24 -6
  59. package/login/KcContext/kcContextMocks.js.map +1 -1
  60. package/login/Template.js +7 -7
  61. package/login/Template.js.map +1 -1
  62. package/login/{Template.useStylesAndScripts.d.ts → Template.useInitialize.d.ts} +1 -4
  63. package/login/{Template.useStylesAndScripts.js → Template.useInitialize.js} +5 -23
  64. package/login/Template.useInitialize.js.map +1 -0
  65. package/login/i18n/index.d.ts +5 -5
  66. package/login/i18n/index.js +1 -1
  67. package/login/i18n/index.js.map +1 -1
  68. package/login/i18n/messages_defaultSet/types.d.ts +3 -0
  69. package/login/i18n/messages_defaultSet/types.js +33 -0
  70. package/login/i18n/messages_defaultSet/types.js.map +1 -0
  71. package/login/i18n/noJsx/GenericI18n_noJsx.d.ts +63 -0
  72. package/login/i18n/noJsx/GenericI18n_noJsx.js +2 -0
  73. package/login/i18n/noJsx/GenericI18n_noJsx.js.map +1 -0
  74. package/login/i18n/noJsx/getI18n.d.ts +41 -0
  75. package/login/i18n/noJsx/getI18n.js +207 -0
  76. package/login/i18n/noJsx/getI18n.js.map +1 -0
  77. package/login/i18n/noJsx/i18nBuilder.d.ts +18 -0
  78. package/login/i18n/noJsx/i18nBuilder.js +27 -0
  79. package/login/i18n/noJsx/i18nBuilder.js.map +1 -0
  80. package/login/i18n/noJsx/index.d.ts +3 -0
  81. package/login/i18n/noJsx/index.js +2 -0
  82. package/login/i18n/noJsx/index.js.map +1 -0
  83. package/login/i18n/withJsx/GenericI18n.d.ts +72 -0
  84. package/login/i18n/withJsx/GenericI18n.js +5 -0
  85. package/login/i18n/withJsx/GenericI18n.js.map +1 -0
  86. package/login/i18n/withJsx/i18nBuilder.d.ts +18 -0
  87. package/login/i18n/withJsx/i18nBuilder.js +27 -0
  88. package/login/i18n/withJsx/i18nBuilder.js.map +1 -0
  89. package/login/i18n/withJsx/index.d.ts +3 -0
  90. package/login/i18n/withJsx/index.js +2 -0
  91. package/login/i18n/withJsx/index.js.map +1 -0
  92. package/login/i18n/withJsx/useI18n.d.ts +27 -0
  93. package/login/i18n/{useI18n.js → withJsx/useI18n.js} +6 -4
  94. package/login/i18n/withJsx/useI18n.js.map +1 -0
  95. package/login/index.d.ts +1 -1
  96. package/login/index.js +1 -1
  97. package/login/index.js.map +1 -1
  98. package/login/lib/useUserProfileForm.d.ts +1 -1
  99. package/login/lib/useUserProfileForm.js +2 -1
  100. package/login/lib/useUserProfileForm.js.map +1 -1
  101. package/login/pages/Error.js +2 -1
  102. package/login/pages/Error.js.map +1 -1
  103. package/login/pages/Info.js +4 -3
  104. package/login/pages/Info.js.map +1 -1
  105. package/login/pages/Login.js +4 -3
  106. package/login/pages/Login.js.map +1 -1
  107. package/login/pages/LoginConfigTotp.js +3 -2
  108. package/login/pages/LoginConfigTotp.js.map +1 -1
  109. package/login/pages/LoginOtp.js +2 -1
  110. package/login/pages/LoginOtp.js.map +1 -1
  111. package/login/pages/LoginPassword.js +2 -1
  112. package/login/pages/LoginPassword.js.map +1 -1
  113. package/login/pages/LoginRecoveryAuthnCodeInput.js +2 -1
  114. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  115. package/login/pages/LoginResetPassword.js +2 -1
  116. package/login/pages/LoginResetPassword.js.map +1 -1
  117. package/login/pages/LoginUpdatePassword.js +3 -2
  118. package/login/pages/LoginUpdatePassword.js.map +1 -1
  119. package/login/pages/Register.js +2 -1
  120. package/login/pages/Register.js.map +1 -1
  121. package/package.json +110 -31
  122. package/src/account/KcContext/kcContextMocks.ts +49 -29
  123. package/src/account/Template.tsx +11 -32
  124. package/src/account/Template.useInitialize.ts +35 -0
  125. package/src/account/i18n/index.ts +5 -5
  126. package/src/account/i18n/messages_defaultSet/types.ts +30 -0
  127. package/src/account/i18n/noJsx/GenericI18n_noJsx.ts +64 -0
  128. package/src/account/i18n/noJsx/getI18n.tsx +341 -0
  129. package/src/account/i18n/noJsx/i18nBuilder.ts +117 -0
  130. package/src/account/i18n/noJsx/index.ts +3 -0
  131. package/src/account/i18n/withJsx/GenericI18n.tsx +81 -0
  132. package/src/account/i18n/withJsx/i18nBuilder.ts +117 -0
  133. package/src/account/i18n/withJsx/index.ts +3 -0
  134. package/src/{login/i18n → account/i18n/withJsx}/useI18n.tsx +43 -11
  135. package/src/account/index.ts +1 -1
  136. package/src/account/pages/Totp.tsx +3 -2
  137. package/src/bin/initialize-account-theme/src/multi-page/i18n.ts +10 -3
  138. package/src/bin/keycloakify/generateFtl/kcContextDeclarationTemplate.ftl +15 -0
  139. package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +371 -121
  140. package/src/bin/keycloakify/generateResources/generateResources.ts +8 -6
  141. package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +61 -29
  142. package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +15 -9
  143. package/src/lib/kcSanitize/HtmlPolicyBuilder.ts +252 -0
  144. package/src/lib/kcSanitize/KcSanitizer.ts +60 -0
  145. package/src/lib/kcSanitize/KcSanitizerPolicy.ts +294 -0
  146. package/src/lib/kcSanitize/index.ts +5 -0
  147. package/src/login/KcContext/kcContextMocks.ts +54 -29
  148. package/src/login/Template.tsx +11 -17
  149. package/src/login/{Template.useStylesAndScripts.ts → Template.useInitialize.ts} +5 -29
  150. package/src/login/i18n/index.ts +5 -5
  151. package/src/login/i18n/messages_defaultSet/types.ts +37 -0
  152. package/src/login/i18n/noJsx/GenericI18n_noJsx.ts +64 -0
  153. package/src/login/i18n/noJsx/getI18n.tsx +341 -0
  154. package/src/login/i18n/noJsx/i18nBuilder.ts +117 -0
  155. package/src/login/i18n/noJsx/index.ts +3 -0
  156. package/src/login/i18n/withJsx/GenericI18n.tsx +81 -0
  157. package/src/login/i18n/withJsx/i18nBuilder.ts +117 -0
  158. package/src/login/i18n/withJsx/index.ts +3 -0
  159. package/src/{account/i18n → login/i18n/withJsx}/useI18n.tsx +43 -11
  160. package/src/login/index.ts +1 -1
  161. package/src/login/lib/useUserProfileForm.tsx +3 -2
  162. package/src/login/pages/Error.tsx +2 -1
  163. package/src/login/pages/Info.tsx +13 -10
  164. package/src/login/pages/Login.tsx +4 -3
  165. package/src/login/pages/LoginConfigTotp.tsx +3 -2
  166. package/src/login/pages/LoginOtp.tsx +2 -1
  167. package/src/login/pages/LoginPassword.tsx +2 -1
  168. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +2 -1
  169. package/src/login/pages/LoginResetPassword.tsx +2 -1
  170. package/src/login/pages/LoginUpdatePassword.tsx +3 -2
  171. package/src/login/pages/Register.tsx +2 -1
  172. package/src/tools/useInsertScriptTags.ts +1 -1
  173. package/src/tools/vendor/dompurify.ts +3 -0
  174. package/stories/intro/intro.stories.tsx +0 -1
  175. package/tools/useInsertScriptTags.d.ts +1 -1
  176. package/tools/vendor/dompurify.d.ts +2 -0
  177. package/tools/vendor/dompurify.js +2 -0
  178. package/account/i18n/GenericI18n.d.ts +0 -6
  179. package/account/i18n/GenericI18n.js +0 -2
  180. package/account/i18n/GenericI18n.js.map +0 -1
  181. package/account/i18n/i18n.d.ts +0 -87
  182. package/account/i18n/i18n.js +0 -111
  183. package/account/i18n/i18n.js.map +0 -1
  184. package/account/i18n/useI18n.d.ts +0 -14
  185. package/account/i18n/useI18n.js.map +0 -1
  186. package/login/Template.useStylesAndScripts.js.map +0 -1
  187. package/login/i18n/GenericI18n.d.ts +0 -6
  188. package/login/i18n/GenericI18n.js +0 -2
  189. package/login/i18n/GenericI18n.js.map +0 -1
  190. package/login/i18n/i18n.d.ts +0 -87
  191. package/login/i18n/i18n.js +0 -113
  192. package/login/i18n/i18n.js.map +0 -1
  193. package/login/i18n/useI18n.d.ts +0 -14
  194. package/login/i18n/useI18n.js.map +0 -1
  195. package/src/account/i18n/GenericI18n.tsx +0 -6
  196. package/src/account/i18n/i18n.tsx +0 -250
  197. package/src/login/i18n/GenericI18n.tsx +0 -6
  198. package/src/login/i18n/i18n.tsx +0 -252
@@ -2,6 +2,7 @@ import "../../tools/Object.fromEntries";
2
2
  import { WELL_KNOWN_DIRECTORY_BASE_NAME } from "../../bin/shared/constants";
3
3
  import { id } from "tsafe/id";
4
4
  import { BASE_URL } from "../../lib/BASE_URL";
5
+ import { assert } from "tsafe/assert";
5
6
  const resourcesPath = `${BASE_URL}${WELL_KNOWN_DIRECTORY_BASE_NAME.KEYCLOAKIFY_DEV_RESOURCES}/account`;
6
7
  export const kcContextCommonMock = {
7
8
  themeVersion: "0.0.0",
@@ -54,13 +55,24 @@ export const kcContextCommonMock = {
54
55
  ["pl", "Polski"],
55
56
  ["ca", "Català"],
56
57
  ["nl", "Nederlands"],
57
- ["tr", "Türkçe"]
58
+ ["tr", "Türkçe"],
59
+ ["ar", "العربية"],
60
+ ["da", "Dansk"],
61
+ ["fi", "Suomi"],
62
+ ["hu", "Magyar"],
63
+ ["lv", "Latviešu"]
58
64
  /* spell-checker: enable */
59
- ].map(([languageTag, label]) => ({
60
- languageTag,
61
- label,
62
- url: "https://gist.github.com/garronej/52baaca1bb925f2296ab32741e062b8e"
63
- })),
65
+ ].map(([languageTag, label]) => {
66
+ {
67
+ assert;
68
+ assert;
69
+ }
70
+ return {
71
+ languageTag,
72
+ label,
73
+ url: "https://gist.github.com/garronej/52baaca1bb925f2296ab32741e062b8e"
74
+ };
75
+ }),
64
76
  currentLanguageTag: "en"
65
77
  },
66
78
  features: {
@@ -1 +1 @@
1
- {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/KcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/KcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect } from "react";
3
- import { assert } from "../tools/assert";
4
3
  import { clsx } from "../tools/clsx";
4
+ import { kcSanitize } from "../lib/kcSanitize";
5
5
  import { getKcClsx } from "../account/lib/kcClsx";
6
- import { useInsertLinkTags } from "../tools/useInsertLinkTags";
7
6
  import { useSetClassName } from "../tools/useSetClassName";
7
+ import { useInitialize } from "../account/Template.useInitialize";
8
8
  export default function Template(props) {
9
9
  const { kcContext, i18n, doUseDefaultCss, active, classes, children } = props;
10
10
  const { kcClsx } = getKcClsx({ doUseDefaultCss, classes });
11
- const { msg, msgStr, getChangeLocaleUrl, labelBySupportedLanguageTag, currentLanguageTag } = i18n;
12
- const { locale, url, features, realm, message, referrer } = kcContext;
11
+ const { msg, msgStr, currentLanguage, enabledLanguages } = i18n;
12
+ const { url, features, realm, message, referrer } = kcContext;
13
13
  useEffect(() => {
14
14
  document.title = msgStr("accountManagementTitle");
15
15
  }, []);
@@ -21,30 +21,12 @@ export default function Template(props) {
21
21
  qualifiedName: "body",
22
22
  className: clsx("admin-console", "user", kcClsx("kcBodyClass"))
23
23
  });
24
- useEffect(() => {
25
- const { currentLanguageTag } = locale !== null && locale !== void 0 ? locale : {};
26
- if (currentLanguageTag === undefined) {
27
- return;
28
- }
29
- const html = document.querySelector("html");
30
- assert(html !== null);
31
- html.lang = currentLanguageTag;
32
- }, []);
33
- const { areAllStyleSheetsLoaded } = useInsertLinkTags({
34
- componentOrHookName: "Template",
35
- hrefs: !doUseDefaultCss
36
- ? []
37
- : [
38
- `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`,
39
- `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`,
40
- `${url.resourcesPath}/css/account.css`
41
- ]
42
- });
43
- if (!areAllStyleSheetsLoaded) {
24
+ const { isReadyToRender } = useInitialize({ kcContext, doUseDefaultCss });
25
+ if (!isReadyToRender) {
44
26
  return null;
45
27
  }
46
- return (_jsxs(_Fragment, { children: [_jsx("header", Object.assign({ className: "navbar navbar-default navbar-pf navbar-main header" }, { children: _jsxs("nav", Object.assign({ className: "navbar", role: "navigation" }, { children: [_jsx("div", Object.assign({ className: "navbar-header" }, { children: _jsx("div", Object.assign({ className: "container" }, { children: _jsx("h1", Object.assign({ className: "navbar-title" }, { children: "Keycloak" })) })) })), _jsx("div", Object.assign({ className: "navbar-collapse navbar-collapse-1" }, { children: _jsx("div", Object.assign({ className: "container" }, { children: _jsxs("ul", Object.assign({ className: "nav navbar-nav navbar-utility" }, { children: [realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && (_jsx("li", { children: _jsxs("div", Object.assign({ className: "kc-dropdown", id: "kc-locale-dropdown" }, { children: [_jsx("a", Object.assign({ href: "#", id: "kc-current-locale-link" }, { children: labelBySupportedLanguageTag[currentLanguageTag] })), _jsx("ul", { children: locale.supported.map(({ languageTag }) => (_jsx("li", Object.assign({ className: "kc-dropdown-item" }, { children: _jsx("a", Object.assign({ href: getChangeLocaleUrl(languageTag) }, { children: labelBySupportedLanguageTag[languageTag] })) }), languageTag))) })] })) })), (referrer === null || referrer === void 0 ? void 0 : referrer.url) && (_jsx("li", { children: _jsx("a", Object.assign({ href: referrer.url, id: "referrer" }, { children: msg("backTo", referrer.name) })) })), _jsx("li", { children: _jsx("a", Object.assign({ href: url.getLogoutUrl() }, { children: msg("doSignOut") })) })] })) })) }))] })) })), _jsxs("div", Object.assign({ className: "container" }, { children: [_jsx("div", Object.assign({ className: "bs-sidebar col-sm-3" }, { children: _jsxs("ul", { children: [_jsx("li", Object.assign({ className: clsx(active === "account" && "active") }, { children: _jsx("a", Object.assign({ href: url.accountUrl }, { children: msg("account") })) })), features.passwordUpdateSupported && (_jsx("li", Object.assign({ className: clsx(active === "password" && "active") }, { children: _jsx("a", Object.assign({ href: url.passwordUrl }, { children: msg("password") })) }))), _jsx("li", Object.assign({ className: clsx(active === "totp" && "active") }, { children: _jsx("a", Object.assign({ href: url.totpUrl }, { children: msg("authenticator") })) })), features.identityFederation && (_jsx("li", Object.assign({ className: clsx(active === "social" && "active") }, { children: _jsx("a", Object.assign({ href: url.socialUrl }, { children: msg("federatedIdentity") })) }))), _jsx("li", Object.assign({ className: clsx(active === "sessions" && "active") }, { children: _jsx("a", Object.assign({ href: url.sessionsUrl }, { children: msg("sessions") })) })), _jsx("li", Object.assign({ className: clsx(active === "applications" && "active") }, { children: _jsx("a", Object.assign({ href: url.applicationsUrl }, { children: msg("applications") })) })), features.log && (_jsx("li", Object.assign({ className: clsx(active === "log" && "active") }, { children: _jsx("a", Object.assign({ href: url.logUrl }, { children: msg("log") })) }))), realm.userManagedAccessAllowed && features.authorization && (_jsx("li", Object.assign({ className: clsx(active === "authorization" && "active") }, { children: _jsx("a", Object.assign({ href: url.resourceUrl }, { children: msg("myResources") })) })))] }) })), _jsxs("div", Object.assign({ className: "col-sm-9 content-area" }, { children: [message !== undefined && (_jsxs("div", Object.assign({ className: clsx("alert", `alert-${message.type}`) }, { children: [message.type === "success" && _jsx("span", { className: "pficon pficon-ok" }), message.type === "error" && _jsx("span", { className: "pficon pficon-error-circle-o" }), _jsx("span", { className: "kc-feedback-text", dangerouslySetInnerHTML: {
47
- __html: message.summary
28
+ return (_jsxs(_Fragment, { children: [_jsx("header", Object.assign({ className: "navbar navbar-default navbar-pf navbar-main header" }, { children: _jsxs("nav", Object.assign({ className: "navbar", role: "navigation" }, { children: [_jsx("div", Object.assign({ className: "navbar-header" }, { children: _jsx("div", Object.assign({ className: "container" }, { children: _jsx("h1", Object.assign({ className: "navbar-title" }, { children: "Keycloak" })) })) })), _jsx("div", Object.assign({ className: "navbar-collapse navbar-collapse-1" }, { children: _jsx("div", Object.assign({ className: "container" }, { children: _jsxs("ul", Object.assign({ className: "nav navbar-nav navbar-utility" }, { children: [enabledLanguages.length > 1 && (_jsx("li", { children: _jsxs("div", Object.assign({ className: "kc-dropdown", id: "kc-locale-dropdown" }, { children: [_jsx("a", Object.assign({ href: "#", id: "kc-current-locale-link" }, { children: currentLanguage.label })), _jsx("ul", { children: enabledLanguages.map(({ languageTag, label, href }) => (_jsx("li", Object.assign({ className: "kc-dropdown-item" }, { children: _jsx("a", Object.assign({ href: href }, { children: label })) }), languageTag))) })] })) })), (referrer === null || referrer === void 0 ? void 0 : referrer.url) && (_jsx("li", { children: _jsx("a", Object.assign({ href: referrer.url, id: "referrer" }, { children: msg("backTo", referrer.name) })) })), _jsx("li", { children: _jsx("a", Object.assign({ href: url.getLogoutUrl() }, { children: msg("doSignOut") })) })] })) })) }))] })) })), _jsxs("div", Object.assign({ className: "container" }, { children: [_jsx("div", Object.assign({ className: "bs-sidebar col-sm-3" }, { children: _jsxs("ul", { children: [_jsx("li", Object.assign({ className: clsx(active === "account" && "active") }, { children: _jsx("a", Object.assign({ href: url.accountUrl }, { children: msg("account") })) })), features.passwordUpdateSupported && (_jsx("li", Object.assign({ className: clsx(active === "password" && "active") }, { children: _jsx("a", Object.assign({ href: url.passwordUrl }, { children: msg("password") })) }))), _jsx("li", Object.assign({ className: clsx(active === "totp" && "active") }, { children: _jsx("a", Object.assign({ href: url.totpUrl }, { children: msg("authenticator") })) })), features.identityFederation && (_jsx("li", Object.assign({ className: clsx(active === "social" && "active") }, { children: _jsx("a", Object.assign({ href: url.socialUrl }, { children: msg("federatedIdentity") })) }))), _jsx("li", Object.assign({ className: clsx(active === "sessions" && "active") }, { children: _jsx("a", Object.assign({ href: url.sessionsUrl }, { children: msg("sessions") })) })), _jsx("li", Object.assign({ className: clsx(active === "applications" && "active") }, { children: _jsx("a", Object.assign({ href: url.applicationsUrl }, { children: msg("applications") })) })), features.log && (_jsx("li", Object.assign({ className: clsx(active === "log" && "active") }, { children: _jsx("a", Object.assign({ href: url.logUrl }, { children: msg("log") })) }))), realm.userManagedAccessAllowed && features.authorization && (_jsx("li", Object.assign({ className: clsx(active === "authorization" && "active") }, { children: _jsx("a", Object.assign({ href: url.resourceUrl }, { children: msg("myResources") })) })))] }) })), _jsxs("div", Object.assign({ className: "col-sm-9 content-area" }, { children: [message !== undefined && (_jsxs("div", Object.assign({ className: clsx("alert", `alert-${message.type}`) }, { children: [message.type === "success" && _jsx("span", { className: "pficon pficon-ok" }), message.type === "error" && _jsx("span", { className: "pficon pficon-error-circle-o" }), _jsx("span", { className: "kc-feedback-text", dangerouslySetInnerHTML: {
29
+ __html: kcSanitize(message.summary)
48
30
  } })] }))), children] }))] }))] }));
49
31
  }
50
32
  //# sourceMappingURL=Template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/account/Template.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/account/Template.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type KcContextLike = {
2
+ url: {
3
+ resourcesCommonPath: string;
4
+ resourcesPath: string;
5
+ };
6
+ };
7
+ export declare function useInitialize(params: {
8
+ kcContext: KcContextLike;
9
+ doUseDefaultCss: boolean;
10
+ }): {
11
+ isReadyToRender: boolean;
12
+ };
@@ -0,0 +1,20 @@
1
+ import { assert } from "../tools/assert";
2
+ import { useInsertLinkTags } from "../tools/useInsertLinkTags";
3
+ assert();
4
+ assert();
5
+ export function useInitialize(params) {
6
+ const { kcContext, doUseDefaultCss } = params;
7
+ const { url } = kcContext;
8
+ const { areAllStyleSheetsLoaded } = useInsertLinkTags({
9
+ componentOrHookName: "Template",
10
+ hrefs: !doUseDefaultCss
11
+ ? []
12
+ : [
13
+ `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`,
14
+ `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`,
15
+ `${url.resourcesPath}/css/account.css`
16
+ ]
17
+ });
18
+ return { isReadyToRender: areAllStyleSheetsLoaded };
19
+ }
20
+ //# sourceMappingURL=Template.useInitialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Template.useInitialize.js","sourceRoot":"","sources":["../src/account/Template.useInitialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAUxE,MAAM,EAA8D,CAAC;AACrE,MAAM,EAAkD,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,MAG7B;IACG,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE9C,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,MAAM,EAAE,uBAAuB,EAAE,GAAG,iBAAiB,CAAC;QAClD,mBAAmB,EAAE,UAAU;QAC/B,KAAK,EAAE,CAAC,eAAe;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,GAAG,GAAG,CAAC,mBAAmB,sDAAsD;gBAChF,GAAG,GAAG,CAAC,mBAAmB,gEAAgE;gBAC1F,GAAG,GAAG,CAAC,aAAa,kBAAkB;aACzC;KACV,CAAC,CAAC;IAEH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AACxD,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { GenericI18n } from "./GenericI18n";
2
- import type { MessageKey_defaultSet, KcContextLike } from "./i18n";
3
- export type { MessageKey_defaultSet, KcContextLike };
4
- export type I18n = GenericI18n<MessageKey_defaultSet>;
5
- export { createUseI18n } from "./useI18n";
1
+ export * from "./withJsx";
2
+ import type { GenericI18n } from "./withJsx/GenericI18n";
3
+ import type { MessageKey as MessageKey_defaultSet } from "./messages_defaultSet/types";
4
+ /** INTERNAL: DO NOT IMPORT THIS */
5
+ export type I18n = GenericI18n<MessageKey_defaultSet, string>;
@@ -1,2 +1,2 @@
1
- export { createUseI18n } from "./useI18n";
1
+ export * from "./withJsx";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/i18n/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/i18n/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const languageTags: readonly ["ar", "ca", "cs", "da", "de", "en", "es", "fi", "fr", "hu", "it", "ja", "lt", "lv", "nl", "no", "pl", "pt-BR", "ru", "sk", "sv", "tr", "zh-CN"];
2
+ export type LanguageTag = typeof languageTags[number];
3
+ export type MessageKey = keyof typeof import("./en")["default"];
@@ -0,0 +1,26 @@
1
+ export const languageTags = [
2
+ "ar",
3
+ "ca",
4
+ "cs",
5
+ "da",
6
+ "de",
7
+ "en",
8
+ "es",
9
+ "fi",
10
+ "fr",
11
+ "hu",
12
+ "it",
13
+ "ja",
14
+ "lt",
15
+ "lv",
16
+ "nl",
17
+ "no",
18
+ "pl",
19
+ "pt-BR",
20
+ "ru",
21
+ "sk",
22
+ "sv",
23
+ "tr",
24
+ "zh-CN"
25
+ ];
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/account/i18n/messages_defaultSet/types.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;CACC,CAAC"}
@@ -0,0 +1,63 @@
1
+ export type GenericI18n_noJsx<MessageKey extends string, LanguageTag extends string> = {
2
+ currentLanguage: {
3
+ /**
4
+ * e.g: "en", "fr", "zh-CN"
5
+ *
6
+ * The current language
7
+ */
8
+ languageTag: LanguageTag;
9
+ /**
10
+ * e.g: "English", "Français", "中文(简体)"
11
+ *
12
+ * The current language
13
+ */
14
+ label: string;
15
+ };
16
+ /**
17
+ * Array of languages enabled on the realm.
18
+ */
19
+ enabledLanguages: {
20
+ languageTag: LanguageTag;
21
+ label: string;
22
+ href: string;
23
+ }[];
24
+ /**
25
+ *
26
+ * Examples assuming currentLanguageTag === "en"
27
+ * {
28
+ * en: {
29
+ * "access-denied": "Access denied",
30
+ * "impersonateTitleHtml": "<strong>{0}</strong> Impersonate User",
31
+ * "bar": "Bar {0}"
32
+ * }
33
+ * }
34
+ *
35
+ * msgStr("access-denied") === "Access denied"
36
+ * msgStr("not-a-message-key") Throws an error
37
+ * msgStr("impersonateTitleHtml", "Foo") === "<strong>Foo</strong> Impersonate User"
38
+ * msgStr("${bar}", "<strong>c</strong>") === "Bar &lt;strong&gt;XXX&lt;/strong&gt;"
39
+ * The html in the arg is partially escaped for security reasons, it might come from an untrusted source, it's not safe to render it as html.
40
+ */
41
+ msgStr: (key: MessageKey, ...args: (string | undefined)[]) => string;
42
+ /**
43
+ * This is meant to be used when the key argument is variable, something that might have been configured by the user
44
+ * in the Keycloak admin for example.
45
+ *
46
+ * Examples assuming currentLanguageTag === "en"
47
+ * {
48
+ * en: {
49
+ * "access-denied": "Access denied",
50
+ * }
51
+ * }
52
+ *
53
+ * advancedMsgStr("${access-denied}") === advancedMsgStr("access-denied") === msgStr("access-denied") === "Access denied"
54
+ * advancedMsgStr("${not-a-message-key}") === advancedMsgStr("not-a-message-key") === "not-a-message-key"
55
+ */
56
+ advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
57
+ /**
58
+ * Initially the messages are in english (fallback language).
59
+ * The translations in the current language are being fetched dynamically.
60
+ * This property is true while the translations are being fetched.
61
+ */
62
+ isFetchingTranslations: boolean;
63
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GenericI18n_noJsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericI18n_noJsx.js","sourceRoot":"","sources":["../../../src/account/i18n/noJsx/GenericI18n_noJsx.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import "../../../tools/Object.fromEntries";
2
+ import { type LanguageTag as LanguageTag_defaultSet, type MessageKey as MessageKey_defaultSet } from "../messages_defaultSet/types";
3
+ import type { GenericI18n_noJsx } from "./GenericI18n_noJsx";
4
+ export type KcContextLike = {
5
+ themeName: string;
6
+ locale?: {
7
+ currentLanguageTag: string;
8
+ supported: {
9
+ languageTag: string;
10
+ url: string;
11
+ label: string;
12
+ }[];
13
+ };
14
+ "x-keycloakify": {
15
+ messages: Record<string, string>;
16
+ };
17
+ };
18
+ export type ReturnTypeOfCreateGetI18n<MessageKey_themeDefined extends string, LanguageTag_notInDefaultSet extends string> = {
19
+ getI18n: (params: {
20
+ kcContext: KcContextLike;
21
+ }) => {
22
+ i18n: GenericI18n_noJsx<MessageKey_defaultSet | MessageKey_themeDefined, LanguageTag_defaultSet | LanguageTag_notInDefaultSet>;
23
+ prI18n_currentLanguage: Promise<GenericI18n_noJsx<MessageKey_defaultSet | MessageKey_themeDefined, LanguageTag_defaultSet | LanguageTag_notInDefaultSet>> | undefined;
24
+ };
25
+ ofTypeI18n: GenericI18n_noJsx<MessageKey_defaultSet | MessageKey_themeDefined, LanguageTag_defaultSet | LanguageTag_notInDefaultSet>;
26
+ };
27
+ export declare function createGetI18n<ThemeName extends string = string, MessageKey_themeDefined extends string = never, LanguageTag_notInDefaultSet extends string = never>(params: {
28
+ extraLanguageTranslations: {
29
+ [languageTag in LanguageTag_notInDefaultSet]: {
30
+ label: string;
31
+ getMessages: () => Promise<{
32
+ default: Record<MessageKey_defaultSet, string>;
33
+ }>;
34
+ };
35
+ };
36
+ messagesByLanguageTag_themeDefined: Partial<{
37
+ [languageTag in LanguageTag_defaultSet | LanguageTag_notInDefaultSet]: {
38
+ [key in MessageKey_themeDefined]: string | Record<ThemeName, string>;
39
+ };
40
+ }>;
41
+ }): ReturnTypeOfCreateGetI18n<MessageKey_themeDefined, LanguageTag_notInDefaultSet>;
@@ -0,0 +1,207 @@
1
+ import "../../../tools/Object.fromEntries";
2
+ import { assert } from "tsafe/assert";
3
+ import messages_defaultSet_fallbackLanguage from "../messages_defaultSet/en";
4
+ import { fetchMessages_defaultSet } from "../messages_defaultSet";
5
+ import { FALLBACK_LANGUAGE_TAG } from "../../../bin/shared/constants";
6
+ import { id } from "tsafe/id";
7
+ import { is } from "tsafe/is";
8
+ import { Reflect } from "tsafe/Reflect";
9
+ import { languageTags as languageTags_defaultSet } from "../messages_defaultSet/types";
10
+ assert();
11
+ export function createGetI18n(params) {
12
+ const { extraLanguageTranslations, messagesByLanguageTag_themeDefined } = params;
13
+ Object.keys(extraLanguageTranslations).forEach(languageTag_notInDefaultSet => {
14
+ if (id(languageTags_defaultSet).includes(languageTag_notInDefaultSet)) {
15
+ throw new Error([
16
+ `Language "${languageTag_notInDefaultSet}" is already in the default set, you don't need to provide your own base translations for it`,
17
+ `If you want to override some translations for this language, you can use the "withCustomTranslations" method`
18
+ ].join(" "));
19
+ }
20
+ });
21
+ const cachedResultByKcContext = new WeakMap();
22
+ function getI18n(params) {
23
+ var _a, _b, _c, _d;
24
+ const { kcContext } = params;
25
+ use_cache: {
26
+ const cachedResult = cachedResultByKcContext.get(kcContext);
27
+ if (cachedResult === undefined) {
28
+ break use_cache;
29
+ }
30
+ return cachedResult;
31
+ }
32
+ {
33
+ const currentLanguageTag = (_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : FALLBACK_LANGUAGE_TAG;
34
+ const html = document.querySelector("html");
35
+ assert(html !== null);
36
+ html.lang = currentLanguageTag;
37
+ }
38
+ const getLanguageLabel = (languageTag) => {
39
+ form_user_added_languages: {
40
+ if (!(languageTag in extraLanguageTranslations)) {
41
+ break form_user_added_languages;
42
+ }
43
+ assert(is(languageTag));
44
+ const entry = extraLanguageTranslations[languageTag];
45
+ return entry.label;
46
+ }
47
+ from_server: {
48
+ if (kcContext.locale === undefined) {
49
+ break from_server;
50
+ }
51
+ const supportedEntry = kcContext.locale.supported.find(entry => entry.languageTag === languageTag);
52
+ if (supportedEntry === undefined) {
53
+ break from_server;
54
+ }
55
+ // cspell: disable-next-line
56
+ // from "Espagnol (Español)" we want to extract "Español"
57
+ const match = supportedEntry.label.match(/[^(]+\(([^)]+)\)/);
58
+ if (match !== null) {
59
+ return match[1];
60
+ }
61
+ return supportedEntry.label;
62
+ }
63
+ // NOTE: This should never happen
64
+ return languageTag;
65
+ };
66
+ const currentLanguage = (() => {
67
+ var _a, _b;
68
+ const languageTag = id((_b = (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.currentLanguageTag) !== null && _b !== void 0 ? _b : FALLBACK_LANGUAGE_TAG);
69
+ return {
70
+ languageTag,
71
+ label: getLanguageLabel(languageTag)
72
+ };
73
+ })();
74
+ const enabledLanguages = (() => {
75
+ var _a;
76
+ const enabledLanguages = [];
77
+ if (kcContext.locale !== undefined) {
78
+ for (const entry of (_a = kcContext.locale.supported) !== null && _a !== void 0 ? _a : []) {
79
+ const languageTag = id(entry.languageTag);
80
+ enabledLanguages.push({
81
+ languageTag,
82
+ label: getLanguageLabel(languageTag),
83
+ href: entry.url
84
+ });
85
+ }
86
+ }
87
+ if (enabledLanguages.find(({ languageTag }) => languageTag === currentLanguage.languageTag) === undefined) {
88
+ enabledLanguages.push({
89
+ languageTag: currentLanguage.languageTag,
90
+ label: getLanguageLabel(currentLanguage.languageTag),
91
+ href: "#"
92
+ });
93
+ }
94
+ return enabledLanguages;
95
+ })();
96
+ const { createI18nTranslationFunctions } = createI18nTranslationFunctionsFactory({
97
+ themeName: kcContext.themeName,
98
+ messages_themeDefined: (_d = (_c = messagesByLanguageTag_themeDefined[currentLanguage.languageTag]) !== null && _c !== void 0 ? _c : messagesByLanguageTag_themeDefined[id(FALLBACK_LANGUAGE_TAG)]) !== null && _d !== void 0 ? _d : (() => {
99
+ const firstLanguageTag = Object.keys(messagesByLanguageTag_themeDefined)[0];
100
+ if (firstLanguageTag === undefined) {
101
+ return undefined;
102
+ }
103
+ return messagesByLanguageTag_themeDefined[firstLanguageTag];
104
+ })(),
105
+ messages_fromKcServer: kcContext["x-keycloakify"].messages
106
+ });
107
+ const isCurrentLanguageFallbackLanguage = currentLanguage.languageTag === FALLBACK_LANGUAGE_TAG;
108
+ const result = {
109
+ i18n: Object.assign(Object.assign({ currentLanguage,
110
+ enabledLanguages }, createI18nTranslationFunctions({
111
+ messages_defaultSet_currentLanguage: isCurrentLanguageFallbackLanguage ? messages_defaultSet_fallbackLanguage : undefined
112
+ })), { isFetchingTranslations: !isCurrentLanguageFallbackLanguage }),
113
+ prI18n_currentLanguage: isCurrentLanguageFallbackLanguage
114
+ ? undefined
115
+ : (async () => {
116
+ const messages_defaultSet_currentLanguage = await (async () => {
117
+ const currentLanguageTag = currentLanguage.languageTag;
118
+ const fromDefaultSet = await fetchMessages_defaultSet(currentLanguageTag);
119
+ const isEmpty = (() => {
120
+ for (let _key in fromDefaultSet) {
121
+ return false;
122
+ }
123
+ return true;
124
+ })();
125
+ if (isEmpty) {
126
+ assert(is(currentLanguageTag));
127
+ const entry = extraLanguageTranslations[currentLanguageTag];
128
+ assert(entry !== undefined);
129
+ return entry.getMessages().then(({ default: messages }) => messages);
130
+ }
131
+ return fromDefaultSet;
132
+ })();
133
+ const i18n_currentLanguage = Object.assign(Object.assign({ currentLanguage,
134
+ enabledLanguages }, createI18nTranslationFunctions({ messages_defaultSet_currentLanguage })), { isFetchingTranslations: false });
135
+ // NOTE: This promise.resolve is just because without it we TypeScript
136
+ // gives a Variable 'result' is used before being assigned. error
137
+ await Promise.resolve().then(() => {
138
+ result.i18n = i18n_currentLanguage;
139
+ result.prI18n_currentLanguage = undefined;
140
+ });
141
+ return i18n_currentLanguage;
142
+ })()
143
+ };
144
+ cachedResultByKcContext.set(kcContext, result);
145
+ return result;
146
+ }
147
+ return {
148
+ getI18n,
149
+ ofTypeI18n: Reflect()
150
+ };
151
+ }
152
+ function createI18nTranslationFunctionsFactory(params) {
153
+ const { themeName, messages_themeDefined, messages_fromKcServer } = params;
154
+ function createI18nTranslationFunctions(params) {
155
+ const { messages_defaultSet_currentLanguage } = params;
156
+ function resolveMsg(props) {
157
+ var _a, _b, _c, _d, _e;
158
+ const { key, args } = props;
159
+ const message = (_d = (_b = (_a = id(messages_fromKcServer)[key]) !== null && _a !== void 0 ? _a : (() => {
160
+ var _a;
161
+ const messageOrMap = (_a = id(messages_themeDefined)) === null || _a === void 0 ? void 0 : _a[key];
162
+ if (messageOrMap === undefined) {
163
+ return undefined;
164
+ }
165
+ if (typeof messageOrMap === "string") {
166
+ return messageOrMap;
167
+ }
168
+ const message = messageOrMap[themeName];
169
+ assert(message !== undefined, `No translation for theme variant "${themeName}" for key "${key}"`);
170
+ return message;
171
+ })()) !== null && _b !== void 0 ? _b : (_c = id(messages_defaultSet_currentLanguage)) === null || _c === void 0 ? void 0 : _c[key]) !== null && _d !== void 0 ? _d : id(messages_defaultSet_fallbackLanguage)[key];
172
+ if (message === undefined) {
173
+ return undefined;
174
+ }
175
+ const startIndex = (_e = message
176
+ .match(/{[0-9]+}/g)) === null || _e === void 0 ? void 0 : _e.map(g => g.match(/{([0-9]+)}/)[1]).map(indexStr => parseInt(indexStr)).sort((a, b) => a - b)[0];
177
+ if (startIndex === undefined) {
178
+ // No {0} in message (no arguments expected)
179
+ return message;
180
+ }
181
+ let messageWithArgsInjected = message;
182
+ args.forEach((arg, i) => {
183
+ if (arg === undefined) {
184
+ return;
185
+ }
186
+ messageWithArgsInjected = messageWithArgsInjected.replace(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg);
187
+ });
188
+ return messageWithArgsInjected;
189
+ }
190
+ function resolveMsgAdvanced(props) {
191
+ var _a;
192
+ const { key, args } = props;
193
+ const match = key.match(/^\$\{(.+)\}$/);
194
+ return (_a = resolveMsg({ key: match !== null ? match[1] : key, args })) !== null && _a !== void 0 ? _a : key;
195
+ }
196
+ return {
197
+ msgStr: (key, ...args) => {
198
+ const resolvedMessage = resolveMsg({ key, args });
199
+ assert(resolvedMessage !== undefined, `Message with key "${key}" not found`);
200
+ return resolvedMessage;
201
+ },
202
+ advancedMsgStr: (key, ...args) => resolveMsgAdvanced({ key, args })
203
+ };
204
+ }
205
+ return { createI18nTranslationFunctions };
206
+ }
207
+ //# sourceMappingURL=getI18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getI18n.js","sourceRoot":"","sources":["../../../src/account/i18n/noJsx/getI18n.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { LanguageTag as LanguageTag_defaultSet, MessageKey as MessageKey_defaultSet } from "../messages_defaultSet/types";
2
+ import { type ReturnTypeOfCreateGetI18n } from "./getI18n";
3
+ export type I18nBuilder<ThemeName extends string = never, MessageKey_themeDefined extends string = never, LanguageTag_notInDefaultSet extends string = never, ExcludedMethod extends "withThemeName" | "withExtraLanguages" | "withCustomTranslations" = never> = Omit<{
4
+ withThemeName: <ThemeName extends string>() => I18nBuilder<ThemeName, MessageKey_themeDefined, LanguageTag_notInDefaultSet, ExcludedMethod | "withThemeName">;
5
+ withExtraLanguages: <LanguageTag_notInDefaultSet extends string>(extraLanguageTranslations: {
6
+ [LanguageTag in LanguageTag_notInDefaultSet]: {
7
+ label: string;
8
+ getMessages: () => Promise<{
9
+ default: Record<MessageKey_defaultSet, string>;
10
+ }>;
11
+ };
12
+ }) => I18nBuilder<ThemeName, MessageKey_themeDefined, LanguageTag_notInDefaultSet, ExcludedMethod | "withExtraLanguages">;
13
+ withCustomTranslations: <MessageKey_themeDefined extends string>(messagesByLanguageTag_themeDefined: Partial<{
14
+ [LanguageTag in LanguageTag_defaultSet | LanguageTag_notInDefaultSet]: Record<MessageKey_themeDefined, string | Record<ThemeName, string>>;
15
+ }>) => I18nBuilder<ThemeName, MessageKey_themeDefined, LanguageTag_notInDefaultSet, ExcludedMethod | "withCustomTranslations">;
16
+ build: () => ReturnTypeOfCreateGetI18n<MessageKey_themeDefined, LanguageTag_notInDefaultSet>;
17
+ }, ExcludedMethod>;
18
+ export declare const i18nBuilder: I18nBuilder<never, never, never, never>;