@keycloakify/keycloak-account-ui 25.0.1-rc.5 → 25.0.1-rc.7

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/KcAccountUi.js CHANGED
@@ -10,16 +10,7 @@ const prI18nInitialized = i18n.init();
10
10
  export default function KeycloakAccountUi() {
11
11
  const [isI18nInitialized, setI18nInitialized] = useReducer(() => true, false);
12
12
  useEffect(() => {
13
- let isActive = true;
14
- prI18nInitialized.then(() => {
15
- if (!isActive) {
16
- return;
17
- }
18
- setI18nInitialized();
19
- });
20
- return () => {
21
- isActive = false;
22
- };
13
+ prI18nInitialized.then(() => setI18nInitialized());
23
14
  }, []);
24
15
  if (!isI18nInitialized) {
25
16
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"KcAccountUi.js","sourceRoot":"","sources":["src/KcAccountUi.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,6CAA6C,CAAC;AACrD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,kBAAkB,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"KcAccountUi.js","sourceRoot":"","sources":["src/KcAccountUi.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,6CAA6C,CAAC;AACrD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;AAC5C,CAAC"}
@@ -15,7 +15,7 @@ import { assert } from "tsafe/assert";
15
15
  import { is } from "tsafe/is";
16
16
  import { joinPath } from "./utils/joinPath";
17
17
  import defaultContent from "./public/content";
18
- import defaultLogoSvgUrl from "@keycloakify/keycloak-account-ui/public/logo.svg";
18
+ import defaultLogoSvgUrl from "./public/logo.svg";
19
19
  export function KeycloakifyAccountUiProvider(props) {
20
20
  const { KcAccountUi, loadingFallback } = props, paramsOfInit = __rest(props, ["KcAccountUi", "loadingFallback"]);
21
21
  assert(is(KcAccountUi));
@@ -89,7 +89,6 @@ function init(params) {
89
89
  window.fetch = async function fetch(...args) {
90
90
  const [url] = args;
91
91
  if (url === joinPath(environment.resourceUrl, "/content.json")) {
92
- window.fetch = realFetch;
93
92
  return {
94
93
  json: () => Promise.resolve(content),
95
94
  };
@@ -97,4 +96,4 @@ function init(params) {
97
96
  return realFetch(...args);
98
97
  };
99
98
  }
100
- //# sourceMappingURL=KeycloakifyAccountUiProvider.js.map
99
+ //# sourceMappingURL=KcAccountUiLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KcAccountUiLoader.js","sourceRoot":"","sources":["src/KcAccountUiLoader.tsx"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <a href="https://github.com/keycloakify/keycloak-account-ui/actions">
9
9
  <img src="https://github.com/keycloakify/keycloak-account-ui/actions/workflows/ci.yaml/badge.svg?branch=main">
10
10
  </a>
11
- <a href="https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.1-rc.5">
11
+ <a href="https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.1-rc.7">
12
12
  <img src="https://img.shields.io/npm/dm/@keycloakify/keycloak-account-ui">
13
13
  </a>
14
14
  <p align="center">
@@ -26,16 +26,16 @@ All credits goes to the keycloak team for the original work. Mainly [@jonkoops
26
26
  This re-packaged distribution exists to make it possible to take ownership of
27
27
  some specific part of the Account UI to create your own custom version of it.
28
28
  In straight forward therms it make the Account UI ejectable, you can copy
29
- past [the source files](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.5/src/) that you want to modify into your codebase.
29
+ past [the source files](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.7/src/) that you want to modify into your codebase.
30
30
 
31
31
  For more details on integrating this package into your project, refer to the [Keycloakify documentation](https://keycloakify.dev).
32
32
 
33
33
  > **Note:** This package's GitHub repository does not contain any code as it is automatically generated at build time by [scripts/prepare.ts](/scripts/prepare.ts).
34
- > You can browse the sources includes int the NPM package [here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.5/src/).
34
+ > You can browse the sources includes int the NPM package [here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.7/src/).
35
35
 
36
36
  ## Installation
37
37
 
38
- > You are currently viewing the README of [`@keycloakify/keycloak-account-ui@25.0.1-rc.5`](https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.1-rc.5) that
38
+ > You are currently viewing the README of [`@keycloakify/keycloak-account-ui@25.0.1-rc.7`](https://www.npmjs.com/package/@keycloakify/keycloak-account-ui/v/25.0.1-rc.7) that
39
39
  > mirrors [`@keycloak/keycloak-account-ui@25.0.1`](https://www.npmjs.com/package/@keycloak/keycloak-account-ui/v/25.0.1).
40
40
  > It is the version of the Account UI that ships with [**Keycloak 25.0.1**](https://github.com/keycloak/keycloak/tree/25.0.1/js/apps/account-ui).
41
41
 
@@ -47,7 +47,7 @@ It's important to respect the exact version range listed here to avoid any compa
47
47
  ```json
48
48
  {
49
49
  "dependencies": {
50
- "@keycloakify/keycloak-account-ui": "25.0.1-rc.5",
50
+ "@keycloakify/keycloak-account-ui": "25.0.1-rc.7",
51
51
  "@patternfly/patternfly": "^5.3.1",
52
52
  "@patternfly/react-core": "^5.3.3",
53
53
  "@patternfly/react-icons": "^5.3.2",
@@ -71,4 +71,4 @@ It's important to respect the exact version range listed here to avoid any compa
71
71
  ## Ejecting
72
72
 
73
73
  You can take partial ownership of some parts of the Account UI by copy pasting the sources files you want to modify into your codebase.
74
- You can browse the sources files **[here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.5/src/)**.
74
+ You can browse the sources files **[here](https://unpkg.com/browse/@keycloakify/keycloak-account-ui@25.0.1-rc.7/src/)**.
package/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./KeycloakifyAccountUiProvider";
1
+ export * from "./KcAccountUiLoader";
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./KeycloakifyAccountUiProvider";
1
+ export * from "./KcAccountUiLoader";
2
2
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keycloakify/keycloak-account-ui",
3
- "version": "25.0.1-rc.5",
3
+ "version": "25.0.1-rc.7",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  "license": "Apache-2.0",
23
23
  "files": [
24
24
  "src/KcAccountUi.tsx",
25
- "src/KeycloakifyAccountUiProvider.tsx",
25
+ "src/KcAccountUiLoader.tsx",
26
26
  "src/account-security/AccountRow.tsx",
27
27
  "src/account-security/DeviceActivity.tsx",
28
28
  "src/account-security/LinkedAccounts.tsx",
@@ -118,9 +118,9 @@
118
118
  "KcAccountUi.d.ts",
119
119
  "KcAccountUi.js",
120
120
  "KcAccountUi.js.map",
121
- "KeycloakifyAccountUiProvider.d.ts",
122
- "KeycloakifyAccountUiProvider.js",
123
- "KeycloakifyAccountUiProvider.js.map",
121
+ "KcAccountUiLoader.d.ts",
122
+ "KcAccountUiLoader.js",
123
+ "KcAccountUiLoader.js.map",
124
124
  "account-security/AccountRow.d.ts",
125
125
  "account-security/AccountRow.js",
126
126
  "account-security/AccountRow.js.map",
@@ -318,6 +318,8 @@
318
318
  "ui-shared/scroll-form/ScrollPanel.d.ts",
319
319
  "ui-shared/scroll-form/ScrollPanel.js",
320
320
  "ui-shared/scroll-form/ScrollPanel.js.map",
321
+ "ui-shared/scroll-form/form-title.module.css",
322
+ "ui-shared/scroll-form/scroll-form.module.css",
321
323
  "ui-shared/select/KeycloakSelect.d.ts",
322
324
  "ui-shared/select/KeycloakSelect.js",
323
325
  "ui-shared/select/KeycloakSelect.js.map",
@@ -433,6 +435,9 @@
433
435
  "@patternfly/react-styles": "^5.3.1",
434
436
  "@keycloak/keycloak-admin-client": "25.0.1"
435
437
  },
438
+ "dependencies": {
439
+ "tsafe": "^1.7.2"
440
+ },
436
441
  "publishConfig": {
437
442
  "access": "public"
438
443
  },
@@ -14,18 +14,7 @@ export default function KeycloakAccountUi() {
14
14
  const [isI18nInitialized, setI18nInitialized] = useReducer(() => true, false);
15
15
 
16
16
  useEffect(() => {
17
- let isActive = true;
18
-
19
- prI18nInitialized.then(() => {
20
- if (!isActive) {
21
- return;
22
- }
23
- setI18nInitialized();
24
- });
25
-
26
- return () => {
27
- isActive = false;
28
- };
17
+ prI18nInitialized.then(() => setI18nInitialized());
29
18
  }, []);
30
19
 
31
20
  if (!isI18nInitialized) {
@@ -1,11 +1,11 @@
1
1
  import { Suspense, useMemo, type LazyExoticComponent } from "react";
2
2
  import { assert } from "tsafe/assert";
3
3
  import { is } from "tsafe/is";
4
- import type { Environment } from "@keycloakify/keycloak-account-ui/environment";
5
- import type { MenuItem } from "@keycloakify/keycloak-account-ui/root/PageNav";
6
- import { joinPath } from "@keycloakify/keycloak-account-ui/utils/joinPath";
7
- import defaultContent from "@keycloakify/keycloak-account-ui/public/content";
8
- import defaultLogoSvgUrl from "@keycloakify/keycloak-account-ui/public/logo.svg";
4
+ import type { Environment } from "./environment";
5
+ import type { MenuItem } from "./root/PageNav";
6
+ import { joinPath } from "./utils/joinPath";
7
+ import defaultContent from "./public/content";
8
+ import defaultLogoSvgUrl from "./public/logo.svg";
9
9
 
10
10
  export type KcContextLike = {
11
11
  serverBaseUrl: string;
@@ -159,7 +159,6 @@ function init(
159
159
  const [url] = args;
160
160
 
161
161
  if (url === joinPath(environment.resourceUrl, "/content.json")) {
162
- window.fetch = realFetch;
163
162
  return {
164
163
  json: () => Promise.resolve(content),
165
164
  } as Response;
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export * from "./KeycloakifyAccountUiProvider";
1
+ export * from "./KcAccountUiLoader";
@@ -0,0 +1,4 @@
1
+
2
+ .title {
3
+ margin-bottom: var(--pf-v5-global--spacer--lg);
4
+ }
@@ -0,0 +1,8 @@
1
+ .panel {
2
+ margin-top: var(--pf-v5-global--spacer--lg);
3
+ }
4
+
5
+ .sticky {
6
+ position: sticky;
7
+ top: 0;
8
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeycloakifyAccountUiProvider.js","sourceRoot":"","sources":["src/KeycloakifyAccountUiProvider.tsx"],"names":[],"mappings":"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"}