From 5225749c7b8772e12de84b312bc4d0e8b81d73fb Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Mon, 9 Dec 2024 05:06:47 +0100 Subject: [PATCH] React 19 compat #741 --- src/account/pages/PageProps.ts | 1 + src/login/DefaultPage.tsx | 1 + src/login/UserProfileFormFields.tsx | 1 + src/login/UserProfileFormFieldsProps.tsx | 1 + src/login/i18n/withJsx/GenericI18n.tsx | 1 + src/login/i18n/withJsx/useI18n.tsx | 1 + src/login/lib/useUserProfileForm.tsx | 1 + src/login/pages/IdpReviewUserProfile.tsx | 1 + src/login/pages/Login.tsx | 1 + src/login/pages/LoginPassword.tsx | 1 + src/login/pages/LoginUpdatePassword.tsx | 1 + src/login/pages/LoginUpdateProfile.tsx | 1 + src/login/pages/PageProps.ts | 1 + src/login/pages/Register.tsx | 1 + src/login/pages/UpdateEmail.tsx | 1 + src/tools/JSX.ts | 5 +++++ 16 files changed, 20 insertions(+) create mode 100644 src/tools/JSX.ts diff --git a/src/account/pages/PageProps.ts b/src/account/pages/PageProps.ts index b269d62a..3b604925 100644 --- a/src/account/pages/PageProps.ts +++ b/src/account/pages/PageProps.ts @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { type TemplateProps, type ClassKey } from "keycloakify/account/TemplateProps"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; diff --git a/src/login/DefaultPage.tsx b/src/login/DefaultPage.tsx index 9ddfbe09..97daf8b3 100644 --- a/src/login/DefaultPage.tsx +++ b/src/login/DefaultPage.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { lazy, Suspense } from "react"; import { assert, type Equals } from "tsafe/assert"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; diff --git a/src/login/UserProfileFormFields.tsx b/src/login/UserProfileFormFields.tsx index 93a99ad7..5e3bcd8b 100644 --- a/src/login/UserProfileFormFields.tsx +++ b/src/login/UserProfileFormFields.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useEffect, useReducer, Fragment } from "react"; import { assert } from "keycloakify/tools/assert"; import type { KcClsx } from "keycloakify/login/lib/kcClsx"; diff --git a/src/login/UserProfileFormFieldsProps.tsx b/src/login/UserProfileFormFieldsProps.tsx index 5b8bcd24..022461a9 100644 --- a/src/login/UserProfileFormFieldsProps.tsx +++ b/src/login/UserProfileFormFieldsProps.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { type FormAction, type FormFieldError } from "keycloakify/login/lib/useUserProfileForm"; import type { KcClsx } from "keycloakify/login/lib/kcClsx"; import type { Attribute } from "keycloakify/login/KcContext"; diff --git a/src/login/i18n/withJsx/GenericI18n.tsx b/src/login/i18n/withJsx/GenericI18n.tsx index f669fe50..686bdcea 100644 --- a/src/login/i18n/withJsx/GenericI18n.tsx +++ b/src/login/i18n/withJsx/GenericI18n.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import type { GenericI18n_noJsx } from "../noJsx/GenericI18n_noJsx"; import { assert, type Equals } from "tsafe/assert"; diff --git a/src/login/i18n/withJsx/useI18n.tsx b/src/login/i18n/withJsx/useI18n.tsx index a94ee6ca..26fbb0f6 100644 --- a/src/login/i18n/withJsx/useI18n.tsx +++ b/src/login/i18n/withJsx/useI18n.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useEffect, useState } from "react"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { createGetI18n, type KcContextLike } from "../noJsx/getI18n"; diff --git a/src/login/lib/useUserProfileForm.tsx b/src/login/lib/useUserProfileForm.tsx index c01eafea..d6d8f16f 100644 --- a/src/login/lib/useUserProfileForm.tsx +++ b/src/login/lib/useUserProfileForm.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import * as reactlessApi from "./getUserProfileApi/index"; import type { PasswordPolicies, Attribute, Validators } from "keycloakify/login/KcContext"; import { useEffect, useState, useMemo, Fragment } from "react"; diff --git a/src/login/pages/IdpReviewUserProfile.tsx b/src/login/pages/IdpReviewUserProfile.tsx index 0e331ec1..cdab2c64 100644 --- a/src/login/pages/IdpReviewUserProfile.tsx +++ b/src/login/pages/IdpReviewUserProfile.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState } from "react"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; import { getKcClsx } from "keycloakify/login/lib/kcClsx"; diff --git a/src/login/pages/Login.tsx b/src/login/pages/Login.tsx index 3150a0e2..c9a8cd3d 100644 --- a/src/login/pages/Login.tsx +++ b/src/login/pages/Login.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState, useEffect, useReducer } from "react"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { assert } from "keycloakify/tools/assert"; diff --git a/src/login/pages/LoginPassword.tsx b/src/login/pages/LoginPassword.tsx index 2545b6e2..3e734318 100644 --- a/src/login/pages/LoginPassword.tsx +++ b/src/login/pages/LoginPassword.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState, useEffect, useReducer } from "react"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { clsx } from "keycloakify/tools/clsx"; diff --git a/src/login/pages/LoginUpdatePassword.tsx b/src/login/pages/LoginUpdatePassword.tsx index baa8b38f..6f9ce2dd 100644 --- a/src/login/pages/LoginUpdatePassword.tsx +++ b/src/login/pages/LoginUpdatePassword.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useEffect, useReducer } from "react"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { assert } from "keycloakify/tools/assert"; diff --git a/src/login/pages/LoginUpdateProfile.tsx b/src/login/pages/LoginUpdateProfile.tsx index a7477961..b6f60e2c 100644 --- a/src/login/pages/LoginUpdateProfile.tsx +++ b/src/login/pages/LoginUpdateProfile.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState } from "react"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; import { getKcClsx } from "keycloakify/login/lib/kcClsx"; diff --git a/src/login/pages/PageProps.ts b/src/login/pages/PageProps.ts index e8d73449..9a705c27 100644 --- a/src/login/pages/PageProps.ts +++ b/src/login/pages/PageProps.ts @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { type TemplateProps, type ClassKey } from "keycloakify/login/TemplateProps"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; diff --git a/src/login/pages/Register.tsx b/src/login/pages/Register.tsx index e3948550..9c1a0c50 100644 --- a/src/login/pages/Register.tsx +++ b/src/login/pages/Register.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState } from "react"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; diff --git a/src/login/pages/UpdateEmail.tsx b/src/login/pages/UpdateEmail.tsx index 43784dc4..25505169 100644 --- a/src/login/pages/UpdateEmail.tsx +++ b/src/login/pages/UpdateEmail.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "keycloakify/tools/JSX"; import { useState } from "react"; import type { LazyOrNot } from "keycloakify/tools/LazyOrNot"; import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx"; diff --git a/src/tools/JSX.ts b/src/tools/JSX.ts new file mode 100644 index 00000000..1f911f37 --- /dev/null +++ b/src/tools/JSX.ts @@ -0,0 +1,5 @@ +import type { ReactElement } from "react"; + +export namespace JSX { + export interface Element extends ReactElement {} +}