keycloakify 6.11.9 → 6.12.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 (253) hide show
  1. package/README.md +10 -7
  2. package/bin/create-keycloak-email-directory.js +1 -1
  3. package/bin/download-builtin-keycloak-theme.js +1 -1
  4. package/bin/keycloakify/BuildOptions.d.ts +2 -2
  5. package/bin/keycloakify/BuildOptions.js.map +1 -1
  6. package/bin/keycloakify/generateFtl/generateFtl.d.ts +2 -2
  7. package/bin/keycloakify/generateJavaStackFiles.d.ts +1 -1
  8. package/bin/keycloakify/generateKeycloakThemeResources.d.ts +1 -1
  9. package/bin/keycloakify/generateKeycloakThemeResources.js +1 -1
  10. package/bin/keycloakify/generateStartKeycloakTestingContainer.d.ts +1 -1
  11. package/bin/keycloakify/keycloakify.js +1 -1
  12. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +1 -1
  13. package/bin/keycloakify/replacers/replaceImportsInCssCode.d.ts +1 -1
  14. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts +1 -1
  15. package/bin/promptKeycloakVersion.js +1 -1
  16. package/bin/tools/NpmModuleVersion.d.ts +1 -1
  17. package/bin/tools/cliOptions.d.ts +1 -1
  18. package/bin/tools/deflate.js +1 -1
  19. package/bin/tools/downloadAndUnzip.js +51 -44
  20. package/bin/tools/downloadAndUnzip.js.map +1 -1
  21. package/bin/tools/grant-exec-perms.js +3 -2
  22. package/bin/tools/grant-exec-perms.js.map +1 -1
  23. package/bin/tools/jar.d.ts +1 -1
  24. package/bin/tools/jar.js +1 -1
  25. package/bin/tools/logger.d.ts +2 -2
  26. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +34 -27
  27. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +1 -1
  28. package/bin/tools/octokit-addons/listTags.js +1 -1
  29. package/bin/tools/transformCodebase.d.ts +1 -1
  30. package/bin/tools/walk.js +1 -1
  31. package/bin/tools/zip.d.ts +2 -2
  32. package/bin/tools/zip.js +1 -1
  33. package/bin/tsconfig.tsbuildinfo +1 -1
  34. package/lib/KcApp.d.ts +6 -0
  35. package/lib/{components/KcApp.js → KcApp.js} +25 -26
  36. package/lib/KcApp.js.map +1 -0
  37. package/lib/{components/KcProps.d.ts → KcProps.d.ts} +30 -6
  38. package/lib/{components/KcProps.js → KcProps.js} +1 -1
  39. package/lib/KcProps.js.map +1 -0
  40. package/lib/Template.d.ts +5 -0
  41. package/lib/{components/Template.js → Template.js} +12 -14
  42. package/lib/Template.js.map +1 -0
  43. package/lib/getKcContext/KcContextBase.d.ts +6 -6
  44. package/lib/getKcContext/getKcContextFromWindow.d.ts +1 -1
  45. package/lib/getKcContext/{kcContextMocks/kcContextMocks.d.ts → kcContextMocks.d.ts} +1 -1
  46. package/lib/getKcContext/{kcContextMocks/kcContextMocks.js → kcContextMocks.js} +8 -5
  47. package/lib/getKcContext/kcContextMocks.js.map +1 -0
  48. package/lib/i18n/i18n.d.ts +100 -0
  49. package/lib/i18n/i18n.js +160 -0
  50. package/lib/i18n/i18n.js.map +1 -0
  51. package/lib/i18n/index.d.ts +1 -99
  52. package/lib/i18n/index.js +1 -159
  53. package/lib/i18n/index.js.map +1 -1
  54. package/lib/index.d.ts +3 -3
  55. package/lib/index.js +3 -3
  56. package/lib/index.js.map +1 -1
  57. package/lib/pages/Error.d.ts +5 -0
  58. package/lib/{components → pages}/Error.js +4 -6
  59. package/lib/pages/Error.js.map +1 -0
  60. package/lib/pages/IdpReviewUserProfile.d.ts +5 -0
  61. package/lib/{components → pages}/IdpReviewUserProfile.js +4 -6
  62. package/lib/pages/IdpReviewUserProfile.js.map +1 -0
  63. package/lib/pages/Info.d.ts +5 -0
  64. package/lib/{components → pages}/Info.js +4 -6
  65. package/lib/pages/Info.js.map +1 -0
  66. package/lib/pages/Login.d.ts +5 -0
  67. package/lib/{components → pages}/Login.js +5 -7
  68. package/lib/pages/Login.js.map +1 -0
  69. package/lib/pages/LoginConfigTotp.d.ts +5 -0
  70. package/lib/{components → pages}/LoginConfigTotp.js +4 -6
  71. package/lib/pages/LoginConfigTotp.js.map +1 -0
  72. package/lib/pages/LoginIdpLinkConfirm.d.ts +5 -0
  73. package/lib/{components → pages}/LoginIdpLinkConfirm.js +4 -6
  74. package/lib/pages/LoginIdpLinkConfirm.js.map +1 -0
  75. package/lib/pages/LoginIdpLinkEmail.d.ts +5 -0
  76. package/lib/{components → pages}/LoginIdpLinkEmail.js +4 -6
  77. package/lib/pages/LoginIdpLinkEmail.js.map +1 -0
  78. package/lib/pages/LoginOtp.d.ts +5 -0
  79. package/lib/{components → pages}/LoginOtp.js +4 -6
  80. package/lib/pages/LoginOtp.js.map +1 -0
  81. package/lib/pages/LoginPageExpired.d.ts +5 -0
  82. package/lib/{components → pages}/LoginPageExpired.js +4 -6
  83. package/lib/pages/LoginPageExpired.js.map +1 -0
  84. package/lib/pages/LoginPassword.d.ts +5 -0
  85. package/lib/{components → pages}/LoginPassword.js +5 -7
  86. package/lib/pages/LoginPassword.js.map +1 -0
  87. package/lib/pages/LoginResetPassword.d.ts +5 -0
  88. package/lib/{components → pages}/LoginResetPassword.js +4 -6
  89. package/lib/pages/LoginResetPassword.js.map +1 -0
  90. package/lib/pages/LoginUpdatePassword.d.ts +5 -0
  91. package/lib/{components → pages}/LoginUpdatePassword.js +4 -6
  92. package/lib/pages/LoginUpdatePassword.js.map +1 -0
  93. package/lib/pages/LoginUpdateProfile.d.ts +5 -0
  94. package/lib/{components → pages}/LoginUpdateProfile.js +4 -6
  95. package/lib/pages/LoginUpdateProfile.js.map +1 -0
  96. package/lib/pages/LoginUsername.d.ts +5 -0
  97. package/lib/{components → pages}/LoginUsername.js +5 -7
  98. package/lib/pages/LoginUsername.js.map +1 -0
  99. package/lib/pages/LoginVerifyEmail.d.ts +5 -0
  100. package/lib/{components → pages}/LoginVerifyEmail.js +4 -6
  101. package/lib/pages/LoginVerifyEmail.js.map +1 -0
  102. package/lib/pages/LogoutConfirm.d.ts +5 -0
  103. package/lib/{components → pages}/LogoutConfirm.js +4 -6
  104. package/lib/pages/LogoutConfirm.js.map +1 -0
  105. package/lib/pages/Register.d.ts +5 -0
  106. package/lib/{components → pages}/Register.js +4 -6
  107. package/lib/pages/Register.js.map +1 -0
  108. package/lib/pages/RegisterUserProfile.d.ts +5 -0
  109. package/lib/{components → pages}/RegisterUserProfile.js +4 -6
  110. package/lib/pages/RegisterUserProfile.js.map +1 -0
  111. package/lib/pages/Terms.d.ts +19 -0
  112. package/lib/{components → pages}/Terms.js +20 -22
  113. package/lib/pages/Terms.js.map +1 -0
  114. package/lib/pages/UpdateUserProfile.d.ts +5 -0
  115. package/lib/{components → pages}/UpdateUserProfile.js +4 -6
  116. package/lib/pages/UpdateUserProfile.js.map +1 -0
  117. package/lib/pages/WebauthnAuthenticate.d.ts +5 -0
  118. package/lib/{components → pages}/WebauthnAuthenticate.js +5 -7
  119. package/lib/pages/WebauthnAuthenticate.js.map +1 -0
  120. package/lib/{components → pages}/shared/UserProfileCommons.d.ts +6 -6
  121. package/lib/{components → pages}/shared/UserProfileCommons.js +4 -4
  122. package/lib/pages/shared/UserProfileCommons.js.map +1 -0
  123. package/lib/tools/AndByDiscriminatingKey.d.ts +1 -1
  124. package/lib/tools/DeepPartial.d.ts +1 -1
  125. package/lib/tools/ReactComponent.d.ts +1 -1
  126. package/lib/tools/SetOptional.d.ts +1 -0
  127. package/lib/tools/SetOptional.js +2 -0
  128. package/lib/tools/SetOptional.js.map +1 -0
  129. package/lib/tools/clsx.d.ts +2 -3
  130. package/lib/tools/clsx.js +39 -3
  131. package/lib/tools/clsx.js.map +1 -1
  132. package/lib/tools/deepAssign.js +1 -1
  133. package/lib/tools/deepAssign.js.map +1 -1
  134. package/lib/tools/memoize.d.ts +7 -0
  135. package/lib/tools/memoize.js +38 -0
  136. package/lib/tools/memoize.js.map +1 -0
  137. package/lib/tools/useCallbackFactory.d.ts +15 -0
  138. package/lib/tools/useCallbackFactory.js +28 -0
  139. package/lib/tools/useCallbackFactory.js.map +1 -0
  140. package/lib/tools/useConst.d.ts +5 -0
  141. package/lib/tools/useConst.js +10 -0
  142. package/lib/tools/useConst.js.map +1 -0
  143. package/lib/tools/useConstCallback.d.ts +2 -0
  144. package/lib/tools/useConstCallback.js +8 -0
  145. package/lib/tools/useConstCallback.js.map +1 -0
  146. package/lib/tools/useCssAndCx.d.ts +1 -1
  147. package/lib/tsconfig.tsbuildinfo +1 -1
  148. package/lib/useFormValidationSlice.d.ts +4 -4
  149. package/lib/useFormValidationSlice.js +1 -1
  150. package/lib/useFormValidationSlice.js.map +1 -1
  151. package/package.json +133 -124
  152. package/src/bin/keycloakify/BuildOptions.ts +2 -2
  153. package/src/bin/keycloakify/generateFtl/generateFtl.ts +1 -1
  154. package/src/lib/{components/KcApp.tsx → KcApp.tsx} +29 -38
  155. package/src/lib/{components/KcProps.ts → KcProps.ts} +27 -1
  156. package/src/lib/{components/Template.tsx → Template.tsx} +23 -38
  157. package/src/lib/getKcContext/KcContextBase.ts +1 -1
  158. package/src/lib/getKcContext/{kcContextMocks/kcContextMocks.ts → kcContextMocks.ts} +9 -6
  159. package/src/lib/i18n/i18n.tsx +292 -0
  160. package/src/lib/i18n/index.tsx +1 -290
  161. package/src/lib/index.ts +3 -3
  162. package/src/lib/{components → pages}/Error.tsx +7 -18
  163. package/src/lib/{components → pages}/IdpReviewUserProfile.tsx +7 -18
  164. package/src/lib/{components → pages}/Info.tsx +7 -18
  165. package/src/lib/{components → pages}/Login.tsx +8 -20
  166. package/src/lib/{components → pages}/LoginConfigTotp.tsx +7 -18
  167. package/src/lib/{components → pages}/LoginIdpLinkConfirm.tsx +7 -18
  168. package/src/lib/{components → pages}/LoginIdpLinkEmail.tsx +7 -18
  169. package/src/lib/{components → pages}/LoginOtp.tsx +7 -18
  170. package/src/lib/{components → pages}/LoginPageExpired.tsx +7 -18
  171. package/src/lib/{components → pages}/LoginPassword.tsx +8 -19
  172. package/src/lib/{components → pages}/LoginResetPassword.tsx +7 -18
  173. package/src/lib/{components → pages}/LoginUpdatePassword.tsx +7 -18
  174. package/src/lib/{components → pages}/LoginUpdateProfile.tsx +7 -18
  175. package/src/lib/{components → pages}/LoginUsername.tsx +8 -19
  176. package/src/lib/{components → pages}/LoginVerifyEmail.tsx +7 -18
  177. package/src/lib/{components → pages}/LogoutConfirm.tsx +7 -18
  178. package/src/lib/{components → pages}/Register.tsx +7 -18
  179. package/src/lib/{components → pages}/RegisterUserProfile.tsx +7 -18
  180. package/src/lib/{components → pages}/Terms.tsx +50 -61
  181. package/src/lib/{components → pages}/UpdateUserProfile.tsx +7 -18
  182. package/src/lib/{components → pages}/WebauthnAuthenticate.tsx +9 -19
  183. package/src/lib/pages/shared/UserProfileCommons.tsx +178 -0
  184. package/src/lib/tools/SetOptional.ts +1 -0
  185. package/src/lib/tools/clsx.ts +42 -5
  186. package/src/lib/tools/deepAssign.ts +1 -1
  187. package/src/lib/tools/memoize.ts +55 -0
  188. package/src/lib/tools/useCallbackFactory.ts +45 -0
  189. package/src/lib/tools/useConst.ts +10 -0
  190. package/src/lib/tools/useConstCallback.ts +15 -0
  191. package/src/lib/useFormValidationSlice.tsx +4 -4
  192. package/bin/generate-i18n-messages.d.ts +0 -1
  193. package/bin/generate-i18n-messages.js +0 -126
  194. package/bin/generate-i18n-messages.js.map +0 -1
  195. package/bin/link_in_test_app.d.ts +0 -1
  196. package/bin/link_in_test_app.js +0 -141
  197. package/bin/link_in_test_app.js.map +0 -1
  198. package/lib/components/Error.d.ts +0 -13
  199. package/lib/components/Error.js.map +0 -1
  200. package/lib/components/IdpReviewUserProfile.d.ts +0 -13
  201. package/lib/components/IdpReviewUserProfile.js.map +0 -1
  202. package/lib/components/Info.d.ts +0 -13
  203. package/lib/components/Info.js.map +0 -1
  204. package/lib/components/KcApp.d.ts +0 -13
  205. package/lib/components/KcApp.js.map +0 -1
  206. package/lib/components/KcProps.js.map +0 -1
  207. package/lib/components/Login.d.ts +0 -13
  208. package/lib/components/Login.js.map +0 -1
  209. package/lib/components/LoginConfigTotp.d.ts +0 -13
  210. package/lib/components/LoginConfigTotp.js.map +0 -1
  211. package/lib/components/LoginIdpLinkConfirm.d.ts +0 -13
  212. package/lib/components/LoginIdpLinkConfirm.js.map +0 -1
  213. package/lib/components/LoginIdpLinkEmail.d.ts +0 -13
  214. package/lib/components/LoginIdpLinkEmail.js.map +0 -1
  215. package/lib/components/LoginOtp.d.ts +0 -13
  216. package/lib/components/LoginOtp.js.map +0 -1
  217. package/lib/components/LoginPageExpired.d.ts +0 -13
  218. package/lib/components/LoginPageExpired.js.map +0 -1
  219. package/lib/components/LoginPassword.d.ts +0 -13
  220. package/lib/components/LoginPassword.js.map +0 -1
  221. package/lib/components/LoginResetPassword.d.ts +0 -13
  222. package/lib/components/LoginResetPassword.js.map +0 -1
  223. package/lib/components/LoginUpdatePassword.d.ts +0 -13
  224. package/lib/components/LoginUpdatePassword.js.map +0 -1
  225. package/lib/components/LoginUpdateProfile.d.ts +0 -13
  226. package/lib/components/LoginUpdateProfile.js.map +0 -1
  227. package/lib/components/LoginUsername.d.ts +0 -13
  228. package/lib/components/LoginUsername.js.map +0 -1
  229. package/lib/components/LoginVerifyEmail.d.ts +0 -13
  230. package/lib/components/LoginVerifyEmail.js.map +0 -1
  231. package/lib/components/LogoutConfirm.d.ts +0 -13
  232. package/lib/components/LogoutConfirm.js.map +0 -1
  233. package/lib/components/Register.d.ts +0 -13
  234. package/lib/components/Register.js.map +0 -1
  235. package/lib/components/RegisterUserProfile.d.ts +0 -13
  236. package/lib/components/RegisterUserProfile.js.map +0 -1
  237. package/lib/components/Template.d.ts +0 -25
  238. package/lib/components/Template.js.map +0 -1
  239. package/lib/components/Terms.d.ts +0 -27
  240. package/lib/components/Terms.js.map +0 -1
  241. package/lib/components/UpdateUserProfile.d.ts +0 -13
  242. package/lib/components/UpdateUserProfile.js.map +0 -1
  243. package/lib/components/WebauthnAuthenticate.d.ts +0 -13
  244. package/lib/components/WebauthnAuthenticate.js.map +0 -1
  245. package/lib/components/shared/UserProfileCommons.js.map +0 -1
  246. package/lib/getKcContext/kcContextMocks/index.d.ts +0 -1
  247. package/lib/getKcContext/kcContextMocks/index.js +0 -2
  248. package/lib/getKcContext/kcContextMocks/index.js.map +0 -1
  249. package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +0 -1
  250. package/src/bin/generate-i18n-messages.ts +0 -86
  251. package/src/bin/link_in_test_app.ts +0 -128
  252. package/src/lib/components/shared/UserProfileCommons.tsx +0 -173
  253. package/src/lib/getKcContext/kcContextMocks/index.ts +0 -1
@@ -1,9 +1,9 @@
1
1
  var _a;
2
2
  import "minimal-polyfills/Object.fromEntries";
3
3
  //NOTE: Aside because we want to be able to import them from node
4
- import { mockTestingResourcesCommonPath, mockTestingResourcesPath } from "../../../bin/mockTestingResourcesPath";
4
+ import { mockTestingResourcesCommonPath, mockTestingResourcesPath } from "../../bin/mockTestingResourcesPath";
5
5
  import { id } from "tsafe/id";
6
- import { pathJoin } from "../../../bin/tools/pathJoin";
6
+ import { pathJoin } from "../../bin/tools/pathJoin";
7
7
  const PUBLIC_URL = (_a = process.env["PUBLIC_URL"]) !== null && _a !== void 0 ? _a : "/";
8
8
  const attributes = [
9
9
  {
@@ -113,10 +113,13 @@ export const kcContextCommonMock = {
113
113
  "registrationEmailAsUsername": false
114
114
  },
115
115
  "messagesPerField": {
116
- "printIfExists": (...[, x]) => x,
117
- "existsError": () => true,
116
+ "printIfExists": () => {
117
+ console.log("coucou");
118
+ return undefined;
119
+ },
120
+ "existsError": () => false,
118
121
  "get": key => `Fake error for ${key}`,
119
- "exists": () => true
122
+ "exists": () => false
120
123
  },
121
124
  "locale": {
122
125
  "supported": [
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/lib/getKcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /// <reference types="react" />
2
+ import "minimal-polyfills/Object.fromEntries";
3
+ import type baseMessages from "./generated_messages/18.0.1/login/en";
4
+ export declare const fallbackLanguageTag = "en";
5
+ export type KcContextLike = {
6
+ locale?: {
7
+ currentLanguageTag: string;
8
+ supported: {
9
+ languageTag: string;
10
+ url: string;
11
+ label: string;
12
+ }[];
13
+ };
14
+ };
15
+ export type MessageKeyBase = keyof typeof baseMessages | keyof (typeof keycloakifyExtraMessages)[typeof fallbackLanguageTag];
16
+ export type I18n<MessageKey extends string> = {
17
+ /**
18
+ * e.g: "en", "fr", "zh-CN"
19
+ *
20
+ * The current language
21
+ */
22
+ currentLanguageTag: string;
23
+ /**
24
+ * To call when the user switch language.
25
+ * This will cause the page to be reloaded,
26
+ * on next load currentLanguageTag === newLanguageTag
27
+ */
28
+ changeLocale: (newLanguageTag: string) => never;
29
+ /**
30
+ * e.g. "en" => "English", "fr" => "Français", ...
31
+ *
32
+ * Used to render a select that enable user to switch language.
33
+ * ex: https://user-images.githubusercontent.com/6702424/186044799-38801eec-4e89-483b-81dd-8e9233e8c0eb.png
34
+ * */
35
+ labelBySupportedLanguageTag: Record<string, string>;
36
+ /**
37
+ * Examples assuming currentLanguageTag === "en"
38
+ *
39
+ * msg("access-denied") === <span>Access denied</span>
40
+ * msg("impersonateTitleHtml", "Foo") === <span><strong>Foo</strong> Impersonate User</span>
41
+ */
42
+ msg: (key: MessageKey, ...args: (string | undefined)[]) => JSX.Element;
43
+ /**
44
+ * It's the same thing as msg() but instead of returning a JSX.Element it returns a string.
45
+ * It can be more convenient to manipulate strings but if there are HTML tags it wont render.
46
+ * msgStr("impersonateTitleHtml", "Foo") === "<strong>Foo</strong> Impersonate User"
47
+ */
48
+ msgStr: (key: MessageKey, ...args: (string | undefined)[]) => string;
49
+ /**
50
+ * Examples assuming currentLanguageTag === "en"
51
+ * advancedMsg("${access-denied} foo bar") === <span>${msgStr("access-denied")} foo bar<span> === <span>Access denied foo bar</span>
52
+ * advancedMsg("${access-denied}") === advancedMsg("access-denied") === msg("access-denied") === <span>Access denied</span>
53
+ * advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === <span>not-a-message-key</span>
54
+ */
55
+ advancedMsg: (key: string, ...args: (string | undefined)[]) => JSX.Element;
56
+ /**
57
+ * Examples assuming currentLanguageTag === "en"
58
+ * advancedMsg("${access-denied} foo bar") === msg("access-denied") + " foo bar" === "Access denied foo bar"
59
+ * advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === "not-a-message-key"
60
+ */
61
+ advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
62
+ };
63
+ export type I18nBase = I18n<MessageKeyBase>;
64
+ export declare function __unsafe_useI18n<ExtraMessageKey extends string = never>(params: {
65
+ kcContext: KcContextLike;
66
+ extraMessages: {
67
+ [languageTag: string]: {
68
+ [key in ExtraMessageKey]: string;
69
+ };
70
+ };
71
+ doSkip: boolean;
72
+ }): I18n<MessageKeyBase | ExtraMessageKey> | null;
73
+ export declare function useI18n<ExtraMessageKey extends string = never>(params: {
74
+ kcContext: KcContextLike;
75
+ extraMessages: {
76
+ [languageTag: string]: {
77
+ [key in ExtraMessageKey]: string;
78
+ };
79
+ };
80
+ }): I18n<MessageKeyBase | ExtraMessageKey> | null;
81
+ declare const keycloakifyExtraMessages: {
82
+ en: {
83
+ shouldBeEqual: string;
84
+ shouldBeDifferent: string;
85
+ shouldMatchPattern: string;
86
+ mustBeAnInteger: string;
87
+ notAValidOption: string;
88
+ };
89
+ fr: {
90
+ shouldBeEqual: string;
91
+ shouldBeDifferent: string;
92
+ shouldMatchPattern: string;
93
+ mustBeAnInteger: string;
94
+ notAValidOption: string;
95
+ logoutConfirmTitle: string;
96
+ logoutConfirmHeader: string;
97
+ doLogout: string;
98
+ };
99
+ };
100
+ export {};
@@ -0,0 +1,160 @@
1
+ import "minimal-polyfills/Object.fromEntries";
2
+ //NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
3
+ import React, { useEffect, useState, useRef } from "react";
4
+ import { assert } from "tsafe/assert";
5
+ import { Markdown } from "../tools/Markdown";
6
+ export const fallbackLanguageTag = "en";
7
+ assert();
8
+ export function __unsafe_useI18n(params) {
9
+ const { kcContext, extraMessages, doSkip } = params;
10
+ const [i18n, setI18n] = useState(undefined);
11
+ const refHasStartedFetching = useRef(false);
12
+ useEffect(() => {
13
+ if (doSkip || refHasStartedFetching.current) {
14
+ return;
15
+ }
16
+ refHasStartedFetching.current = true;
17
+ (async () => {
18
+ var _a, _b, _c, _d, _e, _f, _g;
19
+ const { currentLanguageTag = fallbackLanguageTag } = (_a = kcContext.locale) !== null && _a !== void 0 ? _a : {};
20
+ const [fallbackMessages, messages] = await Promise.all([
21
+ import("./generated_messages/18.0.1/login/en"),
22
+ (() => {
23
+ switch (currentLanguageTag) {
24
+ case "ca":
25
+ return import("./generated_messages/18.0.1/login/ca");
26
+ case "cs":
27
+ return import("./generated_messages/18.0.1/login/cs");
28
+ case "da":
29
+ return import("./generated_messages/18.0.1/login/da");
30
+ case "de":
31
+ return import("./generated_messages/18.0.1/login/de");
32
+ case "en":
33
+ return import("./generated_messages/18.0.1/login/en");
34
+ case "es":
35
+ return import("./generated_messages/18.0.1/login/es");
36
+ case "fi":
37
+ return import("./generated_messages/18.0.1/login/fi");
38
+ case "fr":
39
+ return import("./generated_messages/18.0.1/login/fr");
40
+ case "hu":
41
+ return import("./generated_messages/18.0.1/login/hu");
42
+ case "it":
43
+ return import("./generated_messages/18.0.1/login/it");
44
+ case "ja":
45
+ return import("./generated_messages/18.0.1/login/ja");
46
+ case "lt":
47
+ return import("./generated_messages/18.0.1/login/lt");
48
+ case "lv":
49
+ return import("./generated_messages/18.0.1/login/lv");
50
+ case "nl":
51
+ return import("./generated_messages/18.0.1/login/nl");
52
+ case "no":
53
+ return import("./generated_messages/18.0.1/login/no");
54
+ case "pl":
55
+ return import("./generated_messages/18.0.1/login/pl");
56
+ case "pt-BR":
57
+ return import("./generated_messages/18.0.1/login/pt-BR");
58
+ case "ru":
59
+ return import("./generated_messages/18.0.1/login/ru");
60
+ case "sk":
61
+ return import("./generated_messages/18.0.1/login/sk");
62
+ case "sv":
63
+ return import("./generated_messages/18.0.1/login/sv");
64
+ case "tr":
65
+ return import("./generated_messages/18.0.1/login/tr");
66
+ case "zh-CN":
67
+ return import("./generated_messages/18.0.1/login/zh-CN");
68
+ default:
69
+ return { "default": {} };
70
+ }
71
+ })()
72
+ ]).then(modules => modules.map(module => module.default));
73
+ setI18n(Object.assign(Object.assign({}, createI18nTranslationFunctions({
74
+ "fallbackMessages": Object.assign(Object.assign(Object.assign({}, fallbackMessages), ((_b = keycloakifyExtraMessages[fallbackLanguageTag]) !== null && _b !== void 0 ? _b : {})), ((_c = extraMessages[fallbackLanguageTag]) !== null && _c !== void 0 ? _c : {})),
75
+ "messages": Object.assign(Object.assign(Object.assign({}, messages), ((_d = keycloakifyExtraMessages[currentLanguageTag]) !== null && _d !== void 0 ? _d : {})), ((_e = extraMessages[currentLanguageTag]) !== null && _e !== void 0 ? _e : {}))
76
+ })), { currentLanguageTag, "changeLocale": newLanguageTag => {
77
+ const { locale } = kcContext;
78
+ assert(locale !== undefined, "Internationalization not enabled");
79
+ const targetSupportedLocale = locale.supported.find(({ languageTag }) => languageTag === newLanguageTag);
80
+ assert(targetSupportedLocale !== undefined, `${newLanguageTag} need to be enabled in Keycloak admin`);
81
+ window.location.href = targetSupportedLocale.url;
82
+ assert(false, "never");
83
+ }, "labelBySupportedLanguageTag": Object.fromEntries(((_g = (_f = kcContext.locale) === null || _f === void 0 ? void 0 : _f.supported) !== null && _g !== void 0 ? _g : []).map(({ languageTag, label }) => [languageTag, label])) }));
84
+ })();
85
+ }, []);
86
+ return i18n !== null && i18n !== void 0 ? i18n : null;
87
+ }
88
+ const useI18n_private = __unsafe_useI18n;
89
+ export function useI18n(params) {
90
+ return useI18n_private(Object.assign(Object.assign({}, params), { "doSkip": false }));
91
+ }
92
+ function createI18nTranslationFunctions(params) {
93
+ const { fallbackMessages, messages } = params;
94
+ function resolveMsg(props) {
95
+ var _a;
96
+ const { key, args, doRenderMarkdown } = props;
97
+ const messageOrUndefined = (_a = messages[key]) !== null && _a !== void 0 ? _a : fallbackMessages[key];
98
+ if (messageOrUndefined === undefined) {
99
+ return undefined;
100
+ }
101
+ const message = messageOrUndefined;
102
+ const messageWithArgsInjectedIfAny = (() => {
103
+ var _a;
104
+ const startIndex = (_a = message
105
+ .match(/{[0-9]+}/g)) === null || _a === void 0 ? void 0 : _a.map(g => g.match(/{([0-9]+)}/)[1]).map(indexStr => parseInt(indexStr)).sort((a, b) => a - b)[0];
106
+ if (startIndex === undefined) {
107
+ // No {0} in message (no arguments expected)
108
+ return message;
109
+ }
110
+ let messageWithArgsInjected = message;
111
+ args.forEach((arg, i) => {
112
+ if (arg === undefined) {
113
+ return;
114
+ }
115
+ messageWithArgsInjected = messageWithArgsInjected.replace(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg);
116
+ });
117
+ return messageWithArgsInjected;
118
+ })();
119
+ return doRenderMarkdown ? (React.createElement(Markdown, { allowDangerousHtml: true, renderers: { "paragraph": "span" } }, messageWithArgsInjectedIfAny)) : (messageWithArgsInjectedIfAny);
120
+ }
121
+ function resolveMsgAdvanced(props) {
122
+ const { key, args, doRenderMarkdown } = props;
123
+ const match = key.match(/^\$\{([^{]+)\}$/);
124
+ const keyUnwrappedFromCurlyBraces = match === null ? key : match[1];
125
+ const out = resolveMsg({
126
+ "key": keyUnwrappedFromCurlyBraces,
127
+ args,
128
+ doRenderMarkdown
129
+ });
130
+ return (out !== undefined ? out : doRenderMarkdown ? React.createElement("span", null, keyUnwrappedFromCurlyBraces) : keyUnwrappedFromCurlyBraces);
131
+ }
132
+ return {
133
+ "msgStr": (key, ...args) => resolveMsg({ key, args, "doRenderMarkdown": false }),
134
+ "msg": (key, ...args) => resolveMsg({ key, args, "doRenderMarkdown": true }),
135
+ "advancedMsg": (key, ...args) => resolveMsgAdvanced({ key, args, "doRenderMarkdown": true }),
136
+ "advancedMsgStr": (key, ...args) => resolveMsgAdvanced({ key, args, "doRenderMarkdown": false })
137
+ };
138
+ }
139
+ const keycloakifyExtraMessages = {
140
+ "en": {
141
+ "shouldBeEqual": "{0} should be equal to {1}",
142
+ "shouldBeDifferent": "{0} should be different to {1}",
143
+ "shouldMatchPattern": "Pattern should match: `/{0}/`",
144
+ "mustBeAnInteger": "Must be an integer",
145
+ "notAValidOption": "Not a valid option"
146
+ },
147
+ "fr": {
148
+ /* spell-checker: disable */
149
+ "shouldBeEqual": "{0} doit être égal à {1}",
150
+ "shouldBeDifferent": "{0} doit être différent de {1}",
151
+ "shouldMatchPattern": "Dois respecter le schéma: `/{0}/`",
152
+ "mustBeAnInteger": "Doit être un nombre entier",
153
+ "notAValidOption": "N'est pas une option valide",
154
+ "logoutConfirmTitle": "Déconnexion",
155
+ "logoutConfirmHeader": "Êtes-vous sûr(e) de vouloir vous déconnecter ?",
156
+ "doLogout": "Se déconnecter"
157
+ /* spell-checker: enable */
158
+ }
159
+ };
160
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/lib/i18n/i18n.tsx"],"names":[],"mappings":"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"}
@@ -1,99 +1 @@
1
- /// <reference types="react" />
2
- import "minimal-polyfills/Object.fromEntries";
3
- import type baseMessages from "./generated_messages/18.0.1/login/en";
4
- export declare const fallbackLanguageTag = "en";
5
- export declare type KcContextLike = {
6
- locale?: {
7
- currentLanguageTag: string;
8
- supported: {
9
- languageTag: string;
10
- url: string;
11
- label: string;
12
- }[];
13
- };
14
- };
15
- export declare type MessageKeyBase = keyof typeof baseMessages | keyof typeof keycloakifyExtraMessages[typeof fallbackLanguageTag];
16
- export declare type I18n<MessageKey extends string = MessageKeyBase> = {
17
- /**
18
- * e.g: "en", "fr", "zh-CN"
19
- *
20
- * The current language
21
- */
22
- currentLanguageTag: string;
23
- /**
24
- * To call when the user switch language.
25
- * This will cause the page to be reloaded,
26
- * on next load currentLanguageTag === newLanguageTag
27
- */
28
- changeLocale: (newLanguageTag: string) => never;
29
- /**
30
- * e.g. "en" => "English", "fr" => "Français", ...
31
- *
32
- * Used to render a select that enable user to switch language.
33
- * ex: https://user-images.githubusercontent.com/6702424/186044799-38801eec-4e89-483b-81dd-8e9233e8c0eb.png
34
- * */
35
- labelBySupportedLanguageTag: Record<string, string>;
36
- /**
37
- * Examples assuming currentLanguageTag === "en"
38
- *
39
- * msg("access-denied") === <span>Access denied</span>
40
- * msg("impersonateTitleHtml", "Foo") === <span><strong>Foo</strong> Impersonate User</span>
41
- */
42
- msg: (key: MessageKey, ...args: (string | undefined)[]) => JSX.Element;
43
- /**
44
- * It's the same thing as msg() but instead of returning a JSX.Element it returns a string.
45
- * It can be more convenient to manipulate strings but if there are HTML tags it wont render.
46
- * msgStr("impersonateTitleHtml", "Foo") === "<strong>Foo</strong> Impersonate User"
47
- */
48
- msgStr: (key: MessageKey, ...args: (string | undefined)[]) => string;
49
- /**
50
- * Examples assuming currentLanguageTag === "en"
51
- * advancedMsg("${access-denied} foo bar") === <span>${msgStr("access-denied")} foo bar<span> === <span>Access denied foo bar</span>
52
- * advancedMsg("${access-denied}") === advancedMsg("access-denied") === msg("access-denied") === <span>Access denied</span>
53
- * advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === <span>not-a-message-key</span>
54
- */
55
- advancedMsg: (key: string, ...args: (string | undefined)[]) => JSX.Element;
56
- /**
57
- * Examples assuming currentLanguageTag === "en"
58
- * advancedMsg("${access-denied} foo bar") === msg("access-denied") + " foo bar" === "Access denied foo bar"
59
- * advancedMsg("${not-a-message-key}") === advancedMsg(not-a-message-key") === "not-a-message-key"
60
- */
61
- advancedMsgStr: (key: string, ...args: (string | undefined)[]) => string;
62
- };
63
- export declare function __unsafe_useI18n<ExtraMessageKey extends string = never>(params: {
64
- kcContext: KcContextLike;
65
- extraMessages: {
66
- [languageTag: string]: {
67
- [key in ExtraMessageKey]: string;
68
- };
69
- };
70
- doSkip: boolean;
71
- }): I18n<MessageKeyBase | ExtraMessageKey> | null;
72
- export declare function useI18n<ExtraMessageKey extends string = never>(params: {
73
- kcContext: KcContextLike;
74
- extraMessages: {
75
- [languageTag: string]: {
76
- [key in ExtraMessageKey]: string;
77
- };
78
- };
79
- }): I18n<MessageKeyBase | ExtraMessageKey> | null;
80
- declare const keycloakifyExtraMessages: {
81
- en: {
82
- shouldBeEqual: string;
83
- shouldBeDifferent: string;
84
- shouldMatchPattern: string;
85
- mustBeAnInteger: string;
86
- notAValidOption: string;
87
- };
88
- fr: {
89
- shouldBeEqual: string;
90
- shouldBeDifferent: string;
91
- shouldMatchPattern: string;
92
- mustBeAnInteger: string;
93
- notAValidOption: string;
94
- logoutConfirmTitle: string;
95
- logoutConfirmHeader: string;
96
- doLogout: string;
97
- };
98
- };
99
- export {};
1
+ export * from "./i18n";
package/lib/i18n/index.js CHANGED
@@ -1,160 +1,2 @@
1
- import "minimal-polyfills/Object.fromEntries";
2
- //NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
3
- import React, { useEffect, useState, useRef } from "react";
4
- import { assert } from "tsafe/assert";
5
- import { Markdown } from "../tools/Markdown";
6
- export const fallbackLanguageTag = "en";
7
- assert();
8
- export function __unsafe_useI18n(params) {
9
- const { kcContext, extraMessages, doSkip } = params;
10
- const [i18n, setI18n] = useState(undefined);
11
- const refHasStartedFetching = useRef(false);
12
- useEffect(() => {
13
- if (doSkip || refHasStartedFetching.current) {
14
- return;
15
- }
16
- refHasStartedFetching.current = true;
17
- (async () => {
18
- var _a, _b, _c, _d, _e, _f, _g;
19
- const { currentLanguageTag = fallbackLanguageTag } = (_a = kcContext.locale) !== null && _a !== void 0 ? _a : {};
20
- const [fallbackMessages, messages] = await Promise.all([
21
- import("./generated_messages/18.0.1/login/en"),
22
- (() => {
23
- switch (currentLanguageTag) {
24
- case "ca":
25
- return import("./generated_messages/18.0.1/login/ca");
26
- case "cs":
27
- return import("./generated_messages/18.0.1/login/cs");
28
- case "da":
29
- return import("./generated_messages/18.0.1/login/da");
30
- case "de":
31
- return import("./generated_messages/18.0.1/login/de");
32
- case "en":
33
- return import("./generated_messages/18.0.1/login/en");
34
- case "es":
35
- return import("./generated_messages/18.0.1/login/es");
36
- case "fi":
37
- return import("./generated_messages/18.0.1/login/fi");
38
- case "fr":
39
- return import("./generated_messages/18.0.1/login/fr");
40
- case "hu":
41
- return import("./generated_messages/18.0.1/login/hu");
42
- case "it":
43
- return import("./generated_messages/18.0.1/login/it");
44
- case "ja":
45
- return import("./generated_messages/18.0.1/login/ja");
46
- case "lt":
47
- return import("./generated_messages/18.0.1/login/lt");
48
- case "lv":
49
- return import("./generated_messages/18.0.1/login/lv");
50
- case "nl":
51
- return import("./generated_messages/18.0.1/login/nl");
52
- case "no":
53
- return import("./generated_messages/18.0.1/login/no");
54
- case "pl":
55
- return import("./generated_messages/18.0.1/login/pl");
56
- case "pt-BR":
57
- return import("./generated_messages/18.0.1/login/pt-BR");
58
- case "ru":
59
- return import("./generated_messages/18.0.1/login/ru");
60
- case "sk":
61
- return import("./generated_messages/18.0.1/login/sk");
62
- case "sv":
63
- return import("./generated_messages/18.0.1/login/sv");
64
- case "tr":
65
- return import("./generated_messages/18.0.1/login/tr");
66
- case "zh-CN":
67
- return import("./generated_messages/18.0.1/login/zh-CN");
68
- default:
69
- return { "default": {} };
70
- }
71
- })()
72
- ]).then(modules => modules.map(module => module.default));
73
- setI18n(Object.assign(Object.assign({}, createI18nTranslationFunctions({
74
- "fallbackMessages": Object.assign(Object.assign(Object.assign({}, fallbackMessages), ((_b = keycloakifyExtraMessages[fallbackLanguageTag]) !== null && _b !== void 0 ? _b : {})), ((_c = extraMessages[fallbackLanguageTag]) !== null && _c !== void 0 ? _c : {})),
75
- "messages": Object.assign(Object.assign(Object.assign({}, messages), ((_d = keycloakifyExtraMessages[currentLanguageTag]) !== null && _d !== void 0 ? _d : {})), ((_e = extraMessages[currentLanguageTag]) !== null && _e !== void 0 ? _e : {}))
76
- })), { currentLanguageTag, "changeLocale": newLanguageTag => {
77
- const { locale } = kcContext;
78
- assert(locale !== undefined, "Internationalization not enabled");
79
- const targetSupportedLocale = locale.supported.find(({ languageTag }) => languageTag === newLanguageTag);
80
- assert(targetSupportedLocale !== undefined, `${newLanguageTag} need to be enabled in Keycloak admin`);
81
- window.location.href = targetSupportedLocale.url;
82
- assert(false, "never");
83
- }, "labelBySupportedLanguageTag": Object.fromEntries(((_g = (_f = kcContext.locale) === null || _f === void 0 ? void 0 : _f.supported) !== null && _g !== void 0 ? _g : []).map(({ languageTag, label }) => [languageTag, label])) }));
84
- })();
85
- }, []);
86
- return i18n !== null && i18n !== void 0 ? i18n : null;
87
- }
88
- const useI18n_private = __unsafe_useI18n;
89
- export function useI18n(params) {
90
- return useI18n_private(Object.assign(Object.assign({}, params), { "doSkip": false }));
91
- }
92
- function createI18nTranslationFunctions(params) {
93
- const { fallbackMessages, messages } = params;
94
- function resolveMsg(props) {
95
- var _a;
96
- const { key, args, doRenderMarkdown } = props;
97
- const messageOrUndefined = (_a = messages[key]) !== null && _a !== void 0 ? _a : fallbackMessages[key];
98
- if (messageOrUndefined === undefined) {
99
- return undefined;
100
- }
101
- const message = messageOrUndefined;
102
- const messageWithArgsInjectedIfAny = (() => {
103
- var _a;
104
- const startIndex = (_a = message
105
- .match(/{[0-9]+}/g)) === null || _a === void 0 ? void 0 : _a.map(g => g.match(/{([0-9]+)}/)[1]).map(indexStr => parseInt(indexStr)).sort((a, b) => a - b)[0];
106
- if (startIndex === undefined) {
107
- // No {0} in message (no arguments expected)
108
- return message;
109
- }
110
- let messageWithArgsInjected = message;
111
- args.forEach((arg, i) => {
112
- if (arg === undefined) {
113
- return;
114
- }
115
- messageWithArgsInjected = messageWithArgsInjected.replace(new RegExp(`\\{${i + startIndex}\\}`, "g"), arg);
116
- });
117
- return messageWithArgsInjected;
118
- })();
119
- return doRenderMarkdown ? (React.createElement(Markdown, { allowDangerousHtml: true, renderers: { "paragraph": "span" } }, messageWithArgsInjectedIfAny)) : (messageWithArgsInjectedIfAny);
120
- }
121
- function resolveMsgAdvanced(props) {
122
- const { key, args, doRenderMarkdown } = props;
123
- const match = key.match(/^\$\{([^{]+)\}$/);
124
- const keyUnwrappedFromCurlyBraces = match === null ? key : match[1];
125
- const out = resolveMsg({
126
- "key": keyUnwrappedFromCurlyBraces,
127
- args,
128
- doRenderMarkdown
129
- });
130
- return (out !== undefined ? out : doRenderMarkdown ? React.createElement("span", null, keyUnwrappedFromCurlyBraces) : keyUnwrappedFromCurlyBraces);
131
- }
132
- return {
133
- "msgStr": (key, ...args) => resolveMsg({ key, args, "doRenderMarkdown": false }),
134
- "msg": (key, ...args) => resolveMsg({ key, args, "doRenderMarkdown": true }),
135
- "advancedMsg": (key, ...args) => resolveMsgAdvanced({ key, args, "doRenderMarkdown": true }),
136
- "advancedMsgStr": (key, ...args) => resolveMsgAdvanced({ key, args, "doRenderMarkdown": false })
137
- };
138
- }
139
- const keycloakifyExtraMessages = {
140
- "en": {
141
- "shouldBeEqual": "{0} should be equal to {1}",
142
- "shouldBeDifferent": "{0} should be different to {1}",
143
- "shouldMatchPattern": "Pattern should match: `/{0}/`",
144
- "mustBeAnInteger": "Must be an integer",
145
- "notAValidOption": "Not a valid option"
146
- },
147
- "fr": {
148
- /* spell-checker: disable */
149
- "shouldBeEqual": "{0} doit être égal à {1}",
150
- "shouldBeDifferent": "{0} doit être différent de {1}",
151
- "shouldMatchPattern": "Dois respecter le schéma: `/{0}/`",
152
- "mustBeAnInteger": "Doit être un nombre entier",
153
- "notAValidOption": "N'est pas une option valide",
154
- "logoutConfirmTitle": "Déconnexion",
155
- "logoutConfirmHeader": "Êtes-vous sûr(e) de vouloir vous déconnecter ?",
156
- "doLogout": "Se déconnecter"
157
- /* spell-checker: enable */
158
- }
159
- };
1
+ export * from "./i18n";
160
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/i18n/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/i18n/index.tsx"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * from "./getKcContext";
2
2
  export * from "./i18n";
3
- export { useDownloadTerms } from "./components/Terms";
4
- export * from "./components/KcProps";
3
+ export { useDownloadTerms } from "./pages/Terms";
4
+ export * from "./KcProps";
5
5
  export * from "./keycloakJsAdapter";
6
6
  export * from "./useFormValidationSlice";
7
- import KcApp from "./components/KcApp";
7
+ import KcApp from "./KcApp";
8
8
  export default KcApp;
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from "./getKcContext";
2
2
  export * from "./i18n";
3
- export { useDownloadTerms } from "./components/Terms";
4
- export * from "./components/KcProps";
3
+ export { useDownloadTerms } from "./pages/Terms";
4
+ export * from "./KcProps";
5
5
  export * from "./keycloakJsAdapter";
6
6
  export * from "./useFormValidationSlice";
7
- import KcApp from "./components/KcApp";
7
+ import KcApp from "./KcApp";
8
8
  export default KcApp;
9
9
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAE/B,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,KAAK,MAAM,oBAAoB,CAAC;AAEvC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAE/B,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { KcContextBase } from "../getKcContext";
3
+ import type { PageProps } from "../KcProps";
4
+ import type { I18nBase } from "../i18n";
5
+ export default function Error(props: PageProps<KcContextBase.Error, I18nBase>): JSX.Element;