From da3023cf5e7ddfa70df33d4d0f888fb3bfdcdf8d Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Mon, 30 Sep 2024 00:31:27 +0200 Subject: [PATCH] Refactor: Make ClassKey importable without having react as a dependency --- src/account/TemplateProps.ts | 16 +---- src/account/lib/kcClsx.ts | 18 ++++- src/login/TemplateProps.ts | 127 +--------------------------------- src/login/lib/kcClsx.ts | 129 ++++++++++++++++++++++++++++++++++- 4 files changed, 145 insertions(+), 145 deletions(-) diff --git a/src/account/TemplateProps.ts b/src/account/TemplateProps.ts index 0e5196d2..d8f26cbd 100644 --- a/src/account/TemplateProps.ts +++ b/src/account/TemplateProps.ts @@ -1,4 +1,5 @@ import type { ReactNode } from "react"; +import type { ClassKey } from "keycloakify/account/lib/kcClsx"; export type TemplateProps = { kcContext: KcContext; @@ -10,17 +11,4 @@ export type TemplateProps = { active: string; }; -export type ClassKey = - | "kcHtmlClass" - | "kcBodyClass" - | "kcButtonClass" - | "kcButtonPrimaryClass" - | "kcButtonLargeClass" - | "kcButtonDefaultClass" - | "kcContentWrapperClass" - | "kcFormClass" - | "kcFormGroupClass" - | "kcInputWrapperClass" - | "kcLabelClass" - | "kcInputClass" - | "kcInputErrorMessageClass"; +export type { ClassKey }; diff --git a/src/account/lib/kcClsx.ts b/src/account/lib/kcClsx.ts index 330e0c4f..33df4515 100644 --- a/src/account/lib/kcClsx.ts +++ b/src/account/lib/kcClsx.ts @@ -1,5 +1,19 @@ import { createGetKcClsx } from "keycloakify/lib/getKcClsx"; -import type { ClassKey } from "keycloakify/account/TemplateProps"; + +export type ClassKey = + | "kcHtmlClass" + | "kcBodyClass" + | "kcButtonClass" + | "kcButtonPrimaryClass" + | "kcButtonLargeClass" + | "kcButtonDefaultClass" + | "kcContentWrapperClass" + | "kcFormClass" + | "kcFormGroupClass" + | "kcInputWrapperClass" + | "kcLabelClass" + | "kcInputClass" + | "kcInputErrorMessageClass"; export const { getKcClsx } = createGetKcClsx({ defaultClasses: { @@ -20,6 +34,4 @@ export const { getKcClsx } = createGetKcClsx({ } }); -export type { ClassKey }; - export type KcClsx = ReturnType["kcClsx"]; diff --git a/src/login/TemplateProps.ts b/src/login/TemplateProps.ts index 0e3b2895..b3b8f7c6 100644 --- a/src/login/TemplateProps.ts +++ b/src/login/TemplateProps.ts @@ -1,4 +1,5 @@ import type { ReactNode } from "react"; +import type { ClassKey } from "keycloakify/login/lib/kcClsx"; export type TemplateProps = { kcContext: KcContext; @@ -18,128 +19,4 @@ export type TemplateProps = { bodyClassName?: string; }; -export type ClassKey = - | "kcBodyClass" - | "kcHeaderWrapperClass" - | "kcLocaleWrapperClass" - | "kcInfoAreaWrapperClass" - | "kcFormButtonsWrapperClass" - | "kcFormOptionsWrapperClass" - | "kcCheckboxInputClass" - | "kcLocaleDropDownClass" - | "kcLocaleListItemClass" - | "kcContentWrapperClass" - | "kcLogoIdP-facebook" - | "kcAuthenticatorOTPClass" - | "kcLogoIdP-bitbucket" - | "kcAuthenticatorWebAuthnClass" - | "kcWebAuthnDefaultIcon" - | "kcLogoIdP-stackoverflow" - | "kcSelectAuthListItemClass" - | "kcLogoIdP-microsoft" - | "kcLoginOTPListItemHeaderClass" - | "kcLocaleItemClass" - | "kcLoginOTPListItemIconBodyClass" - | "kcInputHelperTextAfterClass" - | "kcFormClass" - | "kcSelectAuthListClass" - | "kcInputClassRadioCheckboxLabelDisabled" - | "kcSelectAuthListItemIconClass" - | "kcRecoveryCodesWarning" - | "kcFormSettingClass" - | "kcWebAuthnBLE" - | "kcInputWrapperClass" - | "kcSelectAuthListItemArrowIconClass" - | "kcFeedbackAreaClass" - | "kcFormPasswordVisibilityButtonClass" - | "kcLogoIdP-google" - | "kcCheckLabelClass" - | "kcSelectAuthListItemFillClass" - | "kcAuthenticatorDefaultClass" - | "kcLogoIdP-gitlab" - | "kcFormAreaClass" - | "kcFormButtonsClass" - | "kcInputClassRadioLabel" - | "kcAuthenticatorWebAuthnPasswordlessClass" - | "kcSelectAuthListItemHeadingClass" - | "kcInfoAreaClass" - | "kcLogoLink" - | "kcContainerClass" - | "kcSelectAuthListItemTitle" - | "kcHtmlClass" - | "kcLoginOTPListItemTitleClass" - | "kcLogoIdP-openshift-v4" - | "kcWebAuthnUnknownIcon" - | "kcFormSocialAccountNameClass" - | "kcLogoIdP-openshift-v3" - | "kcLoginOTPListInputClass" - | "kcWebAuthnUSB" - | "kcInputClassRadio" - | "kcWebAuthnKeyIcon" - | "kcFeedbackInfoIcon" - | "kcCommonLogoIdP" - | "kcRecoveryCodesActions" - | "kcFormGroupHeader" - | "kcFormSocialAccountSectionClass" - | "kcLogoIdP-instagram" - | "kcAlertClass" - | "kcHeaderClass" - | "kcLabelWrapperClass" - | "kcFormPasswordVisibilityIconShow" - | "kcFormSocialAccountLinkClass" - | "kcLocaleMainClass" - | "kcInputGroup" - | "kcTextareaClass" - | "kcButtonBlockClass" - | "kcButtonClass" - | "kcWebAuthnNFC" - | "kcLocaleClass" - | "kcInputClassCheckboxInput" - | "kcFeedbackErrorIcon" - | "kcInputLargeClass" - | "kcInputErrorMessageClass" - | "kcRecoveryCodesList" - | "kcFormSocialAccountListClass" - | "kcAlertTitleClass" - | "kcAuthenticatorPasswordClass" - | "kcCheckInputClass" - | "kcLogoIdP-linkedin" - | "kcLogoIdP-twitter" - | "kcFeedbackWarningIcon" - | "kcResetFlowIcon" - | "kcSelectAuthListItemIconPropertyClass" - | "kcFeedbackSuccessIcon" - | "kcLoginOTPListClass" - | "kcSrOnlyClass" - | "kcFormSocialAccountListGridClass" - | "kcButtonDefaultClass" - | "kcFormGroupErrorClass" - | "kcSelectAuthListItemDescriptionClass" - | "kcSelectAuthListItemBodyClass" - | "kcWebAuthnInternal" - | "kcSelectAuthListItemArrowClass" - | "kcCheckClass" - | "kcContentClass" - | "kcLogoClass" - | "kcLoginOTPListItemIconClass" - | "kcLoginClass" - | "kcSignUpClass" - | "kcButtonLargeClass" - | "kcFormCardClass" - | "kcLocaleListClass" - | "kcInputClass" - | "kcFormGroupClass" - | "kcLogoIdP-paypal" - | "kcInputClassCheckbox" - | "kcRecoveryCodesConfirmation" - | "kcFormPasswordVisibilityIconHide" - | "kcInputClassRadioInput" - | "kcFormSocialAccountListButtonClass" - | "kcInputClassCheckboxLabel" - | "kcFormOptionsClass" - | "kcFormHeaderClass" - | "kcFormSocialAccountGridItem" - | "kcButtonPrimaryClass" - | "kcInputHelperTextBeforeClass" - | "kcLogoIdP-github" - | "kcLabelClass"; +export type { ClassKey }; diff --git a/src/login/lib/kcClsx.ts b/src/login/lib/kcClsx.ts index a140671f..9198f778 100644 --- a/src/login/lib/kcClsx.ts +++ b/src/login/lib/kcClsx.ts @@ -1,5 +1,130 @@ import { createGetKcClsx } from "keycloakify/lib/getKcClsx"; -import type { ClassKey } from "keycloakify/login/TemplateProps"; + +export type ClassKey = + | "kcBodyClass" + | "kcHeaderWrapperClass" + | "kcLocaleWrapperClass" + | "kcInfoAreaWrapperClass" + | "kcFormButtonsWrapperClass" + | "kcFormOptionsWrapperClass" + | "kcCheckboxInputClass" + | "kcLocaleDropDownClass" + | "kcLocaleListItemClass" + | "kcContentWrapperClass" + | "kcLogoIdP-facebook" + | "kcAuthenticatorOTPClass" + | "kcLogoIdP-bitbucket" + | "kcAuthenticatorWebAuthnClass" + | "kcWebAuthnDefaultIcon" + | "kcLogoIdP-stackoverflow" + | "kcSelectAuthListItemClass" + | "kcLogoIdP-microsoft" + | "kcLoginOTPListItemHeaderClass" + | "kcLocaleItemClass" + | "kcLoginOTPListItemIconBodyClass" + | "kcInputHelperTextAfterClass" + | "kcFormClass" + | "kcSelectAuthListClass" + | "kcInputClassRadioCheckboxLabelDisabled" + | "kcSelectAuthListItemIconClass" + | "kcRecoveryCodesWarning" + | "kcFormSettingClass" + | "kcWebAuthnBLE" + | "kcInputWrapperClass" + | "kcSelectAuthListItemArrowIconClass" + | "kcFeedbackAreaClass" + | "kcFormPasswordVisibilityButtonClass" + | "kcLogoIdP-google" + | "kcCheckLabelClass" + | "kcSelectAuthListItemFillClass" + | "kcAuthenticatorDefaultClass" + | "kcLogoIdP-gitlab" + | "kcFormAreaClass" + | "kcFormButtonsClass" + | "kcInputClassRadioLabel" + | "kcAuthenticatorWebAuthnPasswordlessClass" + | "kcSelectAuthListItemHeadingClass" + | "kcInfoAreaClass" + | "kcLogoLink" + | "kcContainerClass" + | "kcSelectAuthListItemTitle" + | "kcHtmlClass" + | "kcLoginOTPListItemTitleClass" + | "kcLogoIdP-openshift-v4" + | "kcWebAuthnUnknownIcon" + | "kcFormSocialAccountNameClass" + | "kcLogoIdP-openshift-v3" + | "kcLoginOTPListInputClass" + | "kcWebAuthnUSB" + | "kcInputClassRadio" + | "kcWebAuthnKeyIcon" + | "kcFeedbackInfoIcon" + | "kcCommonLogoIdP" + | "kcRecoveryCodesActions" + | "kcFormGroupHeader" + | "kcFormSocialAccountSectionClass" + | "kcLogoIdP-instagram" + | "kcAlertClass" + | "kcHeaderClass" + | "kcLabelWrapperClass" + | "kcFormPasswordVisibilityIconShow" + | "kcFormSocialAccountLinkClass" + | "kcLocaleMainClass" + | "kcInputGroup" + | "kcTextareaClass" + | "kcButtonBlockClass" + | "kcButtonClass" + | "kcWebAuthnNFC" + | "kcLocaleClass" + | "kcInputClassCheckboxInput" + | "kcFeedbackErrorIcon" + | "kcInputLargeClass" + | "kcInputErrorMessageClass" + | "kcRecoveryCodesList" + | "kcFormSocialAccountListClass" + | "kcAlertTitleClass" + | "kcAuthenticatorPasswordClass" + | "kcCheckInputClass" + | "kcLogoIdP-linkedin" + | "kcLogoIdP-twitter" + | "kcFeedbackWarningIcon" + | "kcResetFlowIcon" + | "kcSelectAuthListItemIconPropertyClass" + | "kcFeedbackSuccessIcon" + | "kcLoginOTPListClass" + | "kcSrOnlyClass" + | "kcFormSocialAccountListGridClass" + | "kcButtonDefaultClass" + | "kcFormGroupErrorClass" + | "kcSelectAuthListItemDescriptionClass" + | "kcSelectAuthListItemBodyClass" + | "kcWebAuthnInternal" + | "kcSelectAuthListItemArrowClass" + | "kcCheckClass" + | "kcContentClass" + | "kcLogoClass" + | "kcLoginOTPListItemIconClass" + | "kcLoginClass" + | "kcSignUpClass" + | "kcButtonLargeClass" + | "kcFormCardClass" + | "kcLocaleListClass" + | "kcInputClass" + | "kcFormGroupClass" + | "kcLogoIdP-paypal" + | "kcInputClassCheckbox" + | "kcRecoveryCodesConfirmation" + | "kcFormPasswordVisibilityIconHide" + | "kcInputClassRadioInput" + | "kcFormSocialAccountListButtonClass" + | "kcInputClassCheckboxLabel" + | "kcFormOptionsClass" + | "kcFormHeaderClass" + | "kcFormSocialAccountGridItem" + | "kcButtonPrimaryClass" + | "kcInputHelperTextBeforeClass" + | "kcLogoIdP-github" + | "kcLabelClass"; export const { getKcClsx } = createGetKcClsx({ defaultClasses: { @@ -138,6 +263,4 @@ export const { getKcClsx } = createGetKcClsx({ } }); -export type { ClassKey }; - export type KcClsx = ReturnType["kcClsx"];