keycloakify 9.6.4 → 9.6.5
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/lib/BASE_URL.js +1 -1
- package/lib/BASE_URL.js.map +1 -1
- package/lib/usePrepareTemplate.d.ts +2 -0
- package/lib/usePrepareTemplate.js +16 -1
- package/lib/usePrepareTemplate.js.map +1 -1
- package/login/Template.js +3 -2
- package/login/Template.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/BASE_URL.ts +1 -1
- package/src/lib/usePrepareTemplate.ts +22 -1
- package/src/login/Template.tsx +3 -3
package/lib/BASE_URL.js
CHANGED
package/lib/BASE_URL.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BASE_URL.js","sourceRoot":"","sources":["../src/lib/BASE_URL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;IAC1B,IAAI,EAAE;QACF,IAAI,QAAgB,CAAC;QAErB,IAAI;YACA,mBAAmB;YACnB,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAEpC,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;SACxC;QAAC,WAAM;YACJ,MAAM,IAAI,CAAC;SACd;QAED,OAAO,QAAQ,CAAC;KACnB;IAED,OAAO,EAAE;QACL,IAAI,QAAgB,CAAC;QAErB,IAAI;YACA,mBAAmB;YACnB,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAElC,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;SACxC;QAAC,WAAM;YACJ,MAAM,OAAO,CAAC;SACjB;QAED,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;KACjD;IAED,
|
1
|
+
{"version":3,"file":"BASE_URL.js","sourceRoot":"","sources":["../src/lib/BASE_URL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;IAC1B,IAAI,EAAE;QACF,IAAI,QAAgB,CAAC;QAErB,IAAI;YACA,mBAAmB;YACnB,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAEpC,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;SACxC;QAAC,WAAM;YACJ,MAAM,IAAI,CAAC;SACd;QAED,OAAO,QAAQ,CAAC;KACnB;IAED,OAAO,EAAE;QACL,IAAI,QAAgB,CAAC;QAErB,IAAI;YACA,mBAAmB;YACnB,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAElC,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;SACxC;QAAC,WAAM;YACJ,MAAM,OAAO,CAAC;SACjB;QAED,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;KACjD;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC,EAAE,CAAC"}
|
@@ -1,9 +1,24 @@
|
|
1
1
|
import { useReducer, useEffect } from "react";
|
2
2
|
import { headInsert } from "../tools/headInsert";
|
3
3
|
import { clsx } from "../tools/clsx";
|
4
|
+
import { assert } from "tsafe/assert";
|
4
5
|
export function usePrepareTemplate(params) {
|
5
|
-
const { doFetchDefaultThemeResources, styles = [], scripts = [], htmlClassName, bodyClassName } = params;
|
6
|
+
const { doFetchDefaultThemeResources, styles = [], scripts = [], htmlClassName, bodyClassName, htmlLangProperty, documentTitle } = params;
|
6
7
|
const [isReady, setReady] = useReducer(() => true, !doFetchDefaultThemeResources);
|
8
|
+
useEffect(() => {
|
9
|
+
if (htmlLangProperty === undefined) {
|
10
|
+
return;
|
11
|
+
}
|
12
|
+
const html = document.querySelector("html");
|
13
|
+
assert(html !== null);
|
14
|
+
html.lang = htmlLangProperty;
|
15
|
+
}, [htmlLangProperty]);
|
16
|
+
useEffect(() => {
|
17
|
+
if (documentTitle === undefined) {
|
18
|
+
return;
|
19
|
+
}
|
20
|
+
document.title = documentTitle;
|
21
|
+
}, [documentTitle]);
|
7
22
|
useEffect(() => {
|
8
23
|
if (!doFetchDefaultThemeResources) {
|
9
24
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"usePrepareTemplate.js","sourceRoot":"","sources":["../src/lib/usePrepareTemplate.ts"],"names":[],"mappings":"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"}
|
package/login/Template.js
CHANGED
@@ -17,12 +17,13 @@ export default function Template(props) {
|
|
17
17
|
`${url.resourcesPath}/css/login.css`
|
18
18
|
],
|
19
19
|
"htmlClassName": getClassName("kcHtmlClass"),
|
20
|
-
"bodyClassName": getClassName("kcBodyClass")
|
20
|
+
"bodyClassName": getClassName("kcBodyClass"),
|
21
|
+
"htmlLangProperty": locale === null || locale === void 0 ? void 0 : locale.currentLanguageTag,
|
22
|
+
"documentTitle": i18n.msgStr("loginTitle", kcContext.realm.displayName)
|
21
23
|
});
|
22
24
|
if (!isReady) {
|
23
25
|
return null;
|
24
26
|
}
|
25
|
-
document.title = i18n.msgStr("loginTitle", kcContext.realm.displayName);
|
26
27
|
return (_jsxs("div", Object.assign({ className: getClassName("kcLoginClass") }, { children: [_jsx("div", Object.assign({ id: "kc-header", className: getClassName("kcHeaderClass") }, { children: _jsx("div", Object.assign({ id: "kc-header-wrapper", className: getClassName("kcHeaderWrapperClass") }, { children: msg("loginTitleHtml", realm.displayNameHtml) })) })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormCardClass"), displayWide && getClassName("kcFormCardAccountClass")) }, { children: [_jsxs("header", Object.assign({ className: getClassName("kcFormHeaderClass") }, { children: [realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && (_jsx("div", Object.assign({ id: "kc-locale" }, { children: _jsx("div", Object.assign({ id: "kc-locale-wrapper", className: getClassName("kcLocaleWrapperClass") }, { children: _jsxs("div", Object.assign({ className: "kc-dropdown", id: "kc-locale-dropdown" }, { children: [_jsx("a", Object.assign({ href: "#", id: "kc-current-locale-link" }, { children: labelBySupportedLanguageTag[currentLanguageTag] })), _jsx("ul", { children: locale.supported.map(({ languageTag }) => (_jsx("li", Object.assign({ className: "kc-dropdown-item" }, { children: _jsx("a", Object.assign({ href: "#", onClick: () => changeLocale(languageTag) }, { children: labelBySupportedLanguageTag[languageTag] })) }), languageTag))) })] })) })) }))), !(auth !== undefined && auth.showUsername && !auth.showResetCredentials) ? (displayRequiredFields ? (_jsxs("div", Object.assign({ className: getClassName("kcContentWrapperClass") }, { children: [_jsx("div", Object.assign({ className: clsx(getClassName("kcLabelWrapperClass"), "subtitle") }, { children: _jsxs("span", Object.assign({ className: "subtitle" }, { children: [_jsx("span", Object.assign({ className: "required" }, { children: "*" })), msg("requiredFields")] })) })), _jsx("div", Object.assign({ className: "col-md-10" }, { children: _jsx("h1", Object.assign({ id: "kc-page-title" }, { children: headerNode })) }))] }))) : (_jsx("h1", Object.assign({ id: "kc-page-title" }, { children: headerNode })))) : displayRequiredFields ? (_jsxs("div", Object.assign({ className: getClassName("kcContentWrapperClass") }, { children: [_jsx("div", Object.assign({ className: clsx(getClassName("kcLabelWrapperClass"), "subtitle") }, { children: _jsxs("span", Object.assign({ className: "subtitle" }, { children: [_jsx("span", Object.assign({ className: "required" }, { children: "*" })), " ", msg("requiredFields")] })) })), _jsxs("div", Object.assign({ className: "col-md-10" }, { children: [showUsernameNode, _jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsxs("div", Object.assign({ id: "kc-username" }, { children: [_jsx("label", Object.assign({ id: "kc-attempted-username" }, { children: auth === null || auth === void 0 ? void 0 : auth.attemptedUsername })), _jsx("a", Object.assign({ id: "reset-login", href: url.loginRestartFlowUrl }, { children: _jsxs("div", Object.assign({ className: "kc-login-tooltip" }, { children: [_jsx("i", { className: getClassName("kcResetFlowIcon") }), _jsx("span", Object.assign({ className: "kc-tooltip-text" }, { children: msg("restartLoginTooltip") }))] })) }))] })) }))] }))] }))) : (_jsxs(_Fragment, { children: [showUsernameNode, _jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsxs("div", Object.assign({ id: "kc-username" }, { children: [_jsx("label", Object.assign({ id: "kc-attempted-username" }, { children: auth === null || auth === void 0 ? void 0 : auth.attemptedUsername })), _jsx("a", Object.assign({ id: "reset-login", href: url.loginRestartFlowUrl }, { children: _jsxs("div", Object.assign({ className: "kc-login-tooltip" }, { children: [_jsx("i", { className: getClassName("kcResetFlowIcon") }), _jsx("span", Object.assign({ className: "kc-tooltip-text" }, { children: msg("restartLoginTooltip") }))] })) }))] })) }))] }))] })), _jsx("div", Object.assign({ id: "kc-content" }, { children: _jsxs("div", Object.assign({ id: "kc-content-wrapper" }, { children: [displayMessage && message !== undefined && (message.type !== "warning" || !isAppInitiatedAction) && (_jsxs("div", Object.assign({ className: clsx("alert", `alert-${message.type}`) }, { children: [message.type === "success" && _jsx("span", { className: getClassName("kcFeedbackSuccessIcon") }), message.type === "warning" && _jsx("span", { className: getClassName("kcFeedbackWarningIcon") }), message.type === "error" && _jsx("span", { className: getClassName("kcFeedbackErrorIcon") }), message.type === "info" && _jsx("span", { className: getClassName("kcFeedbackInfoIcon") }), _jsx("span", { className: "kc-feedback-text", dangerouslySetInnerHTML: {
|
27
28
|
"__html": message.summary
|
28
29
|
} })] }))), children, auth !== undefined && auth.showTryAnotherWayLink && showAnotherWayIfPresent && (_jsx("form", Object.assign({ id: "kc-select-try-another-way-form", action: url.loginAction, method: "post", className: clsx(displayWide && getClassName("kcContentWrapperClass")) }, { children: _jsx("div", Object.assign({ className: clsx(displayWide && [getClassName("kcFormSocialAccountContentClass"), getClassName("kcFormSocialAccountClass")]) }, { children: _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("input", { type: "hidden", name: "tryAnotherWay", value: "on" }), _jsx("a", Object.assign({ href: "#", id: "try-another-way", onClick: () => {
|
package/login/Template.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/login/Template.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAqC;IAClE,MAAM,EACF,WAAW,GAAG,KAAK,EACnB,cAAc,GAAG,IAAI,EACrB,qBAAqB,GAAG,KAAK,EAC7B,WAAW,GAAG,KAAK,EACnB,uBAAuB,GAAG,IAAI,EAC9B,UAAU,EACV,gBAAgB,GAAG,IAAI,EACvB,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,IAAI,EACJ,eAAe,EACf,OAAO,EACP,QAAQ,EACX,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAEvE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAEpF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAE9E,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC;QACnC,8BAA8B,EAAE,eAAe;QAC/C,QAAQ,EAAE;YACN,GAAG,GAAG,CAAC,mBAAmB,sDAAsD;YAChF,GAAG,GAAG,CAAC,mBAAmB,gEAAgE;YAC1F,GAAG,GAAG,CAAC,mBAAmB,wBAAwB;YAClD,GAAG,GAAG,CAAC,aAAa,gBAAgB;SACvC;QACD,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC;QAC5C,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/login/Template.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/lib/BASE_URL.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { useReducer, useEffect } from "react";
|
2
2
|
import { headInsert } from "keycloakify/tools/headInsert";
|
3
3
|
import { clsx } from "keycloakify/tools/clsx";
|
4
|
+
import { assert } from "tsafe/assert";
|
4
5
|
|
5
6
|
export function usePrepareTemplate(params: {
|
6
7
|
doFetchDefaultThemeResources: boolean;
|
@@ -8,11 +9,31 @@ export function usePrepareTemplate(params: {
|
|
8
9
|
scripts?: string[];
|
9
10
|
htmlClassName: string | undefined;
|
10
11
|
bodyClassName: string | undefined;
|
12
|
+
htmlLangProperty?: string | undefined;
|
13
|
+
documentTitle?: string;
|
11
14
|
}) {
|
12
|
-
const { doFetchDefaultThemeResources, styles = [], scripts = [], htmlClassName, bodyClassName } = params;
|
15
|
+
const { doFetchDefaultThemeResources, styles = [], scripts = [], htmlClassName, bodyClassName, htmlLangProperty, documentTitle } = params;
|
13
16
|
|
14
17
|
const [isReady, setReady] = useReducer(() => true, !doFetchDefaultThemeResources);
|
15
18
|
|
19
|
+
useEffect(() => {
|
20
|
+
if (htmlLangProperty === undefined) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
|
24
|
+
const html = document.querySelector("html");
|
25
|
+
assert(html !== null);
|
26
|
+
html.lang = htmlLangProperty;
|
27
|
+
}, [htmlLangProperty]);
|
28
|
+
|
29
|
+
useEffect(() => {
|
30
|
+
if (documentTitle === undefined) {
|
31
|
+
return;
|
32
|
+
}
|
33
|
+
|
34
|
+
document.title = documentTitle;
|
35
|
+
}, [documentTitle]);
|
36
|
+
|
16
37
|
useEffect(() => {
|
17
38
|
if (!doFetchDefaultThemeResources) {
|
18
39
|
return;
|
package/src/login/Template.tsx
CHANGED
@@ -38,15 +38,15 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
|
|
38
38
|
`${url.resourcesPath}/css/login.css`
|
39
39
|
],
|
40
40
|
"htmlClassName": getClassName("kcHtmlClass"),
|
41
|
-
"bodyClassName": getClassName("kcBodyClass")
|
41
|
+
"bodyClassName": getClassName("kcBodyClass"),
|
42
|
+
"htmlLangProperty": locale?.currentLanguageTag,
|
43
|
+
"documentTitle": i18n.msgStr("loginTitle", kcContext.realm.displayName)
|
42
44
|
});
|
43
45
|
|
44
46
|
if (!isReady) {
|
45
47
|
return null;
|
46
48
|
}
|
47
49
|
|
48
|
-
document.title = i18n.msgStr("loginTitle", kcContext.realm.displayName);
|
49
|
-
|
50
50
|
return (
|
51
51
|
<div className={getClassName("kcLoginClass")}>
|
52
52
|
<div id="kc-header" className={getClassName("kcHeaderClass")}>
|