UNPKG

@keycloakify/keycloak-account-ui

Version:

<p align="center"> <img src="https://github.com/user-attachments/assets/e31c4910-7205-441c-9a35-e134b806b3a8"> </p> <p align="center"> <i>Repackaged Keycloak Account UI</i> <br> <br> <a href="https://github.com/keycloakify/keycloak-a

99 lines 4.18 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import { jsx as _jsx } from "react/jsx-runtime"; import { Suspense, useMemo } from "react"; import { assert } from "tsafe/assert"; import { is } from "tsafe/is"; import { joinPath } from "./utils/joinPath"; import defaultContent from "./public/content"; import defaultLogoSvgUrl from "./public/logo.svg"; export function KcAccountUiLoader(props) { const { KcAccountUi, loadingFallback } = props, paramsOfInit = __rest(props, ["KcAccountUi", "loadingFallback"]); assert(is(KcAccountUi)); useMemo(() => init(paramsOfInit), []); return (_jsx(Suspense, { fallback: loadingFallback, children: (() => { const node = _jsx(KcAccountUi, {}); if (node === null) { return loadingFallback; } return node; })() })); } let previousRunParamsFingerprint = undefined; function init(params) { var _a, _b; exit_condition: { const paramsFingerprint = JSON.stringify(params); if (paramsFingerprint === undefined) { previousRunParamsFingerprint = paramsFingerprint; break exit_condition; } if (paramsFingerprint !== previousRunParamsFingerprint) { window.location.reload(); return; } return; } const { content = defaultContent, kcContext, logoUrl = defaultLogoSvgUrl, } = params; { const url = new URL(window.location.href); url.searchParams.delete("referrer"); url.searchParams.delete("referrer_uri"); window.history.replaceState({}, "", url.toString()); } const environment = { serverBaseUrl: kcContext.serverBaseUrl, authUrl: kcContext.authUrl, authServerUrl: kcContext.authServerUrl, realm: kcContext.realm.name, clientId: kcContext.clientId, resourceUrl: kcContext.resourceUrl, logo: "", logoUrl: logoUrl, baseUrl: `${kcContext.baseUrl.scheme}:${kcContext.baseUrl.rawSchemeSpecificPart}`, locale: kcContext.locale, referrerName: (_a = kcContext.referrerName) !== null && _a !== void 0 ? _a : "", referrerUrl: (_b = kcContext.referrer_uri) !== null && _b !== void 0 ? _b : "", features: { isRegistrationEmailAsUsername: kcContext.realm.registrationEmailAsUsername, isEditUserNameAllowed: kcContext.realm.editUsernameAllowed, isInternationalizationEnabled: kcContext.realm.isInternationalizationEnabled, isLinkedAccountsEnabled: kcContext.realm.identityFederationEnabled, isMyResourcesEnabled: kcContext.realm.userManagedAccessAllowed && kcContext.isAuthorizationEnabled, deleteAccountAllowed: kcContext.deleteAccountAllowed, updateEmailFeatureEnabled: kcContext.updateEmailFeatureEnabled, updateEmailActionEnabled: kcContext.updateEmailActionEnabled, isViewGroupsEnabled: kcContext.isViewGroupsEnabled, isOid4VciEnabled: kcContext.isOid4VciEnabled, }, }; { assert(); const script = document.createElement("script"); script.id = "environment"; script.type = "application/json"; script.textContent = JSON.stringify(environment, null, 1); document.body.appendChild(script); } const realFetch = window.fetch; window.fetch = async function fetch(...args) { const [url] = args; if (url === joinPath(environment.resourceUrl, "/content.json")) { return { json: () => Promise.resolve(content), }; } return realFetch(...args); }; } //# sourceMappingURL=KcAccountUiLoader.js.map