Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
88923838c5 | |||
98e46d6ac9 | |||
daff614fb4 | |||
5ea324c7f2 | |||
23fedbf94a | |||
27fdaeff46 | |||
53c0079656 | |||
93780b77e0 | |||
b712ed0421 | |||
ee96f1b345 | |||
d13464df3d |
@ -8,9 +8,6 @@
|
|||||||
<a href="https://github.com/garronej/keycloakify/actions">
|
<a href="https://github.com/garronej/keycloakify/actions">
|
||||||
<img src="https://github.com/garronej/keycloakify/workflows/ci/badge.svg?branch=main">
|
<img src="https://github.com/garronej/keycloakify/workflows/ci/badge.svg?branch=main">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://bundlephobia.com/package/keycloakify">
|
|
||||||
<img src="https://img.shields.io/bundlephobia/minzip/keycloakify">
|
|
||||||
</a>
|
|
||||||
<a href="https://www.npmjs.com/package/keycloakify">
|
<a href="https://www.npmjs.com/package/keycloakify">
|
||||||
<img src="https://img.shields.io/npm/dm/keycloakify">
|
<img src="https://img.shields.io/npm/dm/keycloakify">
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "keycloakify",
|
"name": "keycloakify",
|
||||||
"version": "6.12.1",
|
"version": "6.12.6",
|
||||||
"description": "Keycloak theme generator for Reacts app",
|
"description": "Keycloak theme generator for Reacts app",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -81,7 +81,7 @@
|
|||||||
"@octokit/rest": "^18.12.0",
|
"@octokit/rest": "^18.12.0",
|
||||||
"cheerio": "^1.0.0-rc.5",
|
"cheerio": "^1.0.0-rc.5",
|
||||||
"cli-select": "^1.1.2",
|
"cli-select": "^1.1.2",
|
||||||
"evt": "^2.4.13",
|
"evt": "^2.4.15",
|
||||||
"minimal-polyfills": "^2.2.2",
|
"minimal-polyfills": "^2.2.2",
|
||||||
"minimist": "^1.2.6",
|
"minimist": "^1.2.6",
|
||||||
"path-browserify": "^1.0.1",
|
"path-browserify": "^1.0.1",
|
||||||
|
@ -174,6 +174,10 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
|
|||||||
) || (
|
) || (
|
||||||
["masterAdminClient", "delegateForUpdate", "defaultRole"]?seq_contains(key) &&
|
["masterAdminClient", "delegateForUpdate", "defaultRole"]?seq_contains(key) &&
|
||||||
are_same_path(path, ["realm"])
|
are_same_path(path, ["realm"])
|
||||||
|
) || (
|
||||||
|
"error.ftl" == pageId &&
|
||||||
|
are_same_path(path, ["realm"]) &&
|
||||||
|
!["name", "displayName", "displayNameHtml", "internationalizationEnabled", "registrationEmailAsUsername" ]?seq_contains(key)
|
||||||
)
|
)
|
||||||
>
|
>
|
||||||
<#local out_seq += ["/*If you need '" + key + "' on " + pageId + ", please submit an issue to the Keycloakify repo*/"]>
|
<#local out_seq += ["/*If you need '" + key + "' on " + pageId + ", please submit an issue to the Keycloakify repo*/"]>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function Error(props: PageProps<KcContextBase.Error, I18nBase>) {
|
export default function Error(props: PageProps<Extract<KcContextBase, { pageId: "error.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { message, client } = kcContext;
|
const { message, client } = kcContext;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function IdpReviewUserProfile(props: PageProps<KcContextBase.IdpReviewUserProfile, I18nBase>) {
|
export default function IdpReviewUserProfile(props: PageProps<Extract<KcContextBase, { pageId: "idp-review-user-profile.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg, msgStr } = i18n;
|
const { msg, msgStr } = i18n;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { assert } from "../tools/assert";
|
import { assert } from "../tools/assert";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function Info(props: PageProps<KcContextBase.Info, I18nBase>) {
|
export default function Info(props: PageProps<Extract<KcContextBase, { pageId: "info.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msgStr, msg } = i18n;
|
const { msgStr, msg } = i18n;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import React, { useState, type FormEventHandler } from "react";
|
import React, { useState, type FormEventHandler } from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { useConstCallback } from "../tools/useConstCallback";
|
import { useConstCallback } from "../tools/useConstCallback";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function Login(props: PageProps<KcContextBase.Login, I18nBase>) {
|
export default function Login(props: PageProps<Extract<KcContextBase, { pageId: "login.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { social, realm, url, usernameEditDisabled, login, auth, registrationDisabled } = kcContext;
|
const { social, realm, url, usernameEditDisabled, login, auth, registrationDisabled } = kcContext;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginConfigTotp(props: PageProps<KcContextBase.LoginConfigTotp, I18nBase>) {
|
export default function LoginConfigTotp(props: PageProps<Extract<KcContextBase, { pageId: "login-config-totp.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, isAppInitiatedAction, totp, mode, messagesPerField } = kcContext;
|
const { url, isAppInitiatedAction, totp, mode, messagesPerField } = kcContext;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginIdpLinkConfirm(props: PageProps<KcContextBase.LoginIdpLinkConfirm, I18nBase>) {
|
export default function LoginIdpLinkConfirm(props: PageProps<Extract<KcContextBase, { pageId: "login-idp-link-confirm.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, idpAlias } = kcContext;
|
const { url, idpAlias } = kcContext;
|
||||||
|
@ -3,7 +3,7 @@ import type { KcContextBase } from "../getKcContext";
|
|||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginIdpLinkEmail(props: PageProps<KcContextBase.LoginIdpLinkEmail, I18nBase>) {
|
export default function LoginIdpLinkEmail(props: PageProps<Extract<KcContextBase, { pageId: "login-idp-link-email.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, realm, brokerContext, idpAlias } = kcContext;
|
const { url, realm, brokerContext, idpAlias } = kcContext;
|
||||||
|
@ -2,11 +2,11 @@ import React, { useEffect } from "react";
|
|||||||
import { headInsert } from "../tools/headInsert";
|
import { headInsert } from "../tools/headInsert";
|
||||||
import { pathJoin } from "../../bin/tools/pathJoin";
|
import { pathJoin } from "../../bin/tools/pathJoin";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginOtp(props: PageProps<KcContextBase.LoginOtp, I18nBase>) {
|
export default function LoginOtp(props: PageProps<Extract<KcContextBase, { pageId: "login-otp.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { otpLogin, url } = kcContext;
|
const { otpLogin, url } = kcContext;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginPageExpired(props: PageProps<KcContextBase.LoginPageExpired, I18nBase>) {
|
export default function LoginPageExpired(props: PageProps<Extract<KcContextBase, { pageId: "login-page-expired.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url } = kcContext;
|
const { url } = kcContext;
|
||||||
|
@ -2,11 +2,11 @@ import React, { useState } from "react";
|
|||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { useConstCallback } from "../tools/useConstCallback";
|
import { useConstCallback } from "../tools/useConstCallback";
|
||||||
import type { FormEventHandler } from "react";
|
import type { FormEventHandler } from "react";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginPassword(props: PageProps<KcContextBase.LoginPassword, I18nBase>) {
|
export default function LoginPassword(props: PageProps<Extract<KcContextBase, { "pageId": "login-password.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { realm, url, login } = kcContext;
|
const { realm, url, login } = kcContext;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginResetPassword(props: PageProps<KcContextBase.LoginResetPassword, I18nBase>) {
|
export default function LoginResetPassword(props: PageProps<Extract<KcContextBase, { pageId: "login-reset-password.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, realm, auth } = kcContext;
|
const { url, realm, auth } = kcContext;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginUpdatePassword(props: PageProps<KcContextBase.LoginUpdatePassword, I18nBase>) {
|
export default function LoginUpdatePassword(props: PageProps<Extract<KcContextBase, { pageId: "login-update-password.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg, msgStr } = i18n;
|
const { msg, msgStr } = i18n;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginUpdateProfile(props: PageProps<KcContextBase.LoginUpdateProfile, I18nBase>) {
|
export default function LoginUpdateProfile(props: PageProps<Extract<KcContextBase, { pageId: "login-update-profile.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg, msgStr } = i18n;
|
const { msg, msgStr } = i18n;
|
||||||
|
@ -2,11 +2,11 @@ import React, { useState } from "react";
|
|||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { useConstCallback } from "../tools/useConstCallback";
|
import { useConstCallback } from "../tools/useConstCallback";
|
||||||
import type { FormEventHandler } from "react";
|
import type { FormEventHandler } from "react";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginUsername(props: PageProps<KcContextBase.LoginUsername, I18nBase>) {
|
export default function LoginUsername(props: PageProps<Extract<KcContextBase, { pageId: "login-username.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { social, realm, url, usernameHidden, login, registrationDisabled } = kcContext;
|
const { social, realm, url, usernameHidden, login, registrationDisabled } = kcContext;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LoginVerifyEmail(props: PageProps<KcContextBase.LoginVerifyEmail, I18nBase>) {
|
export default function LoginVerifyEmail(props: PageProps<Extract<KcContextBase, { pageId: "login-verify-email.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg } = i18n;
|
const { msg } = i18n;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function LogoutConfirm(props: PageProps<KcContextBase.LogoutConfirm, I18nBase>) {
|
export default function LogoutConfirm(props: PageProps<Extract<KcContextBase, { pageId: "logout-confirm.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, client, logoutConfirm } = kcContext;
|
const { url, client, logoutConfirm } = kcContext;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function Register(props: PageProps<KcContextBase.Register, I18nBase>) {
|
export default function Register(props: PageProps<Extract<KcContextBase, { pageId: "register.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, messagesPerField, register, realm, passwordRequired, recaptchaRequired, recaptchaSiteKey } = kcContext;
|
const { url, messagesPerField, register, realm, passwordRequired, recaptchaRequired, recaptchaSiteKey } = kcContext;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function RegisterUserProfile(props: PageProps<KcContextBase.RegisterUserProfile, I18nBase>) {
|
export default function RegisterUserProfile(props: PageProps<Extract<KcContextBase, { pageId: "register-user-profile.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext;
|
const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext;
|
||||||
|
@ -9,11 +9,11 @@ import { useConst } from "../tools/useConst";
|
|||||||
import { useConstCallback } from "../tools/useConstCallback";
|
import { useConstCallback } from "../tools/useConstCallback";
|
||||||
import { Markdown } from "../tools/Markdown";
|
import { Markdown } from "../tools/Markdown";
|
||||||
import type { Extends } from "tsafe";
|
import type { Extends } from "tsafe";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function Terms(props: PageProps<KcContextBase.Terms, I18nBase>) {
|
export default function Terms(props: PageProps<Extract<KcContextBase, { pageId: "terms.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg, msgStr } = i18n;
|
const { msg, msgStr } = i18n;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { clsx } from "../tools/clsx";
|
import { clsx } from "../tools/clsx";
|
||||||
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function UpdateUserProfile(props: PageProps<KcContextBase.UpdateUserProfile, I18nBase>) {
|
export default function UpdateUserProfile(props: PageProps<Extract<KcContextBase, { pageId: "update-user-profile.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { msg, msgStr } = i18n;
|
const { msg, msgStr } = i18n;
|
||||||
|
@ -3,11 +3,11 @@ import { clsx } from "../tools/clsx";
|
|||||||
import type { MessageKeyBase } from "../i18n";
|
import type { MessageKeyBase } from "../i18n";
|
||||||
import { base64url } from "rfc4648";
|
import { base64url } from "rfc4648";
|
||||||
import { useConstCallback } from "../tools/useConstCallback";
|
import { useConstCallback } from "../tools/useConstCallback";
|
||||||
import type { KcContextBase } from "../getKcContext";
|
|
||||||
import type { PageProps } from "../KcProps";
|
import type { PageProps } from "../KcProps";
|
||||||
|
import type { KcContextBase } from "../getKcContext";
|
||||||
import type { I18nBase } from "../i18n";
|
import type { I18nBase } from "../i18n";
|
||||||
|
|
||||||
export default function WebauthnAuthenticate(props: PageProps<KcContextBase.WebauthnAuthenticate, I18nBase>) {
|
export default function WebauthnAuthenticate(props: PageProps<Extract<KcContextBase, { pageId: "webauthn-authenticate.ftl" }>, I18nBase>) {
|
||||||
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
const { kcContext, i18n, doFetchDefaultThemeResources = true, Template, ...kcProps } = props;
|
||||||
|
|
||||||
const { url } = kcContext;
|
const { url } = kcContext;
|
||||||
|
@ -2,17 +2,15 @@ import React, { useEffect, Fragment } from "react";
|
|||||||
import type { KcProps } from "../../KcProps";
|
import type { KcProps } from "../../KcProps";
|
||||||
import type { Attribute } from "../../getKcContext/KcContextBase";
|
import type { Attribute } from "../../getKcContext/KcContextBase";
|
||||||
import { clsx } from "../../tools/clsx";
|
import { clsx } from "../../tools/clsx";
|
||||||
import type { ReactComponent } from "../../tools/ReactComponent";
|
|
||||||
import { useCallbackFactory } from "../../tools/useCallbackFactory";
|
import { useCallbackFactory } from "../../tools/useCallbackFactory";
|
||||||
import { useFormValidationSlice } from "../../useFormValidationSlice";
|
import { useFormValidationSlice } from "../../useFormValidationSlice";
|
||||||
import type { I18nBase } from "../../i18n";
|
import type { I18nBase } from "../../i18n";
|
||||||
import type { Param0 } from "tsafe/Param0";
|
|
||||||
|
|
||||||
export type UserProfileFormFieldsProps = {
|
export type UserProfileFormFieldsProps = {
|
||||||
kcContext: Param0<typeof useFormValidationSlice>["kcContext"];
|
kcContext: Parameters<typeof useFormValidationSlice>[0]["kcContext"];
|
||||||
i18n: I18nBase;
|
i18n: I18nBase;
|
||||||
} & KcProps &
|
} & KcProps &
|
||||||
Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
|
Partial<Record<"BeforeField" | "AfterField", (props: { attribute: Attribute }) => JSX.Element | null>> & {
|
||||||
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
|
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
/* eslint-disable @typescript-eslint/ban-types */
|
|
||||||
import type { FC, ComponentClass } from "react";
|
|
||||||
|
|
||||||
export type ReactComponent<Props extends Record<string, unknown> = {}> = ((props: Props) => ReturnType<FC>) | ComponentClass<Props>;
|
|
12
yarn.lock
12
yarn.lock
@ -839,14 +839,14 @@ escape-string-regexp@^1.0.5:
|
|||||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||||
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
|
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
|
||||||
|
|
||||||
evt@^2.4.13:
|
evt@^2.4.15:
|
||||||
version "2.4.13"
|
version "2.4.15"
|
||||||
resolved "https://registry.yarnpkg.com/evt/-/evt-2.4.13.tgz#5ef873159ce62e099d58801a3e4b8e0f5b648017"
|
resolved "https://registry.yarnpkg.com/evt/-/evt-2.4.15.tgz#bf673dd2b409067fcdc182becd8e7dbed13692e1"
|
||||||
integrity sha512-haTVOsmjzk+28zpzvVwan9Zw2rLQF2izgi7BKjAPRzZAfcv+8scL0TpM8MzvGNKFYHiy+Bq3r6FYIIUPl9kt3A==
|
integrity sha512-jlDDDWdoDg2wIZa9m08HVelHzEAlZLpLbDcWMqlc6nqKHG1Z3ZqC7teDoNH3upClx3SKwJTC0H7RIMfxe7zX2g==
|
||||||
dependencies:
|
dependencies:
|
||||||
minimal-polyfills "^2.2.2"
|
minimal-polyfills "^2.2.2"
|
||||||
run-exclusive "^2.2.18"
|
run-exclusive "^2.2.18"
|
||||||
tsafe "^1.4.1"
|
tsafe "^1.4.3"
|
||||||
|
|
||||||
execa@^5.1.1:
|
execa@^5.1.1:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
@ -1769,7 +1769,7 @@ ts-node@^10.9.1:
|
|||||||
v8-compile-cache-lib "^3.0.1"
|
v8-compile-cache-lib "^3.0.1"
|
||||||
yn "3.1.1"
|
yn "3.1.1"
|
||||||
|
|
||||||
tsafe@^1.4.1, tsafe@^1.4.3:
|
tsafe@^1.4.3:
|
||||||
version "1.4.3"
|
version "1.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/tsafe/-/tsafe-1.4.3.tgz#a98ce83616f0d9c01e3c6167a2ead45ba455b2ae"
|
resolved "https://registry.yarnpkg.com/tsafe/-/tsafe-1.4.3.tgz#a98ce83616f0d9c01e3c6167a2ead45ba455b2ae"
|
||||||
integrity sha512-KjCdgjIqsbKW9oeJGSMVC23jhWm/VXJwkaZ7jffo/WaTioLGTHJqliHe9dECEVzIACNVNs/fwtKwU8wWK4jY4g==
|
integrity sha512-KjCdgjIqsbKW9oeJGSMVC23jhWm/VXJwkaZ7jffo/WaTioLGTHJqliHe9dECEVzIACNVNs/fwtKwU8wWK4jY4g==
|
||||||
|
Reference in New Issue
Block a user