keycloakify 10.0.0-rc.23 → 10.0.0-rc.24

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 (232) hide show
  1. package/PUBLIC_URL.d.ts +1 -1
  2. package/PUBLIC_URL.js +1 -1
  3. package/PUBLIC_URL.js.map +1 -1
  4. package/account/Fallback.js.map +1 -1
  5. package/account/Template.js +3 -3
  6. package/account/Template.js.map +1 -1
  7. package/account/i18n/baseMessages/index.js.map +1 -1
  8. package/account/i18n/i18n.js.map +1 -1
  9. package/account/index.d.ts +2 -2
  10. package/account/index.js +1 -2
  11. package/account/index.js.map +1 -1
  12. package/account/kcContext/KcContext.d.ts +12 -0
  13. package/account/kcContext/KcContext.js.map +1 -1
  14. package/account/kcContext/getKcContextMock.d.ts +24 -0
  15. package/account/kcContext/getKcContextMock.js +28 -0
  16. package/account/kcContext/getKcContextMock.js.map +1 -0
  17. package/account/kcContext/index.d.ts +2 -1
  18. package/account/kcContext/index.js +1 -1
  19. package/account/kcContext/index.js.map +1 -1
  20. package/account/kcContext/kcContextMocks.js +23 -91
  21. package/account/kcContext/kcContextMocks.js.map +1 -1
  22. package/account/pages/Account.js +1 -1
  23. package/account/pages/Account.js.map +1 -1
  24. package/account/pages/Applications.js +2 -2
  25. package/account/pages/Applications.js.map +1 -1
  26. package/account/pages/FederatedIdentity.js +1 -1
  27. package/account/pages/FederatedIdentity.js.map +1 -1
  28. package/account/pages/Log.js +1 -1
  29. package/account/pages/Log.js.map +1 -1
  30. package/account/pages/Password.js +6 -4
  31. package/account/pages/Password.js.map +1 -1
  32. package/account/pages/Sessions.js +1 -1
  33. package/account/pages/Sessions.js.map +1 -1
  34. package/account/pages/Totp.js +1 -1
  35. package/account/pages/Totp.js.map +1 -1
  36. package/bin/main.js +152 -162
  37. package/lib/BASE_URL.js.map +1 -1
  38. package/login/Fallback.js.map +1 -1
  39. package/login/Template.js +7 -7
  40. package/login/Template.js.map +1 -1
  41. package/login/UserProfileFormFields.js +24 -68
  42. package/login/UserProfileFormFields.js.map +1 -1
  43. package/login/i18n/baseMessages/index.js.map +1 -1
  44. package/login/i18n/i18n.js.map +1 -1
  45. package/login/index.d.ts +2 -3
  46. package/login/index.js +1 -2
  47. package/login/index.js.map +1 -1
  48. package/login/kcContext/KcContext.d.ts +23 -12
  49. package/login/kcContext/KcContext.js.map +1 -1
  50. package/login/kcContext/getKcContextMock.d.ts +24 -0
  51. package/login/kcContext/getKcContextMock.js +28 -0
  52. package/login/kcContext/getKcContextMock.js.map +1 -0
  53. package/login/kcContext/index.d.ts +2 -1
  54. package/login/kcContext/index.js +1 -1
  55. package/login/kcContext/index.js.map +1 -1
  56. package/login/kcContext/kcContextMocks.js +32 -99
  57. package/login/kcContext/kcContextMocks.js.map +1 -1
  58. package/login/lib/useDownloadTerms.js +8 -14
  59. package/login/lib/useDownloadTerms.js.map +1 -1
  60. package/login/lib/useGetClassName.js +1 -1
  61. package/login/lib/useGetClassName.js.map +1 -1
  62. package/login/lib/useUserProfileForm.d.ts +9 -1
  63. package/login/lib/useUserProfileForm.js +94 -15
  64. package/login/lib/useUserProfileForm.js.map +1 -1
  65. package/login/pages/Code.js +1 -1
  66. package/login/pages/Code.js.map +1 -1
  67. package/login/pages/DeleteAccountConfirm.js +2 -2
  68. package/login/pages/DeleteAccountConfirm.js.map +1 -1
  69. package/login/pages/DeleteCredential.js +1 -1
  70. package/login/pages/DeleteCredential.js.map +1 -1
  71. package/login/pages/Error.js +1 -1
  72. package/login/pages/Error.js.map +1 -1
  73. package/login/pages/FrontchannelLogout.js +1 -1
  74. package/login/pages/FrontchannelLogout.js.map +1 -1
  75. package/login/pages/IdpReviewUserProfile.js +1 -1
  76. package/login/pages/IdpReviewUserProfile.js.map +1 -1
  77. package/login/pages/Info.js +5 -5
  78. package/login/pages/Info.js.map +1 -1
  79. package/login/pages/Login.js +4 -4
  80. package/login/pages/Login.js.map +1 -1
  81. package/login/pages/LoginConfigTotp.js +2 -2
  82. package/login/pages/LoginConfigTotp.js.map +1 -1
  83. package/login/pages/LoginIdpLinkConfirm.js +1 -1
  84. package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
  85. package/login/pages/LoginIdpLinkEmail.js +1 -1
  86. package/login/pages/LoginIdpLinkEmail.js.map +1 -1
  87. package/login/pages/LoginOauth2DeviceVerifyUserCode.js +1 -1
  88. package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
  89. package/login/pages/LoginOauthGrant.js +2 -2
  90. package/login/pages/LoginOauthGrant.js.map +1 -1
  91. package/login/pages/LoginOtp.js +1 -1
  92. package/login/pages/LoginOtp.js.map +1 -1
  93. package/login/pages/LoginPageExpired.js +1 -1
  94. package/login/pages/LoginPageExpired.js.map +1 -1
  95. package/login/pages/LoginPassword.js +3 -3
  96. package/login/pages/LoginPassword.js.map +1 -1
  97. package/login/pages/LoginRecoveryAuthnCodeConfig.js +10 -10
  98. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
  99. package/login/pages/LoginRecoveryAuthnCodeInput.js +1 -1
  100. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  101. package/login/pages/LoginResetOtp.js +1 -1
  102. package/login/pages/LoginResetOtp.js.map +1 -1
  103. package/login/pages/LoginResetPassword.js +2 -2
  104. package/login/pages/LoginResetPassword.js.map +1 -1
  105. package/login/pages/LoginUpdatePassword.js +3 -3
  106. package/login/pages/LoginUpdatePassword.js.map +1 -1
  107. package/login/pages/LoginUpdateProfile.js +4 -2
  108. package/login/pages/LoginUpdateProfile.js.map +1 -1
  109. package/login/pages/LoginUsername.js +3 -3
  110. package/login/pages/LoginUsername.js.map +1 -1
  111. package/login/pages/LoginVerifyEmail.js +1 -1
  112. package/login/pages/LoginVerifyEmail.js.map +1 -1
  113. package/login/pages/LoginX509Info.js +1 -1
  114. package/login/pages/LoginX509Info.js.map +1 -1
  115. package/login/pages/LogoutConfirm.js +1 -1
  116. package/login/pages/LogoutConfirm.js.map +1 -1
  117. package/login/pages/Register.js +8 -4
  118. package/login/pages/Register.js.map +1 -1
  119. package/login/pages/SamlPostForm.js +1 -1
  120. package/login/pages/SamlPostForm.js.map +1 -1
  121. package/login/pages/SelectAuthenticator.js +2 -2
  122. package/login/pages/SelectAuthenticator.js.map +1 -1
  123. package/login/pages/Terms.js +1 -1
  124. package/login/pages/Terms.js.map +1 -1
  125. package/login/pages/UpdateEmail.js +5 -3
  126. package/login/pages/UpdateEmail.js.map +1 -1
  127. package/login/pages/WebauthnAuthenticate.js +8 -8
  128. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  129. package/login/pages/WebauthnError.js +2 -2
  130. package/login/pages/WebauthnError.js.map +1 -1
  131. package/login/pages/WebauthnRegister.js +5 -5
  132. package/login/pages/WebauthnRegister.js.map +1 -1
  133. package/package.json +26 -38
  134. package/src/PUBLIC_URL.ts +1 -1
  135. package/src/account/Template.tsx +2 -3
  136. package/src/account/index.ts +2 -2
  137. package/src/account/kcContext/KcContext.ts +19 -1
  138. package/src/account/kcContext/getKcContextMock.ts +80 -0
  139. package/src/account/kcContext/index.ts +2 -1
  140. package/src/account/kcContext/kcContextMocks.ts +26 -91
  141. package/src/bin/copy-keycloak-resources-to-public.ts +1 -4
  142. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +4 -6
  143. package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +25 -25
  144. package/src/login/Template.tsx +4 -5
  145. package/src/login/UserProfileFormFields.tsx +28 -80
  146. package/src/login/index.ts +6 -3
  147. package/src/login/kcContext/KcContext.ts +41 -27
  148. package/src/login/kcContext/getKcContextMock.ts +80 -0
  149. package/src/login/kcContext/index.ts +7 -1
  150. package/src/login/kcContext/kcContextMocks.ts +95 -156
  151. package/src/login/lib/useDownloadTerms.ts +10 -24
  152. package/src/login/lib/useGetClassName.ts +1 -1
  153. package/src/login/lib/useUserProfileForm.tsx +117 -13
  154. package/src/login/pages/LoginConfigTotp.tsx +1 -1
  155. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +7 -8
  156. package/src/login/pages/WebauthnAuthenticate.tsx +2 -3
  157. package/src/login/pages/WebauthnRegister.tsx +2 -3
  158. package/src/tools/ExtractAfterStartingWith.ts +4 -0
  159. package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +4 -4
  160. package/src/tools/ValueOf.ts +2 -0
  161. package/src/tools/deepAssign.ts +51 -20
  162. package/src/tools/structuredCloneButFunctions.ts +24 -0
  163. package/src/tools/useInsertLinkTags.ts +78 -87
  164. package/src/tools/useInsertScriptTags.ts +69 -78
  165. package/src/tools/useOnFirstMount.ts +18 -0
  166. package/tools/Array.prototype.every.js.map +1 -1
  167. package/tools/ExtractAfterStartingWith.d.ts +1 -0
  168. package/tools/ExtractAfterStartingWith.js +2 -0
  169. package/tools/ExtractAfterStartingWith.js.map +1 -0
  170. package/tools/HTMLElement.prototype.prepend.js.map +1 -1
  171. package/tools/StatefulObservable/StatefulObservable.js.map +1 -1
  172. package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +1 -1
  173. package/tools/StatefulObservable/hooks/useRerenderOnChange.js +4 -4
  174. package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -1
  175. package/tools/ValueOf.d.ts +2 -0
  176. package/tools/ValueOf.js +2 -0
  177. package/tools/ValueOf.js.map +1 -0
  178. package/tools/clsx.js.map +1 -1
  179. package/tools/deepAssign.d.ts +1 -0
  180. package/tools/deepAssign.js +39 -16
  181. package/tools/deepAssign.js.map +1 -1
  182. package/tools/formatNumber.js.map +1 -1
  183. package/tools/structuredCloneButFunctions.d.ts +7 -0
  184. package/tools/structuredCloneButFunctions.js +19 -0
  185. package/tools/structuredCloneButFunctions.js.map +1 -0
  186. package/tools/useInsertLinkTags.d.ts +11 -6
  187. package/tools/useInsertLinkTags.js +53 -53
  188. package/tools/useInsertLinkTags.js.map +1 -1
  189. package/tools/useInsertScriptTags.d.ts +15 -6
  190. package/tools/useInsertScriptTags.js +56 -64
  191. package/tools/useInsertScriptTags.js.map +1 -1
  192. package/tools/useOnFirstMount.d.ts +2 -0
  193. package/tools/useOnFirstMount.js +15 -0
  194. package/tools/useOnFirstMount.js.map +1 -0
  195. package/tools/useSetClassName.js.map +1 -1
  196. package/vite-plugin/index.js +66 -64
  197. package/account/kcContext/createGetKcContext.d.ts +0 -19
  198. package/account/kcContext/createGetKcContext.js +0 -78
  199. package/account/kcContext/createGetKcContext.js.map +0 -1
  200. package/account/kcContext/getKcContext.d.ts +0 -13
  201. package/account/kcContext/getKcContext.js +0 -13
  202. package/account/kcContext/getKcContext.js.map +0 -1
  203. package/account/kcContext/getKcContextFromWindow.d.ts +0 -10
  204. package/account/kcContext/getKcContextFromWindow.js +0 -5
  205. package/account/kcContext/getKcContextFromWindow.js.map +0 -1
  206. package/login/kcContext/createGetKcContext.d.ts +0 -19
  207. package/login/kcContext/createGetKcContext.js +0 -114
  208. package/login/kcContext/createGetKcContext.js.map +0 -1
  209. package/login/kcContext/getKcContext.d.ts +0 -13
  210. package/login/kcContext/getKcContext.js +0 -13
  211. package/login/kcContext/getKcContext.js.map +0 -1
  212. package/login/kcContext/getKcContextFromWindow.d.ts +0 -10
  213. package/login/kcContext/getKcContextFromWindow.js +0 -5
  214. package/login/kcContext/getKcContextFromWindow.js.map +0 -1
  215. package/src/account/kcContext/createGetKcContext.ts +0 -134
  216. package/src/account/kcContext/getKcContext.ts +0 -23
  217. package/src/account/kcContext/getKcContextFromWindow.ts +0 -15
  218. package/src/login/kcContext/createGetKcContext.ts +0 -199
  219. package/src/login/kcContext/getKcContext.ts +0 -23
  220. package/src/login/kcContext/getKcContextFromWindow.ts +0 -15
  221. package/src/tools/AndByDiscriminatingKey.ts +0 -31
  222. package/src/tools/deepClone.ts +0 -19
  223. package/src/tools/memoize.ts +0 -55
  224. package/tools/AndByDiscriminatingKey.d.ts +0 -5
  225. package/tools/AndByDiscriminatingKey.js +0 -2
  226. package/tools/AndByDiscriminatingKey.js.map +0 -1
  227. package/tools/deepClone.d.ts +0 -2
  228. package/tools/deepClone.js +0 -14
  229. package/tools/deepClone.js.map +0 -1
  230. package/tools/memoize.d.ts +0 -7
  231. package/tools/memoize.js +0 -38
  232. package/tools/memoize.js.map +0 -1
@@ -1,78 +0,0 @@
1
- import { deepAssign } from "../../tools/deepAssign";
2
- import { isStorybook } from "../../lib/isStorybook";
3
- import { getKcContextFromWindow } from "./getKcContextFromWindow";
4
- import { symToStr } from "tsafe/symToStr";
5
- import { kcContextMocks, kcContextCommonMock } from "../../account/kcContext/kcContextMocks";
6
- export function createGetKcContext(params) {
7
- const { mockData, mockProperties } = params !== null && params !== void 0 ? params : {};
8
- function getKcContext(params) {
9
- const { mockPageId, storyPartialKcContext } = params !== null && params !== void 0 ? params : {};
10
- const realKcContext = getKcContextFromWindow();
11
- if (mockPageId !== undefined && realKcContext === undefined) {
12
- //TODO maybe trow if no mock fo custom page
13
- warn_that_mock_is_enbaled: {
14
- if (isStorybook) {
15
- break warn_that_mock_is_enbaled;
16
- }
17
- console.log(`%cKeycloakify: ${symToStr({
18
- mockPageId
19
- })} set to ${mockPageId}.`, "background: red; color: yellow; font-size: medium");
20
- }
21
- const kcContextDefaultMock = kcContextMocks.find(({ pageId }) => pageId === mockPageId);
22
- const partialKcContextCustomMock = (() => {
23
- const out = {};
24
- const mockDataPick = mockData === null || mockData === void 0 ? void 0 : mockData.find(({ pageId }) => pageId === mockPageId);
25
- if (mockDataPick !== undefined) {
26
- deepAssign({
27
- target: out,
28
- source: mockDataPick
29
- });
30
- }
31
- if (storyPartialKcContext !== undefined) {
32
- deepAssign({
33
- target: out,
34
- source: storyPartialKcContext
35
- });
36
- }
37
- return Object.keys(out).length === 0 ? undefined : out;
38
- })();
39
- if (kcContextDefaultMock === undefined &&
40
- partialKcContextCustomMock === undefined) {
41
- console.warn([
42
- `WARNING: You declared the non build in page ${mockPageId} but you didn't `,
43
- `provide mock data needed to debug the page outside of Keycloak as you are trying to do now.`,
44
- `Please check the documentation of the getKcContext function`
45
- ].join("\n"));
46
- }
47
- const kcContext = {};
48
- deepAssign({
49
- target: kcContext,
50
- source: kcContextDefaultMock !== undefined
51
- ? kcContextDefaultMock
52
- : Object.assign({ pageId: mockPageId }, kcContextCommonMock)
53
- });
54
- if (partialKcContextCustomMock !== undefined) {
55
- deepAssign({
56
- target: kcContext,
57
- source: partialKcContextCustomMock
58
- });
59
- }
60
- if (mockProperties !== undefined) {
61
- deepAssign({
62
- target: kcContext.properties,
63
- source: mockProperties
64
- });
65
- }
66
- return { kcContext };
67
- }
68
- if (realKcContext === undefined) {
69
- return { kcContext: undefined };
70
- }
71
- if (realKcContext.themeType !== "account") {
72
- return { kcContext: undefined };
73
- }
74
- return { kcContext: realKcContext };
75
- }
76
- return { getKcContext };
77
- }
78
- //# sourceMappingURL=createGetKcContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { DeepPartial } from "../../tools/DeepPartial";
2
- import type { ExtendKcContext } from "./getKcContextFromWindow";
3
- /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
4
- * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
5
- */
6
- export declare function getKcContext<KcContextExtension extends {
7
- pageId: string;
8
- } = never>(params?: {
9
- mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
10
- mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
11
- }): {
12
- kcContext: ExtendKcContext<KcContextExtension> | undefined;
13
- };
@@ -1,13 +0,0 @@
1
- import { createGetKcContext } from "./createGetKcContext";
2
- /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
3
- * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
4
- */
5
- export function getKcContext(params) {
6
- const { mockPageId, mockData } = params !== null && params !== void 0 ? params : {};
7
- const { getKcContext } = createGetKcContext({
8
- mockData
9
- });
10
- const { kcContext } = getKcContext({ mockPageId });
11
- return { kcContext };
12
- }
13
- //# sourceMappingURL=getKcContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,YAAY,CAE1B,MAGD;IACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAE9C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;QACxC,QAAQ;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { AndByDiscriminatingKey } from "../../tools/AndByDiscriminatingKey";
2
- import type { KcContext } from "./KcContext";
3
- export type ExtendKcContext<KcContextExtension extends {
4
- pageId: string;
5
- }> = [
6
- KcContextExtension
7
- ] extends [never] ? KcContext : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
8
- export declare function getKcContextFromWindow<KcContextExtension extends {
9
- pageId: string;
10
- } = never>(): ExtendKcContext<KcContextExtension> | undefined;
@@ -1,5 +0,0 @@
1
- import { nameOfTheGlobal } from "../../bin/shared/constants";
2
- export function getKcContextFromWindow() {
3
- return typeof window === "undefined" ? undefined : window[nameOfTheGlobal];
4
- }
5
- //# sourceMappingURL=getKcContextFromWindow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getKcContextFromWindow.js","sourceRoot":"","sources":["../../src/account/kcContext/getKcContextFromWindow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AASnE,MAAM,UAAU,sBAAsB;IAGlC,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAc,CAAC,eAAe,CAAC,CAAC;AACxF,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { DeepPartial } from "../../tools/DeepPartial";
2
- import type { ExtendKcContext } from "./getKcContextFromWindow";
3
- export declare function createGetKcContext<KcContextExtension extends {
4
- pageId: string;
5
- } = never>(params?: {
6
- mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
7
- mockProperties?: Record<string, string>;
8
- }): {
9
- getKcContext: <PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
10
- mockPageId?: PageId;
11
- storyPartialKcContext?: DeepPartial<Extract<ExtendKcContext<KcContextExtension>, {
12
- pageId: PageId;
13
- }>>;
14
- }) => {
15
- kcContext: PageId extends undefined ? ExtendKcContext<KcContextExtension> | undefined : Extract<ExtendKcContext<KcContextExtension>, {
16
- pageId: PageId;
17
- }>;
18
- };
19
- };
@@ -1,114 +0,0 @@
1
- import { kcContextMocks, kcContextCommonMock } from "./kcContextMocks";
2
- import { deepAssign } from "../../tools/deepAssign";
3
- import { isStorybook } from "../../lib/isStorybook";
4
- import { id } from "tsafe/id";
5
- import { exclude } from "tsafe/exclude";
6
- import { assert } from "tsafe/assert";
7
- import { getKcContextFromWindow } from "./getKcContextFromWindow";
8
- import { symToStr } from "tsafe/symToStr";
9
- export function createGetKcContext(params) {
10
- const { mockData, mockProperties } = params !== null && params !== void 0 ? params : {};
11
- function getKcContext(params) {
12
- var _a, _b;
13
- const { mockPageId, storyPartialKcContext } = params !== null && params !== void 0 ? params : {};
14
- const realKcContext = getKcContextFromWindow();
15
- if (mockPageId !== undefined && realKcContext === undefined) {
16
- //TODO maybe trow if no mock fo custom page
17
- warn_that_mock_is_enabled: {
18
- if (isStorybook) {
19
- break warn_that_mock_is_enabled;
20
- }
21
- console.log(`%cKeycloakify: ${symToStr({
22
- mockPageId
23
- })} set to ${mockPageId}.`, "background: red; color: yellow; font-size: medium");
24
- }
25
- const kcContextDefaultMock = kcContextMocks.find(({ pageId }) => pageId === mockPageId);
26
- const partialKcContextCustomMock = (() => {
27
- const out = {};
28
- const mockDataPick = mockData === null || mockData === void 0 ? void 0 : mockData.find(({ pageId }) => pageId === mockPageId);
29
- if (mockDataPick !== undefined) {
30
- deepAssign({
31
- target: out,
32
- source: mockDataPick
33
- });
34
- }
35
- if (storyPartialKcContext !== undefined) {
36
- deepAssign({
37
- target: out,
38
- source: storyPartialKcContext
39
- });
40
- }
41
- return Object.keys(out).length === 0 ? undefined : out;
42
- })();
43
- if (kcContextDefaultMock === undefined &&
44
- partialKcContextCustomMock === undefined) {
45
- console.warn([
46
- `WARNING: You declared the non build in page ${mockPageId} but you didn't `,
47
- `provide mock data needed to debug the page outside of Keycloak as you are trying to do now.`,
48
- `Please check the documentation of the getKcContext function`
49
- ].join("\n"));
50
- }
51
- const kcContext = {};
52
- deepAssign({
53
- target: kcContext,
54
- source: kcContextDefaultMock !== undefined
55
- ? kcContextDefaultMock
56
- : Object.assign({ pageId: mockPageId }, kcContextCommonMock)
57
- });
58
- if (partialKcContextCustomMock !== undefined) {
59
- deepAssign({
60
- target: kcContext,
61
- source: partialKcContextCustomMock
62
- });
63
- if ("profile" in partialKcContextCustomMock) {
64
- assert(kcContextDefaultMock !== undefined &&
65
- "profile" in kcContextDefaultMock);
66
- const { attributes } = kcContextDefaultMock.profile;
67
- id(kcContext).profile.attributes = [];
68
- const partialAttributes = [
69
- ...((_b = (_a = partialKcContextCustomMock.profile) === null || _a === void 0 ? void 0 : _a.attributes) !== null && _b !== void 0 ? _b : [])
70
- ].filter(exclude(undefined));
71
- attributes.forEach(attribute => {
72
- const partialAttribute = partialAttributes.find(({ name }) => name === attribute.name);
73
- const augmentedAttribute = {};
74
- deepAssign({
75
- target: augmentedAttribute,
76
- source: attribute
77
- });
78
- if (partialAttribute !== undefined) {
79
- partialAttributes.splice(partialAttributes.indexOf(partialAttribute), 1);
80
- deepAssign({
81
- target: augmentedAttribute,
82
- source: partialAttribute
83
- });
84
- }
85
- id(kcContext).profile.attributes.push(augmentedAttribute);
86
- });
87
- partialAttributes
88
- .map(partialAttribute => (Object.assign({ validators: {} }, partialAttribute)))
89
- .forEach(partialAttribute => {
90
- const { name } = partialAttribute;
91
- assert(name !== undefined, "If you define a mock attribute it must have at least a name");
92
- id(kcContext).profile.attributes.push(partialAttribute);
93
- });
94
- }
95
- }
96
- if (mockProperties !== undefined) {
97
- deepAssign({
98
- target: kcContext.properties,
99
- source: mockProperties
100
- });
101
- }
102
- return { kcContext };
103
- }
104
- if (realKcContext === undefined) {
105
- return { kcContext: undefined };
106
- }
107
- if (realKcContext.themeType !== "login") {
108
- return { kcContext: undefined };
109
- }
110
- return { kcContext: realKcContext };
111
- }
112
- return { getKcContext };
113
- }
114
- //# sourceMappingURL=createGetKcContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { DeepPartial } from "../../tools/DeepPartial";
2
- import type { ExtendKcContext } from "./getKcContextFromWindow";
3
- /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
4
- * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
5
- */
6
- export declare function getKcContext<KcContextExtension extends {
7
- pageId: string;
8
- } = never>(params?: {
9
- mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
10
- mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
11
- }): {
12
- kcContext: ExtendKcContext<KcContextExtension> | undefined;
13
- };
@@ -1,13 +0,0 @@
1
- import { createGetKcContext } from "./createGetKcContext";
2
- /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
3
- * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
4
- */
5
- export function getKcContext(params) {
6
- const { mockPageId, mockData } = params !== null && params !== void 0 ? params : {};
7
- const { getKcContext } = createGetKcContext({
8
- mockData
9
- });
10
- const { kcContext } = getKcContext({ mockPageId });
11
- return { kcContext };
12
- }
13
- //# sourceMappingURL=getKcContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getKcContext.js","sourceRoot":"","sources":["../../src/login/kcContext/getKcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,YAAY,CAE1B,MAGD;IACG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAE9C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAqB;QAC5D,QAAQ;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { KcContext } from "./KcContext";
2
- import type { AndByDiscriminatingKey } from "../../tools/AndByDiscriminatingKey";
3
- export type ExtendKcContext<KcContextExtension extends {
4
- pageId: string;
5
- }> = [
6
- KcContextExtension
7
- ] extends [never] ? KcContext : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
8
- export declare function getKcContextFromWindow<KcContextExtension extends {
9
- pageId: string;
10
- } = never>(): ExtendKcContext<KcContextExtension> | undefined;
@@ -1,5 +0,0 @@
1
- import { nameOfTheGlobal } from "../../bin/shared/constants";
2
- export function getKcContextFromWindow() {
3
- return typeof window === "undefined" ? undefined : window[nameOfTheGlobal];
4
- }
5
- //# sourceMappingURL=getKcContextFromWindow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getKcContextFromWindow.js","sourceRoot":"","sources":["../../src/login/kcContext/getKcContextFromWindow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAQnE,MAAM,UAAU,sBAAsB;IAGlC,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAc,CAAC,eAAe,CAAC,CAAC;AACxF,CAAC"}
@@ -1,134 +0,0 @@
1
- import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2
- import { deepAssign } from "keycloakify/tools/deepAssign";
3
- import { isStorybook } from "keycloakify/lib/isStorybook";
4
- import type { ExtendKcContext } from "./getKcContextFromWindow";
5
- import { getKcContextFromWindow } from "./getKcContextFromWindow";
6
- import { symToStr } from "tsafe/symToStr";
7
- import {
8
- kcContextMocks,
9
- kcContextCommonMock
10
- } from "keycloakify/account/kcContext/kcContextMocks";
11
-
12
- export function createGetKcContext<
13
- KcContextExtension extends { pageId: string } = never
14
- >(params?: {
15
- mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
16
- mockProperties?: Record<string, string>;
17
- }) {
18
- const { mockData, mockProperties } = params ?? {};
19
-
20
- function getKcContext<
21
- PageId extends
22
- | ExtendKcContext<KcContextExtension>["pageId"]
23
- | undefined = undefined
24
- >(params?: {
25
- mockPageId?: PageId;
26
- storyPartialKcContext?: DeepPartial<
27
- Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>
28
- >;
29
- }): {
30
- kcContext: PageId extends undefined
31
- ? ExtendKcContext<KcContextExtension> | undefined
32
- : Extract<ExtendKcContext<KcContextExtension>, { pageId: PageId }>;
33
- } {
34
- const { mockPageId, storyPartialKcContext } = params ?? {};
35
-
36
- const realKcContext = getKcContextFromWindow<KcContextExtension>();
37
-
38
- if (mockPageId !== undefined && realKcContext === undefined) {
39
- //TODO maybe trow if no mock fo custom page
40
-
41
- warn_that_mock_is_enbaled: {
42
- if (isStorybook) {
43
- break warn_that_mock_is_enbaled;
44
- }
45
-
46
- console.log(
47
- `%cKeycloakify: ${symToStr({
48
- mockPageId
49
- })} set to ${mockPageId}.`,
50
- "background: red; color: yellow; font-size: medium"
51
- );
52
- }
53
-
54
- const kcContextDefaultMock = kcContextMocks.find(
55
- ({ pageId }) => pageId === mockPageId
56
- );
57
-
58
- const partialKcContextCustomMock = (() => {
59
- const out: DeepPartial<ExtendKcContext<KcContextExtension>> = {};
60
-
61
- const mockDataPick = mockData?.find(
62
- ({ pageId }) => pageId === mockPageId
63
- );
64
-
65
- if (mockDataPick !== undefined) {
66
- deepAssign({
67
- target: out,
68
- source: mockDataPick
69
- });
70
- }
71
-
72
- if (storyPartialKcContext !== undefined) {
73
- deepAssign({
74
- target: out,
75
- source: storyPartialKcContext
76
- });
77
- }
78
-
79
- return Object.keys(out).length === 0 ? undefined : out;
80
- })();
81
-
82
- if (
83
- kcContextDefaultMock === undefined &&
84
- partialKcContextCustomMock === undefined
85
- ) {
86
- console.warn(
87
- [
88
- `WARNING: You declared the non build in page ${mockPageId} but you didn't `,
89
- `provide mock data needed to debug the page outside of Keycloak as you are trying to do now.`,
90
- `Please check the documentation of the getKcContext function`
91
- ].join("\n")
92
- );
93
- }
94
-
95
- const kcContext: any = {};
96
-
97
- deepAssign({
98
- target: kcContext,
99
- source:
100
- kcContextDefaultMock !== undefined
101
- ? kcContextDefaultMock
102
- : { pageId: mockPageId, ...kcContextCommonMock }
103
- });
104
-
105
- if (partialKcContextCustomMock !== undefined) {
106
- deepAssign({
107
- target: kcContext,
108
- source: partialKcContextCustomMock
109
- });
110
- }
111
-
112
- if (mockProperties !== undefined) {
113
- deepAssign({
114
- target: kcContext.properties,
115
- source: mockProperties
116
- });
117
- }
118
-
119
- return { kcContext };
120
- }
121
-
122
- if (realKcContext === undefined) {
123
- return { kcContext: undefined as any };
124
- }
125
-
126
- if (realKcContext.themeType !== "account") {
127
- return { kcContext: undefined as any };
128
- }
129
-
130
- return { kcContext: realKcContext as any };
131
- }
132
-
133
- return { getKcContext };
134
- }
@@ -1,23 +0,0 @@
1
- import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2
- import type { ExtendKcContext } from "./getKcContextFromWindow";
3
- import { createGetKcContext } from "./createGetKcContext";
4
-
5
- /** NOTE: We now recommend using createGetKcContext instead of this function to make storybook integration easier
6
- * See: https://github.com/keycloakify/keycloakify-starter/blob/main/src/keycloak-theme/account/kcContext.ts
7
- */
8
- export function getKcContext<
9
- KcContextExtension extends { pageId: string } = never
10
- >(params?: {
11
- mockPageId?: ExtendKcContext<KcContextExtension>["pageId"];
12
- mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
13
- }): { kcContext: ExtendKcContext<KcContextExtension> | undefined } {
14
- const { mockPageId, mockData } = params ?? {};
15
-
16
- const { getKcContext } = createGetKcContext({
17
- mockData
18
- });
19
-
20
- const { kcContext } = getKcContext({ mockPageId });
21
-
22
- return { kcContext };
23
- }
@@ -1,15 +0,0 @@
1
- import type { AndByDiscriminatingKey } from "keycloakify/tools/AndByDiscriminatingKey";
2
- import { nameOfTheGlobal } from "keycloakify/bin/shared/constants";
3
- import type { KcContext } from "./KcContext";
4
-
5
- export type ExtendKcContext<KcContextExtension extends { pageId: string }> = [
6
- KcContextExtension
7
- ] extends [never]
8
- ? KcContext
9
- : AndByDiscriminatingKey<"pageId", KcContextExtension & KcContext.Common, KcContext>;
10
-
11
- export function getKcContextFromWindow<
12
- KcContextExtension extends { pageId: string } = never
13
- >(): ExtendKcContext<KcContextExtension> | undefined {
14
- return typeof window === "undefined" ? undefined : (window as any)[nameOfTheGlobal];
15
- }