keycloakify 11.3.7 → 11.3.8

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.
package/bin/526.index.js CHANGED
@@ -442,10 +442,10 @@ async function command(params) {
442
442
  ...(realmJsonFilePath === undefined
443
443
  ? []
444
444
  : [
445
- `-v${SPACE_PLACEHOLDER}".${external_path_.sep}${(0,external_path_.relative)(process.cwd(), realmJsonFilePath)}":/opt/keycloak/data/import/myrealm-realm.json`
445
+ `-v${SPACE_PLACEHOLDER}"${realmJsonFilePath}":/opt/keycloak/data/import/myrealm-realm.json`
446
446
  ]),
447
- `-v${SPACE_PLACEHOLDER}".${external_path_.sep}${(0,external_path_.relative)(process.cwd(), jarFilePath_cacheDir)}":/opt/keycloak/providers/keycloak-theme.jar`,
448
- ...extensionJarFilePaths.map(jarFilePath => `-v${SPACE_PLACEHOLDER}".${external_path_.sep}${(0,external_path_.relative)(process.cwd(), jarFilePath)}":/opt/keycloak/providers/${(0,external_path_.basename)(jarFilePath)}`),
447
+ `-v${SPACE_PLACEHOLDER}"${jarFilePath_cacheDir}":/opt/keycloak/providers/keycloak-theme.jar`,
448
+ ...extensionJarFilePaths.map(jarFilePath => `-v${SPACE_PLACEHOLDER}"${jarFilePath}":/opt/keycloak/providers/${(0,external_path_.basename)(jarFilePath)}`),
449
449
  ...(keycloakMajorVersionNumber <= 20
450
450
  ? [`-e${SPACE_PLACEHOLDER}JAVA_OPTS=-Dkeycloak.profile=preview`]
451
451
  : []),
@@ -459,7 +459,7 @@ async function command(params) {
459
459
  localDirPath: (0,external_path_.join)(buildContext.keycloakifyBuildDirPath, "theme", themeName),
460
460
  containerDirPath: `/opt/keycloak/themes/${themeName}`
461
461
  }))
462
- .map(({ localDirPath, containerDirPath }) => `-v${SPACE_PLACEHOLDER}".${external_path_.sep}${(0,external_path_.relative)(process.cwd(), localDirPath)}":${containerDirPath}:rw`),
462
+ .map(({ localDirPath, containerDirPath }) => `-v${SPACE_PLACEHOLDER}"${localDirPath}":${containerDirPath}:rw`),
463
463
  ...buildContext.environmentVariables
464
464
  .map(({ name }) => ({ name, envValue: process.env[name] }))
465
465
  .map(({ name, envValue }) => envValue === undefined ? undefined : { name, envValue })
@@ -1,6 +1,7 @@
1
1
  import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
3
  import { assert } from "../../tools/assert";
4
+ import { waitForElementMountedOnDom } from "../../tools/waitForElementMountedOnDom";
4
5
  assert();
5
6
  assert();
6
7
  export function useScript(params) {
@@ -43,7 +44,12 @@ export function useScript(params) {
43
44
  if (isFetchingTranslations) {
44
45
  return;
45
46
  }
46
- insertScriptTags();
47
+ (async () => {
48
+ await waitForElementMountedOnDom({
49
+ elementId: authButtonId
50
+ });
51
+ insertScriptTags();
52
+ })();
47
53
  }, [isFetchingTranslations]);
48
54
  }
49
55
  //# sourceMappingURL=LoginPasskeysConditionalAuthenticate.useScript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPasskeysConditionalAuthenticate.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAclD,MAAM,EAAmG,CAAC;AAC1G,MAAM,EAAuF,CAAC;AAO9F,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;8DAC2B,GAAG,CAAC,aAAa;wDACvB,GAAG,CAAC,aAAa;;kEAEP,YAAY;;6CAEjC,gBAAgB;sCACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;6CAClB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;iCAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;0CACX,aAAa;;;;;uCAKhB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;mCAM/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;;iBAE5E;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"LoginPasskeysConditionalAuthenticate.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAa1F,MAAM,EAAmG,CAAC;AAC1G,MAAM,EAAuF,CAAC;AAO9F,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;8DAC2B,GAAG,CAAC,aAAa;wDACvB,GAAG,CAAC,aAAa;;kEAEP,YAAY;;6CAEjC,gBAAgB;sCACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;6CAClB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;iCAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;0CACX,aAAa;;;;;uCAKhB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;mCAM/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;;iBAE5E;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,gBAAgB,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
+ import { waitForElementMountedOnDom } from "../../tools/waitForElementMountedOnDom";
3
4
  export function useScript(params) {
4
5
  const { olRecoveryCodesListId, i18n } = params;
5
6
  const { msgStr, isFetchingTranslations } = i18n;
@@ -127,7 +128,12 @@ export function useScript(params) {
127
128
  if (isFetchingTranslations) {
128
129
  return;
129
130
  }
130
- insertScriptTags();
131
+ (async () => {
132
+ await waitForElementMountedOnDom({
133
+ elementId: olRecoveryCodesListId
134
+ });
135
+ insertScriptTags();
136
+ })();
131
137
  }, [isFetchingTranslations]);
132
138
  }
133
139
  //# sourceMappingURL=LoginRecoveryAuthnCodeConfig.useScript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginRecoveryAuthnCodeConfig.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAO5E,MAAM,UAAU,SAAS,CAAC,MAAyD;IAC/E,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAE/C,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,GAAG,EAAE,CAAC;;;;;kEAK+B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA+Bb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;8BAwBjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;8BAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;8BAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;8EAsBX,qBAAqB;;;;;;;;;;sCAU7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;sCAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;sCAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;iBAahF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"LoginRecoveryAuthnCodeConfig.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAO1F,MAAM,UAAU,SAAS,CAAC,MAAyD;IAC/E,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAE/C,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,GAAG,EAAE,CAAC;;;;;kEAK+B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA+Bb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;8BAwBjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;8BAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;8BAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;8EAsBX,qBAAqB;;;;;;;;;;sCAU7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;sCAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;sCAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;iBAahF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,qBAAqB;aACnC,CAAC,CAAC;YAEH,gBAAgB,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
3
  import { assert } from "../../tools/assert";
4
+ import { waitForElementMountedOnDom } from "../../tools/waitForElementMountedOnDom";
4
5
  assert();
5
6
  assert();
6
7
  export function useScript(params) {
@@ -35,7 +36,12 @@ export function useScript(params) {
35
36
  if (isFetchingTranslations) {
36
37
  return;
37
38
  }
38
- insertScriptTags();
39
+ (async () => {
40
+ await waitForElementMountedOnDom({
41
+ elementId: authButtonId
42
+ });
43
+ insertScriptTags();
44
+ })();
39
45
  }, [isFetchingTranslations]);
40
46
  }
41
47
  //# sourceMappingURL=WebauthnAuthenticate.useScript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebauthnAuthenticate.useScript.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnAuthenticate.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAclD,MAAM,EAAmF,CAAC;AAC1F,MAAM,EAAuE,CAAC;AAO9E,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,sBAAsB;QAC3C,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;;8DAE2B,GAAG,CAAC,aAAa;kEACb,YAAY;;;iDAG7B,gBAAgB;2CACtB,SAAS;kDACF,gBAAgB;sCAC5B,IAAI;8CACI,aAAa;uCACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;iBAIjF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"WebauthnAuthenticate.useScript.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnAuthenticate.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAa1F,MAAM,EAAmF,CAAC;AAC1F,MAAM,EAAuE,CAAC;AAO9E,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,sBAAsB;QAC3C,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;;8DAE2B,GAAG,CAAC,aAAa;kEACb,YAAY;;;iDAG7B,gBAAgB;2CACtB,SAAS;kDACF,gBAAgB;sCAC5B,IAAI;8CACI,aAAa;uCACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;iBAIjF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,gBAAgB,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
3
  import { assert } from "../../tools/assert";
4
+ import { waitForElementMountedOnDom } from "../../tools/waitForElementMountedOnDom";
4
5
  assert();
5
6
  assert();
6
7
  export function useScript(params) {
@@ -43,7 +44,12 @@ export function useScript(params) {
43
44
  if (isFetchingTranslations) {
44
45
  return;
45
46
  }
46
- insertScriptTags();
47
+ (async () => {
48
+ await waitForElementMountedOnDom({
49
+ elementId: authButtonId
50
+ });
51
+ insertScriptTags();
52
+ })();
47
53
  }, [isFetchingTranslations]);
48
54
  }
49
55
  //# sourceMappingURL=WebauthnRegister.useScript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebauthnRegister.useScript.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnRegister.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAqBlD,MAAM,EAA+E,CAAC;AACtF,MAAM,EAAmE,CAAC;AAO1E,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EACF,GAAG,EACH,SAAS,EACT,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACJ,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACvB,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;0DACuB,GAAG,CAAC,aAAa;sEACL,YAAY;;;2CAGvC,SAAS;wCACZ,MAAM;0CACJ,QAAQ;oDACE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;6CAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;qCACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gEACO,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC;wDACvD,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;mDAC5C,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;4DACzB,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;8CACzD,aAAa;qDACN,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;0CAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;gDACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;uCAC1E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;iBAIjF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"WebauthnRegister.useScript.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnRegister.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAoB1F,MAAM,EAA+E,CAAC;AACtF,MAAM,EAAmE,CAAC;AAO1E,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EACF,GAAG,EACH,SAAS,EACT,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACJ,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACvB,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;0DACuB,GAAG,CAAC,aAAa;sEACL,YAAY;;;2CAGvC,SAAS;wCACZ,MAAM;0CACJ,QAAQ;oDACE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;6CAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;qCACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gEACO,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC;wDACvD,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;mDAC5C,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;4DACzB,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;8CACzD,aAAa;qDACN,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;0CAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;gDACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;uCAC1E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;iBAIjF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,gBAAgB,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "11.3.7",
3
+ "version": "11.3.8",
4
4
  "description": "Framework to create custom Keycloak UIs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -850,6 +850,7 @@
850
850
  "src/tools/useOnFirstMount.ts",
851
851
  "src/tools/useSetClassName.ts",
852
852
  "src/tools/vendor/dompurify.ts",
853
+ "src/tools/waitForElementMountedOnDom.ts",
853
854
  "src/tsconfig.json",
854
855
  "src/vite-plugin/index.ts",
855
856
  "src/vite-plugin/tsconfig.json",
@@ -977,6 +978,9 @@
977
978
  "tools/useSetClassName.js.map",
978
979
  "tools/vendor/dompurify.d.ts",
979
980
  "tools/vendor/dompurify.js",
981
+ "tools/waitForElementMountedOnDom.d.ts",
982
+ "tools/waitForElementMountedOnDom.js",
983
+ "tools/waitForElementMountedOnDom.js.map",
980
984
  "bin/add-story.d.ts",
981
985
  "bin/copy-keycloak-resources-to-public.d.ts",
982
986
  "bin/eject-page.d.ts",
@@ -396,12 +396,12 @@ export async function command(params: {
396
396
  ...(realmJsonFilePath === undefined
397
397
  ? []
398
398
  : [
399
- `-v${SPACE_PLACEHOLDER}".${pathSep}${pathRelative(process.cwd(), realmJsonFilePath)}":/opt/keycloak/data/import/myrealm-realm.json`
399
+ `-v${SPACE_PLACEHOLDER}"${realmJsonFilePath}":/opt/keycloak/data/import/myrealm-realm.json`
400
400
  ]),
401
- `-v${SPACE_PLACEHOLDER}".${pathSep}${pathRelative(process.cwd(), jarFilePath_cacheDir)}":/opt/keycloak/providers/keycloak-theme.jar`,
401
+ `-v${SPACE_PLACEHOLDER}"${jarFilePath_cacheDir}":/opt/keycloak/providers/keycloak-theme.jar`,
402
402
  ...extensionJarFilePaths.map(
403
403
  jarFilePath =>
404
- `-v${SPACE_PLACEHOLDER}".${pathSep}${pathRelative(process.cwd(), jarFilePath)}":/opt/keycloak/providers/${pathBasename(jarFilePath)}`
404
+ `-v${SPACE_PLACEHOLDER}"${jarFilePath}":/opt/keycloak/providers/${pathBasename(jarFilePath)}`
405
405
  ),
406
406
  ...(keycloakMajorVersionNumber <= 20
407
407
  ? [`-e${SPACE_PLACEHOLDER}JAVA_OPTS=-Dkeycloak.profile=preview`]
@@ -424,7 +424,7 @@ export async function command(params: {
424
424
  }))
425
425
  .map(
426
426
  ({ localDirPath, containerDirPath }) =>
427
- `-v${SPACE_PLACEHOLDER}".${pathSep}${pathRelative(process.cwd(), localDirPath)}":${containerDirPath}:rw`
427
+ `-v${SPACE_PLACEHOLDER}"${localDirPath}":${containerDirPath}:rw`
428
428
  ),
429
429
  ...buildContext.environmentVariables
430
430
  .map(({ name }) => ({ name, envValue: process.env[name] }))
@@ -2,6 +2,7 @@ import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
3
3
  import { assert } from "keycloakify/tools/assert";
4
4
  import { KcContext } from "keycloakify/login/KcContext/KcContext";
5
+ import { waitForElementMountedOnDom } from "keycloakify/tools/waitForElementMountedOnDom";
5
6
 
6
7
  type KcContextLike = {
7
8
  url: {
@@ -67,6 +68,12 @@ export function useScript(params: { authButtonId: string; kcContext: KcContextLi
67
68
  return;
68
69
  }
69
70
 
70
- insertScriptTags();
71
+ (async () => {
72
+ await waitForElementMountedOnDom({
73
+ elementId: authButtonId
74
+ });
75
+
76
+ insertScriptTags();
77
+ })();
71
78
  }, [isFetchingTranslations]);
72
79
  }
@@ -1,5 +1,6 @@
1
1
  import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
3
+ import { waitForElementMountedOnDom } from "keycloakify/tools/waitForElementMountedOnDom";
3
4
 
4
5
  type I18nLike = {
5
6
  msgStr: (key: "recovery-codes-download-file-header" | "recovery-codes-download-file-description" | "recovery-codes-download-file-date") => string;
@@ -137,6 +138,12 @@ export function useScript(params: { olRecoveryCodesListId: string; i18n: I18nLik
137
138
  return;
138
139
  }
139
140
 
140
- insertScriptTags();
141
+ (async () => {
142
+ await waitForElementMountedOnDom({
143
+ elementId: olRecoveryCodesListId
144
+ });
145
+
146
+ insertScriptTags();
147
+ })();
141
148
  }, [isFetchingTranslations]);
142
149
  }
@@ -2,6 +2,7 @@ import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
3
3
  import { assert } from "keycloakify/tools/assert";
4
4
  import { KcContext } from "keycloakify/login/KcContext/KcContext";
5
+ import { waitForElementMountedOnDom } from "keycloakify/tools/waitForElementMountedOnDom";
5
6
 
6
7
  type KcContextLike = {
7
8
  url: {
@@ -59,6 +60,12 @@ export function useScript(params: { authButtonId: string; kcContext: KcContextLi
59
60
  return;
60
61
  }
61
62
 
62
- insertScriptTags();
63
+ (async () => {
64
+ await waitForElementMountedOnDom({
65
+ elementId: authButtonId
66
+ });
67
+
68
+ insertScriptTags();
69
+ })();
63
70
  }, [isFetchingTranslations]);
64
71
  }
@@ -2,6 +2,7 @@ import { useEffect } from "react";
2
2
  import { useInsertScriptTags } from "keycloakify/tools/useInsertScriptTags";
3
3
  import { assert } from "keycloakify/tools/assert";
4
4
  import { KcContext } from "keycloakify/login/KcContext/KcContext";
5
+ import { waitForElementMountedOnDom } from "keycloakify/tools/waitForElementMountedOnDom";
5
6
 
6
7
  type KcContextLike = {
7
8
  url: {
@@ -88,6 +89,12 @@ export function useScript(params: { authButtonId: string; kcContext: KcContextLi
88
89
  return;
89
90
  }
90
91
 
91
- insertScriptTags();
92
+ (async () => {
93
+ await waitForElementMountedOnDom({
94
+ elementId: authButtonId
95
+ });
96
+
97
+ insertScriptTags();
98
+ })();
92
99
  }, [isFetchingTranslations]);
93
100
  }
@@ -0,0 +1,30 @@
1
+ export async function waitForElementMountedOnDom(params: {
2
+ elementId: string;
3
+ }): Promise<void> {
4
+ const { elementId } = params;
5
+
6
+ const getElement = () => document.getElementById(elementId);
7
+
8
+ const element = getElement();
9
+
10
+ if (element === null) {
11
+ let prElementPresentInTheDom_resolve: () => void;
12
+ const prElementPresentInTheDom = new Promise<void>(
13
+ resolve => (prElementPresentInTheDom_resolve = resolve)
14
+ );
15
+
16
+ // Observe the dom for the element to be added
17
+ const observer = new MutationObserver(() => {
18
+ const element = getElement();
19
+ if (element === null) {
20
+ return;
21
+ }
22
+ observer.disconnect();
23
+ prElementPresentInTheDom_resolve();
24
+ });
25
+
26
+ observer.observe(document.body, { childList: true, subtree: true });
27
+
28
+ await prElementPresentInTheDom;
29
+ }
30
+ }
@@ -0,0 +1,3 @@
1
+ export declare function waitForElementMountedOnDom(params: {
2
+ elementId: string;
3
+ }): Promise<void>;
@@ -0,0 +1,21 @@
1
+ export async function waitForElementMountedOnDom(params) {
2
+ const { elementId } = params;
3
+ const getElement = () => document.getElementById(elementId);
4
+ const element = getElement();
5
+ if (element === null) {
6
+ let prElementPresentInTheDom_resolve;
7
+ const prElementPresentInTheDom = new Promise(resolve => (prElementPresentInTheDom_resolve = resolve));
8
+ // Observe the dom for the element to be added
9
+ const observer = new MutationObserver(() => {
10
+ const element = getElement();
11
+ if (element === null) {
12
+ return;
13
+ }
14
+ observer.disconnect();
15
+ prElementPresentInTheDom_resolve();
16
+ });
17
+ observer.observe(document.body, { childList: true, subtree: true });
18
+ await prElementPresentInTheDom;
19
+ }
20
+ }
21
+ //# sourceMappingURL=waitForElementMountedOnDom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForElementMountedOnDom.js","sourceRoot":"","sources":["../src/tools/waitForElementMountedOnDom.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAEhD;IACG,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,OAAO,KAAK,IAAI,EAAE;QAClB,IAAI,gCAA4C,CAAC;QACjD,MAAM,wBAAwB,GAAG,IAAI,OAAO,CACxC,OAAO,CAAC,EAAE,CAAC,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAC1D,CAAC;QAEF,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,IAAI,EAAE;gBAClB,OAAO;aACV;YACD,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,gCAAgC,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,MAAM,wBAAwB,CAAC;KAClC;AACL,CAAC"}