keycloakify 6.0.0-beta.7 → 6.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 (78) hide show
  1. package/README.md +6 -2
  2. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +5 -5
  3. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +1 -1
  4. package/bin/link_in_test_app.js +26 -8
  5. package/bin/link_in_test_app.js.map +1 -1
  6. package/bin/tsconfig.tsbuildinfo +1 -1
  7. package/lib/components/Error.js +15 -3
  8. package/lib/components/Error.js.map +1 -1
  9. package/lib/components/Info.js +15 -3
  10. package/lib/components/Info.js.map +1 -1
  11. package/lib/components/KcApp.d.ts +1 -1
  12. package/lib/components/KcApp.js +31 -18
  13. package/lib/components/KcApp.js.map +1 -1
  14. package/lib/components/KcProps.js +10 -52
  15. package/lib/components/KcProps.js.map +1 -1
  16. package/lib/components/Login.js +36 -22
  17. package/lib/components/Login.js.map +1 -1
  18. package/lib/components/LoginConfigTotp.js +18 -6
  19. package/lib/components/LoginConfigTotp.js.map +1 -1
  20. package/lib/components/LoginIdpLinkConfirm.js +16 -4
  21. package/lib/components/LoginIdpLinkConfirm.js.map +1 -1
  22. package/lib/components/LoginIdpLinkEmail.js +15 -3
  23. package/lib/components/LoginIdpLinkEmail.js.map +1 -1
  24. package/lib/components/LoginOtp.js +16 -4
  25. package/lib/components/LoginOtp.js.map +1 -1
  26. package/lib/components/LoginPageExpired.js +15 -3
  27. package/lib/components/LoginPageExpired.js.map +1 -1
  28. package/lib/components/LoginResetPassword.js +16 -4
  29. package/lib/components/LoginResetPassword.js.map +1 -1
  30. package/lib/components/LoginUpdatePassword.js +16 -4
  31. package/lib/components/LoginUpdatePassword.js.map +1 -1
  32. package/lib/components/LoginUpdateProfile.js +21 -8
  33. package/lib/components/LoginUpdateProfile.js.map +1 -1
  34. package/lib/components/LoginVerifyEmail.js +16 -4
  35. package/lib/components/LoginVerifyEmail.js.map +1 -1
  36. package/lib/components/LogoutConfirm.js +16 -4
  37. package/lib/components/LogoutConfirm.js.map +1 -1
  38. package/lib/components/Register.js +21 -8
  39. package/lib/components/Register.js.map +1 -1
  40. package/lib/components/RegisterUserProfile.js +22 -11
  41. package/lib/components/RegisterUserProfile.js.map +1 -1
  42. package/lib/components/Template.js +4 -4
  43. package/lib/components/Template.js.map +1 -1
  44. package/lib/components/Terms.js +18 -5
  45. package/lib/components/Terms.js.map +1 -1
  46. package/lib/getKcContext/getKcContext.js +10 -6
  47. package/lib/getKcContext/getKcContext.js.map +1 -1
  48. package/lib/getKcContext/kcContextMocks/kcContextMocks.js +121 -224
  49. package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +1 -1
  50. package/lib/i18n/index.js +18 -32
  51. package/lib/i18n/index.js.map +1 -1
  52. package/lib/tools/useCssAndCx.d.ts +4 -0
  53. package/lib/tools/useCssAndCx.js +9 -0
  54. package/lib/tools/useCssAndCx.js.map +1 -0
  55. package/lib/tsconfig.tsbuildinfo +1 -1
  56. package/lib/useFormValidationSlice.js +38 -44
  57. package/lib/useFormValidationSlice.js.map +1 -1
  58. package/package.json +10 -6
  59. package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +7 -4
  60. package/src/bin/link_in_test_app.ts +33 -9
  61. package/src/lib/components/KcApp.tsx +19 -17
  62. package/src/lib/components/Login.tsx +1 -1
  63. package/src/lib/components/LoginConfigTotp.tsx +1 -1
  64. package/src/lib/components/LoginIdpLinkConfirm.tsx +1 -1
  65. package/src/lib/components/LoginOtp.tsx +1 -1
  66. package/src/lib/components/LoginResetPassword.tsx +1 -1
  67. package/src/lib/components/LoginUpdatePassword.tsx +1 -1
  68. package/src/lib/components/LoginUpdateProfile.tsx +1 -1
  69. package/src/lib/components/LogoutConfirm.tsx +1 -1
  70. package/src/lib/components/Register.tsx +1 -1
  71. package/src/lib/components/RegisterUserProfile.tsx +1 -1
  72. package/src/lib/components/Template.tsx +1 -1
  73. package/src/lib/components/Terms.tsx +1 -1
  74. package/src/lib/getKcContext/getKcContext.ts +10 -6
  75. package/src/lib/i18n/index.tsx +6 -2
  76. package/src/lib/tools/useCssAndCx.ts +11 -0
  77. package/src/lib/tsconfig.json +1 -1
  78. package/src/test/bin/replaceImportFromStatic.ts +35 -23
@@ -9,6 +9,7 @@ export function useGetErrors(params) {
9
9
  const { messagesPerField, profile: { attributes } } = kcContext;
10
10
  const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
11
11
  const getErrors = useConstCallback((params) => {
12
+ var _a;
12
13
  const { name, fieldValueByAttributeName } = params;
13
14
  const { value } = fieldValueByAttributeName[name];
14
15
  const { value: defaultValue, validators } = attributes.find(attribute => attribute.name === name);
@@ -20,7 +21,7 @@ export function useGetErrors(params) {
20
21
  try {
21
22
  doesErrorExist = messagesPerField.existsError(name);
22
23
  }
23
- catch {
24
+ catch (_b) {
24
25
  break block;
25
26
  }
26
27
  if (!doesErrorExist) {
@@ -86,15 +87,14 @@ export function useGetErrors(params) {
86
87
  break scope;
87
88
  }
88
89
  const msgArg = [
89
- errorMessageKey ??
90
- id((() => {
91
- switch (shouldBe) {
92
- case "equal":
93
- return "shouldBeEqual";
94
- case "different":
95
- return "shouldBeDifferent";
96
- }
97
- })()),
90
+ errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id((() => {
91
+ switch (shouldBe) {
92
+ case "equal":
93
+ return "shouldBeEqual";
94
+ case "different":
95
+ return "shouldBeDifferent";
96
+ }
97
+ })()),
98
98
  otherName,
99
99
  name,
100
100
  shouldBe
@@ -118,7 +118,7 @@ export function useGetErrors(params) {
118
118
  if (new RegExp(pattern).test(value)) {
119
119
  break scope;
120
120
  }
121
- const msgArgs = [errorMessageKey ?? id("shouldMatchPattern"), pattern];
121
+ const msgArgs = [errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id("shouldMatchPattern"), pattern];
122
122
  errors.push({
123
123
  validatorName,
124
124
  "errorMessage": React.createElement(Fragment, { key: errors.length }, advancedMsg(...msgArgs)),
@@ -126,7 +126,7 @@ export function useGetErrors(params) {
126
126
  });
127
127
  }
128
128
  scope: {
129
- if ([...errors].reverse()[0]?.validatorName === "pattern") {
129
+ if (((_a = [...errors].reverse()[0]) === null || _a === void 0 ? void 0 : _a.validatorName) === "pattern") {
130
130
  break scope;
131
131
  }
132
132
  const validatorName = "email";
@@ -272,40 +272,34 @@ export function useFormValidationSlice(params) {
272
272
  attribute,
273
273
  "errors": getErrors({
274
274
  "name": attribute.name,
275
- "fieldValueByAttributeName": Object.fromEntries(attributesWithPassword.map(({ name, value }) => [name, { "value": value ?? "" }]))
275
+ "fieldValueByAttributeName": Object.fromEntries(attributesWithPassword.map(({ name, value }) => [name, { "value": value !== null && value !== void 0 ? value : "" }]))
276
276
  })
277
277
  }))
278
- .map(({ attribute, errors }) => [
279
- attribute.name,
280
- {
281
- "value": attribute.value ?? "",
282
- errors,
283
- "doDisplayPotentialErrorMessages": errors.length !== 0
284
- }
285
- ])), [attributesWithPassword]);
286
- const [formValidationInternalState, formValidationReducer] = useReducer((state, params) => ({
287
- ...state,
288
- [params.name]: {
289
- ...state[params.name],
290
- ...(() => {
291
- switch (params.action) {
292
- case "focus lost":
293
- return { "doDisplayPotentialErrorMessages": true };
294
- case "update value":
295
- return {
296
- "value": params.newValue,
297
- "errors": getErrors({
298
- "name": params.name,
299
- "fieldValueByAttributeName": {
300
- ...state,
301
- [params.name]: { "value": params.newValue }
302
- }
303
- })
304
- };
305
- }
306
- })()
307
- }
308
- }), initialInternalState);
278
+ .map(({ attribute, errors }) => {
279
+ var _a;
280
+ return [
281
+ attribute.name,
282
+ {
283
+ "value": (_a = attribute.value) !== null && _a !== void 0 ? _a : "",
284
+ errors,
285
+ "doDisplayPotentialErrorMessages": errors.length !== 0
286
+ }
287
+ ];
288
+ })), [attributesWithPassword]);
289
+ const [formValidationInternalState, formValidationReducer] = useReducer((state, params) => (Object.assign(Object.assign({}, state), { [params.name]: Object.assign(Object.assign({}, state[params.name]), (() => {
290
+ switch (params.action) {
291
+ case "focus lost":
292
+ return { "doDisplayPotentialErrorMessages": true };
293
+ case "update value":
294
+ return {
295
+ "value": params.newValue,
296
+ "errors": getErrors({
297
+ "name": params.name,
298
+ "fieldValueByAttributeName": Object.assign(Object.assign({}, state), { [params.name]: { "value": params.newValue } })
299
+ })
300
+ };
301
+ }
302
+ })()) })), initialInternalState);
309
303
  const formValidationState = useMemo(() => ({
310
304
  "fieldStateByAttributeName": Object.fromEntries(Object.entries(formValidationInternalState).map(([name, { value, errors, doDisplayPotentialErrorMessages }]) => [
311
305
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAAC,MAQ5B;IACG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEnC,MAAM,EACF,gBAAgB,EAChB,OAAO,EAAE,EAAE,UAAU,EAAE,EAC1B,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,MAAsF,EAAE,EAAE;;QAC1H,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,MAAM,CAAC;QAEnD,MAAM,EAAE,KAAK,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAE,CAAC;QAEnG,KAAK,EAAE;YACH,IAAI,YAAY,KAAK,KAAK,EAAE;gBACxB,MAAM,KAAK,CAAC;aACf;YAED,IAAI,cAAuB,CAAC;YAE5B,IAAI;gBACA,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACvD;YAAC,WAAM;gBACJ,MAAM,KAAK,CAAC;aACf;YAED,IAAI,CAAC,cAAc,EAAE;gBACjB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAO;gBACH;oBACI,eAAe,EAAE,SAAS;oBAC1B,eAAe;oBACf,cAAc,EAAE,8BAAM,GAAG,EAAE,CAAC,IAAG,eAAe,CAAQ;iBACzD;aACJ,CAAC;SACL;QAED,MAAM,MAAM,GAIN,EAAE,CAAC;QAET,KAAK,EAAE;YACH,MAAM,aAAa,GAAG,QAAQ,CAAC;YAE/B,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;YAE/E,IAAI,gBAAgB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,MAAM,KAAK,CAAC;aACf;YAED,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnD,MAAM,OAAO,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAU,CAAC;gBAEhE,MAAM,CAAC,IAAI,CAAC;oBACR,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;oBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;oBACrC,aAAa;iBAChB,CAAC,CAAC;aACN;YAED,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnD,MAAM,OAAO,GAAG,CAAC,gCAAgC,EAAE,GAAG,CAAU,CAAC;gBAEjE,MAAM,CAAC,IAAI,CAAC;oBACR,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;oBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;oBACrC,aAAa;iBAChB,CAAC,CAAC;aACN;SACJ;QAED,KAAK,EAAE;YACH,MAAM,aAAa,GAAG,iBAAiB,CAAC;YAExC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;YAElI,IAAI,gBAAgB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;gBAClB,QAAQ,QAAQ,EAAE;oBACd,KAAK,WAAW;wBACZ,OAAO,UAAU,KAAK,KAAK,CAAC;oBAChC,KAAK,OAAO;wBACR,OAAO,UAAU,KAAK,KAAK,CAAC;iBACnC;YACL,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,OAAO,EAAE;gBACT,MAAM,KAAK,CAAC;aACf;YAED,MAAM,MAAM,GAAG;gBACX,eAAe,aAAf,eAAe,cAAf,eAAe,GACX,EAAE,CACE,CAAC,GAAG,EAAE;oBACF,QAAQ,QAAQ,EAAE;wBACd,KAAK,OAAO;4BACR,OAAO,eAAe,CAAC;wBAC3B,KAAK,WAAW;4BACZ,OAAO,mBAAmB,CAAC;qBAClC;gBACL,CAAC,CAAC,EAAE,CACP;gBACL,SAAS;gBACT,IAAI;gBACJ,QAAQ;aACF,CAAC;YAEX,MAAM,CAAC,IAAI,CAAC;gBACR,aAAa;gBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,WAAW,CAAC,GAAG,MAAM,CAAC,CAAY;gBACjF,iBAAiB,EAAE,cAAc,CAAC,GAAG,MAAM,CAAC;aAC/C,CAAC,CAAC;SACN;QAED,KAAK,EAAE;YACH,MAAM,aAAa,GAAG,SAAS,CAAC;YAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;YAEhH,IAAI,gBAAgB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,MAAM,KAAK,CAAC;aACf;YAED,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACjC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,OAAO,GAAG,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,EAAE,CAAiB,oBAAoB,CAAC,EAAE,OAAO,CAAU,CAAC;YAEhG,MAAM,CAAC,IAAI,CAAC;gBACR,aAAa;gBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,WAAW,CAAC,GAAG,OAAO,CAAC,CAAY;gBAClF,iBAAiB,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC;aAChD,CAAC,CAAC;SACN;QAED,KAAK,EAAE;YACH,IAAI,CAAA,MAAA,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,0CAAE,aAAa,MAAK,SAAS,EAAE;gBACvD,MAAM,KAAK,CAAC;aACf;YAED,MAAM,aAAa,GAAG,OAAO,CAAC;YAE9B,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC;YAErE,IAAI,gBAAgB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,MAAM,KAAK,CAAC;aACf;YAED,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,OAAO,GAAG,CAAC,EAAE,CAAiB,qBAAqB,CAAC,CAAU,CAAC;YAErE,MAAM,CAAC,IAAI,CAAC;gBACR,aAAa;gBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;gBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;aACxC,CAAC,CAAC;SACN;QAED,KAAK,EAAE;YACH,MAAM,aAAa,GAAG,SAAS,CAAC;YAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;YAE/E,IAAI,gBAAgB,IAAI,KAAK,KAAK,EAAE,EAAE;gBAClC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACjB,MAAM,OAAO,GAAG,CAAC,iBAAiB,CAAU,CAAC;gBAE7C,MAAM,CAAC,IAAI,CAAC;oBACR,aAAa;oBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;oBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;iBACxC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC;aACf;YAED,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC/C,MAAM,OAAO,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAU,CAAC;gBAEpE,MAAM,CAAC,IAAI,CAAC;oBACR,aAAa;oBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;oBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;iBACxC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC;aACf;YAED,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC/C,MAAM,OAAO,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAU,CAAC;gBAEtE,MAAM,CAAC,IAAI,CAAC;oBACR,aAAa;oBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAY;oBAC1E,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;iBACxC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC;aACf;SACJ;QAED,KAAK,EAAE;YACH,MAAM,aAAa,GAAG,SAAS,CAAC;YAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC;aACf;YAED,IAAI,KAAK,KAAK,EAAE,EAAE;gBACd,MAAM,KAAK,CAAC;aACf;YAED,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,OAAO,GAAG,CAAC,EAAE,CAAiB,iBAAiB,CAAC,CAAU,CAAC;YAEjE,MAAM,CAAC,IAAI,CAAC;gBACR,aAAa;gBACb,cAAc,EAAE,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,IAAG,WAAW,CAAC,GAAG,OAAO,CAAC,CAAY;gBAClF,iBAAiB,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC;aAChD,CAAC,CAAC;SACN;QAED,qCAAqC;QAErC,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAYtC;IACG,MAAM,EACF,SAAS,EACT,kBAAkB,GAAG;QACjB,QAAQ,EAAE;YACN,oBAAoB,EAAE,IAAI;YAC1B,KAAK,EAAE,GAAG;SACb;KACJ,EACD,IAAI,EACP,GAAG,MAAM,CAAC;IAEX,MAAM,sBAAsB,GAAG,OAAO,CAClC,GAAG,EAAE,CACD,CAAC,SAAS,CAAC,gBAAgB;QACvB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU;QAC9B,CAAC,CAAC,CAAC,GAAG,EAAE;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YAEhF,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACZ,GAAG,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;oBAClB,CAAC,CAAC,CAAC,IAAI,CAAC;oBACR,CAAC,CAAC;wBACI,IAAI;wBACJ,EAAE,CAAY;4BACV,MAAM,EAAE,UAAU;4BAClB,aAAa,EAAE,EAAE,CAA0B,aAAa,CAAC;4BACzD,UAAU,EAAE,IAAI;4BAChB,UAAU,EAAE,KAAK;4BACjB,YAAY,EAAE,kBAAkB;4BAChC,aAAa,EAAE,EAAE;4BACjB,kBAAkB,EAAE,EAAE;4BACtB,cAAc,EAAE,cAAc;yBACjC,CAAC;wBACF,EAAE,CAAY;4BACV,MAAM,EAAE,kBAAkB;4BAC1B,aAAa,EAAE,EAAE,CAA0B,oBAAoB,CAAC;4BAChE,UAAU,EAAE,IAAI;4BAChB,UAAU,EAAE,KAAK;4BACjB,YAAY,EAAE;gCACV,iBAAiB,EAAE;oCACf,MAAM,EAAE,UAAU;oCAClB,oBAAoB,EAAE,IAAI;oCAC1B,UAAU,EAAE,OAAO;oCACnB,eAAe,EAAE,EAAE,CAA0B,kCAAkC,CAAC;iCACnF;6BACJ;4BACD,aAAa,EAAE,EAAE;4BACjB,kBAAkB,EAAE,EAAE;4BACtB,cAAc,EAAE,cAAc;yBACjC,CAAC;qBACL,CAAC;aACX,EACD,EAAE,CACL,CAAC;QACN,CAAC,CAAC,EAAE,EACd,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAClC,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAC/B,WAAW,EAAE;YACT,kBAAkB,EAAE,SAAS,CAAC,gBAAgB;YAC9C,SAAS,EAAE;gBACP,YAAY,EAAE,sBAAsB;aACvC;SACJ;QACD,IAAI;KACP,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,OAAO,CAChC,GAAG,EAAE,CACD,MAAM,CAAC,WAAW,CACd,sBAAsB;SACjB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACf,SAAS;QACT,QAAQ,EAAE,SAAS,CAAC;YAChB,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAC3C,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,CAAC,CAAC,CACpF;SACJ,CAAC;KACL,CAAC,CAAC;SACF,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;;QAAC,OAAA;YAC5B,SAAS,CAAC,IAAI;YACd;gBACI,OAAO,EAAE,MAAA,SAAS,CAAC,KAAK,mCAAI,EAAE;gBAC9B,MAAM;gBACN,iCAAiC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;aACzD;SACJ,CAAA;KAAA,CAAC,CACT,EACL,CAAC,sBAAsB,CAAC,CAC3B,CAAC;IAIF,MAAM,CAAC,2BAA2B,EAAE,qBAAqB,CAAC,GAAG,UAAU,CACnE,CACI,KAAoB,EACpB,MASO,EACM,EAAE,CAAC,iCACb,KAAK,KACR,CAAC,MAAM,CAAC,IAAI,CAAC,kCACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAClB,CAAC,GAAG,EAAE;YACL,QAAQ,MAAM,CAAC,MAAM,EAAE;gBACnB,KAAK,YAAY;oBACb,OAAO,EAAE,iCAAiC,EAAE,IAAI,EAAE,CAAC;gBACvD,KAAK,cAAc;oBACf,OAAO;wBACH,OAAO,EAAE,MAAM,CAAC,QAAQ;wBACxB,QAAQ,EAAE,SAAS,CAAC;4BAChB,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,2BAA2B,kCACpB,KAAK,KACR,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,GAC9C;yBACJ,CAAC;qBACL,CAAC;aACT;QACL,CAAC,CAAC,EAAE,KAEV,EACF,oBAAoB,CACvB,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC;QACH,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5G,IAAI;YACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;SAChF,CAAC,CACL;QACD,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,KAAK,CAClE,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAE,CAAC,QAAQ,CAAC,CAC5H;KACJ,CAAC,EACF,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CACxD,CAAC;IAEF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAClF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "6.0.0-beta.7",
3
+ "version": "6.0.0",
4
4
  "description": "Keycloak theme generator for Reacts app",
5
5
  "repository": {
6
6
  "type": "git",
@@ -320,6 +320,7 @@
320
320
  "src/lib/tools/emailRegExp.ts",
321
321
  "src/lib/tools/headInsert.ts",
322
322
  "src/lib/tools/pathBasename.ts",
323
+ "src/lib/tools/useCssAndCx.ts",
323
324
  "src/lib/tsconfig.json",
324
325
  "src/lib/useFormValidationSlice.tsx",
325
326
  "src/test/bin/generateKeycloakThemeResources.ts",
@@ -1210,6 +1211,9 @@
1210
1211
  "lib/tools/pathBasename.d.ts",
1211
1212
  "lib/tools/pathBasename.js",
1212
1213
  "lib/tools/pathBasename.js.map",
1214
+ "lib/tools/useCssAndCx.d.ts",
1215
+ "lib/tools/useCssAndCx.js",
1216
+ "lib/tools/useCssAndCx.js.map",
1213
1217
  "lib/tsconfig.tsbuildinfo",
1214
1218
  "lib/useFormValidationSlice.d.ts",
1215
1219
  "lib/useFormValidationSlice.js",
@@ -1248,15 +1252,15 @@
1248
1252
  "@octokit/rest": "^18.12.0",
1249
1253
  "cheerio": "^1.0.0-rc.5",
1250
1254
  "cli-select": "^1.1.2",
1251
- "evt": "^2.3.1",
1255
+ "evt": "^2.4.0",
1252
1256
  "memoizee": "^0.4.15",
1253
- "minimal-polyfills": "^2.2.1",
1257
+ "minimal-polyfills": "^2.2.2",
1254
1258
  "path-browserify": "^1.0.1",
1255
- "powerhooks": "^0.20.10",
1259
+ "powerhooks": "^0.20.15",
1256
1260
  "react-markdown": "^5.0.3",
1257
1261
  "scripting-tools": "^0.19.13",
1258
- "tsafe": "^0.10.1",
1259
- "tss-react": "^3.7.1",
1262
+ "tsafe": "^1.0.1",
1263
+ "tss-react": "^4.1.1",
1260
1264
  "zod": "^3.17.10"
1261
1265
  }
1262
1266
  }
@@ -41,9 +41,11 @@ export function replaceImportsFromStaticInJsCode(params: { jsCode: string; build
41
41
  const { jsCode, buildOptions } = params;
42
42
 
43
43
  const getReplaceArgs = (language: "js" | "css"): Parameters<typeof String.prototype.replace> => [
44
- new RegExp(`([a-zA-Z]+)\\.([a-zA-Z]+)=function\\(([a-zA-Z]+)\\){return"static\\/${language}\\/"`, "g"),
44
+ new RegExp(`([a-zA-Z_]+)\\.([a-zA-Z]+)=function\\(([a-zA-Z]+)\\){return"static\\/${language}\\/"`, "g"),
45
45
  (...[, n, u, e]) => `
46
46
  ${n}[(function(){
47
+ var pd= Object.getOwnPropertyDescriptor(${n}, "p");
48
+ if( pd === undefined || pd.configurable ){
47
49
  ${
48
50
  buildOptions.isStandalone
49
51
  ? `
@@ -55,10 +57,11 @@ export function replaceImportsFromStaticInJsCode(params: { jsCode: string; build
55
57
  : `
56
58
  var p= "";
57
59
  Object.defineProperty(${n}, "p", {
58
- get: function() { return ("${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : "") + p; },
60
+ get: function() { return "${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : p; },
59
61
  set: function (value){ p = value;}
60
62
  });
61
63
  `
64
+ }
62
65
  }
63
66
  return "${u}";
64
67
  })()] = function(${e}) { return "${buildOptions.isStandalone ? "/build/" : ""}static/${language}/"`
@@ -70,13 +73,13 @@ export function replaceImportsFromStaticInJsCode(params: { jsCode: string; build
70
73
  .replace(/([a-zA-Z]+\.[a-zA-Z]+)\+"static\//g, (...[, group]) =>
71
74
  buildOptions.isStandalone
72
75
  ? `window.${ftlValuesGlobalName}.url.resourcesPath + "/build/static/`
73
- : `("${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : "") + ${group} + "static/`
76
+ : `("${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : ${group}) + "static/`
74
77
  )
75
78
  //TODO: Write a test case for this
76
79
  .replace(/".chunk.css",([a-zA-Z])+=([a-zA-Z]+\.[a-zA-Z]+)\+([a-zA-Z]+),/, (...[, group1, group2, group3]) =>
77
80
  buildOptions.isStandalone
78
81
  ? `".chunk.css",${group1} = window.${ftlValuesGlobalName}.url.resourcesPath + "/build/" + ${group3},`
79
- : `".chunk.css",${group1} = ("${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : "") + ${group2} + ${group3},`
82
+ : `".chunk.css",${group1} = ("${ftlValuesGlobalName}" in window ? "${buildOptions.urlOrigin}" : ${group2}) + ${group3},`
80
83
  );
81
84
 
82
85
  return { fixedJsCode };
@@ -1,5 +1,6 @@
1
1
  import { execSync } from "child_process";
2
2
  import { join as pathJoin, relative as pathRelative } from "path";
3
+ import { exclude } from "tsafe/exclude";
3
4
  import * as fs from "fs";
4
5
 
5
6
  const keycloakifyDirPath = pathJoin(__dirname, "..", "..");
@@ -60,11 +61,32 @@ const execYarnLink = (params: { targetModuleName?: string; cwd: string }) => {
60
61
  });
61
62
  };
62
63
 
63
- const testAppNames = [process.argv[2] ?? "keycloakify-demo-app"] as const;
64
+ const testAppPaths = (() => {
65
+ const arg = process.argv[2];
64
66
 
65
- const getTestAppPath = (testAppName: typeof testAppNames[number]) => pathJoin(keycloakifyDirPath, "..", testAppName);
67
+ const testAppNames = arg !== undefined ? [arg] : ["keycloakify-starter", "keycloakify-advanced-starter"];
66
68
 
67
- testAppNames.forEach(testAppName => execSync("yarn install", { "cwd": getTestAppPath(testAppName) }));
69
+ return testAppNames
70
+ .map(testAppName => {
71
+ const testAppPath = pathJoin(keycloakifyDirPath, "..", testAppName);
72
+
73
+ if (fs.existsSync(testAppPath)) {
74
+ return testAppPath;
75
+ }
76
+
77
+ console.warn(`Skipping ${testAppName} since it cant be found here: ${testAppPath}`);
78
+
79
+ return undefined;
80
+ })
81
+ .filter(exclude(undefined));
82
+ })();
83
+
84
+ if (testAppPaths.length === 0) {
85
+ console.error("No test app to link into!");
86
+ process.exit(-1);
87
+ }
88
+
89
+ testAppPaths.forEach(testAppPath => execSync("yarn install", { "cwd": testAppPath }));
68
90
 
69
91
  console.log("=== Linking common dependencies ===");
70
92
 
@@ -81,22 +103,24 @@ commonThirdPartyDeps.forEach(commonThirdPartyDep => {
81
103
  );
82
104
 
83
105
  execYarnLink({ "cwd": localInstallPath });
106
+ });
84
107
 
85
- testAppNames.forEach(testAppName =>
108
+ commonThirdPartyDeps.forEach(commonThirdPartyDep =>
109
+ testAppPaths.forEach(testAppPath =>
86
110
  execYarnLink({
87
- "cwd": getTestAppPath(testAppName),
111
+ "cwd": testAppPath,
88
112
  "targetModuleName": commonThirdPartyDep
89
113
  })
90
- );
91
- });
114
+ )
115
+ );
92
116
 
93
117
  console.log("=== Linking in house dependencies ===");
94
118
 
95
119
  execYarnLink({ "cwd": pathJoin(keycloakifyDirPath, "dist") });
96
120
 
97
- testAppNames.forEach(testAppName =>
121
+ testAppPaths.forEach(testAppPath =>
98
122
  execYarnLink({
99
- "cwd": getTestAppPath(testAppName),
123
+ "cwd": testAppPath,
100
124
  "targetModuleName": "keycloakify"
101
125
  })
102
126
  );
@@ -21,7 +21,7 @@ const LoginIdpLinkEmail = lazy(() => import("./LoginIdpLinkEmail"));
21
21
  const LoginConfigTotp = lazy(() => import("./LoginConfigTotp"));
22
22
  const LogoutConfirm = lazy(() => import("./LogoutConfirm"));
23
23
 
24
- const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...props }: { kcContext: KcContextBase; i18n?: I18n } & KcProps) => {
24
+ const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...kcProps }: { kcContext: KcContextBase; i18n?: I18n } & KcProps) => {
25
25
  const i18n = (function useClosure() {
26
26
  const i18n = useI18n({
27
27
  kcContext,
@@ -36,42 +36,44 @@ const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...props }: { kcContext
36
36
  return null;
37
37
  }
38
38
 
39
+ const props = { i18n, ...kcProps };
40
+
39
41
  return (
40
42
  <Suspense>
41
43
  {(() => {
42
44
  switch (kcContext.pageId) {
43
45
  case "login.ftl":
44
- return <Login {...{ kcContext, i18n, ...props }} />;
46
+ return <Login {...{ kcContext, ...props }} />;
45
47
  case "register.ftl":
46
- return <Register {...{ kcContext, i18n, ...props }} />;
48
+ return <Register {...{ kcContext, ...props }} />;
47
49
  case "register-user-profile.ftl":
48
- return <RegisterUserProfile {...{ kcContext, i18n, ...props }} />;
50
+ return <RegisterUserProfile {...{ kcContext, ...props }} />;
49
51
  case "info.ftl":
50
- return <Info {...{ kcContext, i18n, ...props }} />;
52
+ return <Info {...{ kcContext, ...props }} />;
51
53
  case "error.ftl":
52
- return <Error {...{ kcContext, i18n, ...props }} />;
54
+ return <Error {...{ kcContext, ...props }} />;
53
55
  case "login-reset-password.ftl":
54
- return <LoginResetPassword {...{ kcContext, i18n, ...props }} />;
56
+ return <LoginResetPassword {...{ kcContext, ...props }} />;
55
57
  case "login-verify-email.ftl":
56
- return <LoginVerifyEmail {...{ kcContext, i18n, ...props }} />;
58
+ return <LoginVerifyEmail {...{ kcContext, ...props }} />;
57
59
  case "terms.ftl":
58
- return <Terms {...{ kcContext, i18n, ...props }} />;
60
+ return <Terms {...{ kcContext, ...props }} />;
59
61
  case "login-otp.ftl":
60
- return <LoginOtp {...{ kcContext, i18n, ...props }} />;
62
+ return <LoginOtp {...{ kcContext, ...props }} />;
61
63
  case "login-update-password.ftl":
62
- return <LoginUpdatePassword {...{ kcContext, i18n, ...props }} />;
64
+ return <LoginUpdatePassword {...{ kcContext, ...props }} />;
63
65
  case "login-update-profile.ftl":
64
- return <LoginUpdateProfile {...{ kcContext, i18n, ...props }} />;
66
+ return <LoginUpdateProfile {...{ kcContext, ...props }} />;
65
67
  case "login-idp-link-confirm.ftl":
66
- return <LoginIdpLinkConfirm {...{ kcContext, i18n, ...props }} />;
68
+ return <LoginIdpLinkConfirm {...{ kcContext, ...props }} />;
67
69
  case "login-idp-link-email.ftl":
68
- return <LoginIdpLinkEmail {...{ kcContext, i18n, ...props }} />;
70
+ return <LoginIdpLinkEmail {...{ kcContext, ...props }} />;
69
71
  case "login-page-expired.ftl":
70
- return <LoginPageExpired {...{ kcContext, i18n, ...props }} />;
72
+ return <LoginPageExpired {...{ kcContext, ...props }} />;
71
73
  case "login-config-totp.ftl":
72
- return <LoginConfigTotp {...{ kcContext, i18n, ...props }} />;
74
+ return <LoginConfigTotp {...{ kcContext, ...props }} />;
73
75
  case "logout-confirm.ftl":
74
- return <LogoutConfirm {...{ kcContext, i18n, ...props }} />;
76
+ return <LogoutConfirm {...{ kcContext, ...props }} />;
75
77
  }
76
78
  })()}
77
79
  </Suspense>
@@ -2,7 +2,7 @@ import React, { useState, memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import { useConstCallback } from "powerhooks/useConstCallback";
7
7
  import type { FormEventHandler } from "react";
8
8
  import type { I18n } from "../i18n";
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const LoginConfigTotp = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginConfigTotp; i18n: I18n } & KcProps) => {
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const LoginIdpLinkConfirm = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginIdpLinkConfirm; i18n: I18n } & KcProps) => {
@@ -4,7 +4,7 @@ import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
5
  import { headInsert } from "../tools/headInsert";
6
6
  import { pathJoin } from "../../bin/tools/pathJoin";
7
- import { useCssAndCx } from "tss-react";
7
+ import { useCssAndCx } from "../tools/useCssAndCx";
8
8
  import type { I18n } from "../i18n";
9
9
 
10
10
  const LoginOtp = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginOtp; i18n: I18n } & KcProps) => {
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const LoginResetPassword = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginResetPassword; i18n: I18n } & KcProps) => {
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const LoginUpdatePassword = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginUpdatePassword; i18n: I18n } & KcProps) => {
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const LoginUpdateProfile = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.LoginUpdateProfile; i18n: I18n } & KcProps) => {
@@ -1,5 +1,5 @@
1
1
  import React, { memo } from "react";
2
- import { useCssAndCx } from "tss-react";
2
+ import { useCssAndCx } from "../tools/useCssAndCx";
3
3
  import Template from "./Template";
4
4
  import type { KcProps } from "./KcProps";
5
5
  import type { KcContextBase } from "../getKcContext/KcContextBase";
@@ -2,7 +2,7 @@ import React, { memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { I18n } from "../i18n";
7
7
 
8
8
  const Register = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.Register; i18n: I18n } & KcProps) => {
@@ -2,7 +2,7 @@ import React, { useMemo, memo, useEffect, useState, Fragment } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase, Attribute } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import type { ReactComponent } from "../tools/ReactComponent";
7
7
  import { useCallbackFactory } from "powerhooks/useCallbackFactory";
8
8
  import { useFormValidationSlice } from "../useFormValidationSlice";
@@ -7,7 +7,7 @@ import { headInsert } from "../tools/headInsert";
7
7
  import { pathJoin } from "../../bin/tools/pathJoin";
8
8
  import { useConstCallback } from "powerhooks/useConstCallback";
9
9
  import type { KcTemplateProps } from "./KcProps";
10
- import { useCssAndCx } from "tss-react";
10
+ import { useCssAndCx } from "../tools/useCssAndCx";
11
11
  import type { I18n } from "../i18n";
12
12
 
13
13
  export type TemplateProps = {
@@ -2,7 +2,7 @@ import React, { useEffect, memo } from "react";
2
2
  import Template from "./Template";
3
3
  import type { KcProps } from "./KcProps";
4
4
  import type { KcContextBase } from "../getKcContext/KcContextBase";
5
- import { useCssAndCx } from "tss-react";
5
+ import { useCssAndCx } from "../tools/useCssAndCx";
6
6
  import { Evt } from "evt";
7
7
  import { useRerenderOnStateChange } from "evt/hooks";
8
8
  import { assert } from "tsafe/assert";
@@ -60,6 +60,8 @@ export function getKcContext<KcContextExtended extends { pageId: string } = neve
60
60
  ].filter(exclude(undefined));
61
61
 
62
62
  attributes.forEach(attribute => {
63
+ console.log("====>", attribute);
64
+
63
65
  const partialAttribute = partialAttributes.find(({ name }) => name === attribute.name);
64
66
 
65
67
  const augmentedAttribute: Attribute = {} as any;
@@ -82,14 +84,16 @@ export function getKcContext<KcContextExtended extends { pageId: string } = neve
82
84
  id<KcContextBase.RegisterUserProfile>(kcContext).profile.attributesByName[augmentedAttribute.name] = augmentedAttribute;
83
85
  });
84
86
 
85
- partialAttributes.forEach(partialAttribute => {
86
- const { name } = partialAttribute;
87
+ partialAttributes
88
+ .map(partialAttribute => ({ "validators": {}, ...partialAttribute }))
89
+ .forEach(partialAttribute => {
90
+ const { name } = partialAttribute;
87
91
 
88
- assert(name !== undefined, "If you define a mock attribute it must have at least a name");
92
+ assert(name !== undefined, "If you define a mock attribute it must have at least a name");
89
93
 
90
- id<KcContextBase.RegisterUserProfile>(kcContext).profile.attributes.push(partialAttribute as any);
91
- id<KcContextBase.RegisterUserProfile>(kcContext).profile.attributesByName[name] = partialAttribute as any;
92
- });
94
+ id<KcContextBase.RegisterUserProfile>(kcContext).profile.attributes.push(partialAttribute as any);
95
+ id<KcContextBase.RegisterUserProfile>(kcContext).profile.attributesByName[name] = partialAttribute as any;
96
+ });
93
97
  }
94
98
  }
95
99
 
@@ -1,6 +1,6 @@
1
1
  import "minimal-polyfills/Object.fromEntries";
2
2
  //NOTE for later: https://github.com/remarkjs/react-markdown/blob/236182ecf30bd89c1e5a7652acaf8d0bf81e6170/src/renderers.js#L7-L35
3
- import React, { useEffect, useState } from "react";
3
+ import React, { useEffect, useState, useRef } from "react";
4
4
  import ReactMarkdown from "react-markdown";
5
5
  import type baseMessages from "./generated_messages/18.0.1/login/en";
6
6
  import { assert } from "tsafe/assert";
@@ -76,13 +76,17 @@ export function __unsafe_useI18n<ExtraMessageKey extends string = never>(params:
76
76
 
77
77
  const [i18n, setI18n] = useState<I18n<ExtraMessageKey | MessageKeyBase> | undefined>(undefined);
78
78
 
79
+ const refHasStartedFetching = useRef(false);
80
+
79
81
  useEffect(() => {
80
- if (doSkip) {
82
+ if (doSkip || refHasStartedFetching.current) {
81
83
  return;
82
84
  }
83
85
 
84
86
  let isMounted = true;
85
87
 
88
+ refHasStartedFetching.current = true;
89
+
86
90
  (async () => {
87
91
  const { currentLanguageTag = fallbackLanguageTag } = kcContext.locale ?? {};
88
92
 
@@ -0,0 +1,11 @@
1
+ import { createMakeStyles } from "tss-react";
2
+
3
+ const { useStyles } = createMakeStyles({
4
+ "useTheme": () => ({})
5
+ });
6
+
7
+ export function useCssAndCx() {
8
+ const { css, cx } = useStyles();
9
+
10
+ return { css, cx };
11
+ }
@@ -4,7 +4,7 @@
4
4
  "outDir": "../../dist/lib",
5
5
  "rootDir": ".",
6
6
  "module": "ES2020",
7
- "target": "ES2020",
7
+ "target": "ES2017",
8
8
  "lib": ["es2015", "DOM", "ES2019.Object"],
9
9
  "moduleResolution": "node",
10
10
  "jsx": "react",