keycloakify 10.0.0-rc.37 → 10.0.0-rc.39
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/account/Fallback.d.ts +1 -2
- package/account/Fallback.js.map +1 -1
- package/account/KcContext/KcContext.d.ts +6 -6
- package/account/KcContext/getKcContextMock.d.ts +9 -9
- package/account/KcContext/getKcContextMock.js +3 -3
- package/account/KcContext/getKcContextMock.js.map +1 -1
- package/account/Template.d.ts +1 -2
- package/account/Template.js +7 -6
- package/account/Template.js.map +1 -1
- package/account/TemplateProps.d.ts +1 -3
- package/account/i18n/i18n.d.ts +9 -4
- package/account/i18n/i18n.js +132 -87
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/index.d.ts +9 -2
- package/account/i18n/index.js +5 -1
- package/account/i18n/index.js.map +1 -1
- package/account/lib/kcClsx.d.ts +9 -0
- package/account/lib/{useGetClassName.js → kcClsx.js} +3 -3
- package/account/lib/kcClsx.js.map +1 -0
- package/account/pages/Account.d.ts +1 -2
- package/account/pages/Account.js +9 -7
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.d.ts +1 -2
- package/account/pages/Applications.js +7 -7
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +1 -2
- package/account/pages/FederatedIdentity.js +4 -3
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Log.d.ts +1 -2
- package/account/pages/Log.js +6 -5
- package/account/pages/Log.js.map +1 -1
- package/account/pages/PageProps.d.ts +2 -4
- package/account/pages/Password.d.ts +1 -2
- package/account/pages/Password.js +10 -9
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.d.ts +1 -2
- package/account/pages/Sessions.js +6 -6
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.d.ts +1 -2
- package/account/pages/Totp.js +6 -5
- package/account/pages/Totp.js.map +1 -1
- package/bin/193.index.js +13 -13
- package/bin/{430.index.js → 214.index.js} +161 -2
- package/bin/3.index.js +165 -149
- package/bin/322.index.js +595 -0
- package/bin/453.index.js +3 -3
- package/bin/526.index.js +42 -632
- package/bin/538.index.js +563 -0
- package/bin/932.index.js +7 -7
- package/bin/{890.index.js → 941.index.js} +2 -159
- package/bin/944.index.js +621 -0
- package/bin/961.index.js +5 -5
- package/bin/97.index.js +3 -3
- package/bin/{314.index.js → 98.index.js} +217 -48
- package/bin/main.js +20 -8
- package/lib/getKcClsx.d.ts +11 -0
- package/lib/getKcClsx.js +55 -0
- package/lib/getKcClsx.js.map +1 -0
- package/login/Fallback.d.ts +2 -2
- package/login/Fallback.js.map +1 -1
- package/login/KcContext/KcContext.d.ts +6 -6
- package/login/KcContext/getKcContextMock.d.ts +9 -9
- package/login/KcContext/getKcContextMock.js +3 -3
- package/login/KcContext/getKcContextMock.js.map +1 -1
- package/login/Template.d.ts +1 -2
- package/login/Template.js +10 -9
- package/login/Template.js.map +1 -1
- package/login/TemplateProps.d.ts +1 -3
- package/login/UserProfileFormFields.d.ts +6 -5
- package/login/UserProfileFormFields.js +35 -36
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/i18n/i18n.d.ts +9 -4
- package/login/i18n/i18n.js +136 -91
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +9 -2
- package/login/i18n/index.js +5 -1
- package/login/i18n/index.js.map +1 -1
- package/login/lib/kcClsx.d.ts +9 -0
- package/login/lib/{useGetClassName.js → kcClsx.js} +3 -3
- package/login/lib/kcClsx.js.map +1 -0
- package/login/lib/useUserProfileForm.d.ts +9 -6
- package/login/lib/useUserProfileForm.js +7 -5
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.d.ts +1 -2
- package/login/pages/Code.js +6 -5
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.d.ts +1 -2
- package/login/pages/DeleteAccountConfirm.js +7 -7
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.d.ts +1 -2
- package/login/pages/DeleteCredential.js +6 -6
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.d.ts +1 -2
- package/login/pages/Error.js +4 -3
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.d.ts +1 -2
- package/login/pages/FrontchannelLogout.js +4 -3
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.d.ts +2 -2
- package/login/pages/IdpReviewUserProfile.js +6 -6
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.d.ts +1 -2
- package/login/pages/Info.js +4 -3
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.d.ts +1 -2
- package/login/pages/Login.js +10 -8
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.d.ts +1 -2
- package/login/pages/LoginConfigTotp.js +8 -7
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.d.ts +1 -2
- package/login/pages/LoginIdpLinkConfirm.js +6 -6
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.d.ts +1 -2
- package/login/pages/LoginIdpLinkEmail.js +4 -3
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +1 -2
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +6 -6
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.d.ts +1 -2
- package/login/pages/LoginOauthGrant.js +7 -7
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.d.ts +1 -2
- package/login/pages/LoginOtp.js +6 -6
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.d.ts +1 -2
- package/login/pages/LoginPageExpired.js +4 -3
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.d.ts +1 -2
- package/login/pages/LoginPassword.js +9 -7
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -2
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +9 -7
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -2
- package/login/pages/LoginRecoveryAuthnCodeInput.js +6 -6
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.d.ts +1 -2
- package/login/pages/LoginResetOtp.js +6 -6
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.d.ts +1 -2
- package/login/pages/LoginResetPassword.js +7 -7
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.d.ts +1 -2
- package/login/pages/LoginUpdatePassword.js +10 -9
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.d.ts +2 -2
- package/login/pages/LoginUpdateProfile.js +7 -12
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.d.ts +1 -2
- package/login/pages/LoginUsername.js +8 -7
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.d.ts +1 -2
- package/login/pages/LoginVerifyEmail.js +4 -3
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.d.ts +1 -2
- package/login/pages/LoginX509Info.js +6 -6
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.d.ts +1 -2
- package/login/pages/LogoutConfirm.js +6 -6
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/PageProps.d.ts +2 -4
- package/login/pages/Register.d.ts +2 -2
- package/login/pages/Register.js +8 -16
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.d.ts +1 -2
- package/login/pages/SamlPostForm.js +4 -3
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.d.ts +1 -2
- package/login/pages/SelectAuthenticator.js +6 -9
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.d.ts +1 -2
- package/login/pages/Terms.js +6 -6
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.d.ts +2 -2
- package/login/pages/UpdateEmail.js +8 -12
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.d.ts +1 -2
- package/login/pages/WebauthnAuthenticate.js +13 -12
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.d.ts +1 -2
- package/login/pages/WebauthnError.js +7 -7
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.d.ts +1 -2
- package/login/pages/WebauthnRegister.js +9 -8
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +27 -22
- package/src/account/Fallback.tsx +1 -2
- package/src/account/KcContext/KcContext.ts +7 -7
- package/src/account/KcContext/getKcContextMock.ts +13 -24
- package/src/account/Template.tsx +8 -8
- package/src/account/TemplateProps.ts +1 -6
- package/src/account/i18n/i18n.tsx +204 -125
- package/src/account/i18n/index.ts +10 -2
- package/src/account/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
- package/src/account/pages/Account.tsx +15 -21
- package/src/account/pages/Applications.tsx +8 -9
- package/src/account/pages/FederatedIdentity.tsx +5 -5
- package/src/account/pages/Log.tsx +8 -8
- package/src/account/pages/PageProps.ts +2 -4
- package/src/account/pages/Password.tsx +13 -16
- package/src/account/pages/Sessions.tsx +9 -10
- package/src/account/pages/Totp.tsx +19 -28
- package/src/bin/add-story.ts +3 -3
- package/src/bin/copy-keycloak-resources-to-public.ts +3 -3
- package/src/bin/download-keycloak-default-theme.ts +5 -5
- package/src/bin/eject-page.ts +3 -3
- package/src/bin/initialize-email-theme.ts +5 -5
- package/src/bin/keycloakify/buildJars/buildJar.ts +14 -14
- package/src/bin/keycloakify/buildJars/buildJars.ts +8 -8
- package/src/bin/keycloakify/buildJars/generatePom.ts +9 -9
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +12 -12
- package/src/bin/keycloakify/generateSrcMainResources/bringInAccountV1.ts +7 -7
- package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +2 -66
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +9 -9
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts +30 -24
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +8 -8
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +9 -9
- package/src/bin/keycloakify/keycloakify.ts +11 -11
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +6 -6
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +7 -7
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +10 -10
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +13 -13
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +11 -11
- package/src/bin/main.ts +17 -2
- package/src/bin/shared/{buildOptions.ts → buildContext.ts} +65 -51
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +12 -12
- package/src/bin/shared/downloadKeycloakDefaultTheme.ts +7 -7
- package/src/bin/shared/downloadKeycloakStaticResources.ts +7 -7
- package/src/bin/shared/generateKcGenTs.ts +61 -0
- package/src/bin/shared/getThemeSrcDirPath.ts +3 -3
- package/src/bin/start-keycloak/appBuild.ts +11 -11
- package/src/bin/start-keycloak/keycloakifyBuild.ts +7 -7
- package/src/bin/start-keycloak/start-keycloak.ts +34 -22
- package/src/bin/tools/escapeStringForPropertiesFile.ts +64 -0
- package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +3 -3
- package/src/bin/update-kc-gen.ts +13 -0
- package/src/lib/getKcClsx.ts +89 -0
- package/src/login/Fallback.tsx +2 -2
- package/src/login/KcContext/KcContext.ts +7 -7
- package/src/login/KcContext/getKcContextMock.ts +13 -24
- package/src/login/Template.tsx +36 -37
- package/src/login/TemplateProps.ts +1 -6
- package/src/login/UserProfileFormFields.tsx +67 -84
- package/src/login/i18n/i18n.tsx +208 -129
- package/src/login/i18n/index.ts +10 -2
- package/src/login/lib/{useGetClassName.ts → kcClsx.ts} +6 -2
- package/src/login/lib/useUserProfileForm.tsx +29 -21
- package/src/login/pages/Code.tsx +10 -8
- package/src/login/pages/DeleteAccountConfirm.tsx +9 -10
- package/src/login/pages/DeleteCredential.tsx +11 -10
- package/src/login/pages/Error.tsx +5 -5
- package/src/login/pages/FrontchannelLogout.tsx +7 -5
- package/src/login/pages/IdpReviewUserProfile.tsx +18 -21
- package/src/login/pages/Info.tsx +7 -5
- package/src/login/pages/Login.tsx +34 -53
- package/src/login/pages/LoginConfigTotp.tsx +30 -38
- package/src/login/pages/LoginIdpLinkConfirm.tsx +10 -21
- package/src/login/pages/LoginIdpLinkEmail.tsx +5 -5
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +19 -24
- package/src/login/pages/LoginOauthGrant.tsx +14 -21
- package/src/login/pages/LoginOtp.tsx +29 -33
- package/src/login/pages/LoginPageExpired.tsx +5 -5
- package/src/login/pages/LoginPassword.tsx +23 -33
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +21 -25
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +21 -25
- package/src/login/pages/LoginResetOtp.tsx +21 -25
- package/src/login/pages/LoginResetPassword.tsx +21 -25
- package/src/login/pages/LoginUpdatePassword.tsx +42 -52
- package/src/login/pages/LoginUpdateProfile.tsx +29 -30
- package/src/login/pages/LoginUsername.tsx +23 -35
- package/src/login/pages/LoginVerifyEmail.tsx +7 -5
- package/src/login/pages/LoginX509Info.tsx +27 -36
- package/src/login/pages/LogoutConfirm.tsx +11 -17
- package/src/login/pages/PageProps.ts +2 -4
- package/src/login/pages/Register.tsx +27 -46
- package/src/login/pages/SamlPostForm.tsx +5 -5
- package/src/login/pages/SelectAuthenticator.tsx +24 -26
- package/src/login/pages/Terms.tsx +9 -16
- package/src/login/pages/UpdateEmail.tsx +29 -33
- package/src/login/pages/WebauthnAuthenticate.tsx +26 -32
- package/src/login/pages/WebauthnError.tsx +11 -22
- package/src/login/pages/WebauthnRegister.tsx +20 -28
- package/src/tools/clsx.ts +6 -48
- package/src/tools/clsx_withTransform.ts +55 -0
- package/src/vite-plugin/vite-plugin.ts +29 -21
- package/tools/clsx.d.ts +3 -2
- package/tools/clsx.js +5 -41
- package/tools/clsx.js.map +1 -1
- package/tools/clsx_withTransform.d.ts +5 -0
- package/tools/clsx_withTransform.js +43 -0
- package/tools/clsx_withTransform.js.map +1 -0
- package/vite-plugin/index.js +243 -102
- package/vite-plugin/vite-plugin.d.ts +3 -3
- package/account/lib/useGetClassName.d.ts +0 -7
- package/account/lib/useGetClassName.js.map +0 -1
- package/bin/795.index.js +0 -1197
- package/lib/isStorybook.d.ts +0 -1
- package/lib/isStorybook.js +0 -3
- package/lib/isStorybook.js.map +0 -1
- package/lib/useGetClassName.d.ts +0 -10
- package/lib/useGetClassName.js +0 -14
- package/lib/useGetClassName.js.map +0 -1
- package/login/lib/useGetClassName.d.ts +0 -7
- package/login/lib/useGetClassName.js.map +0 -1
- package/src/lib/isStorybook.ts +0 -3
- package/src/lib/useGetClassName.ts +0 -27
@@ -11,21 +11,22 @@ import { rm } from "../bin/tools/fs.rm";
|
|
11
11
|
import { copyKeycloakResourcesToPublic } from "../bin/shared/copyKeycloakResourcesToPublic";
|
12
12
|
import { assert } from "tsafe/assert";
|
13
13
|
import {
|
14
|
-
|
14
|
+
getBuildContext,
|
15
|
+
type BuildContext,
|
15
16
|
type BuildOptions,
|
16
|
-
type UserProvidedBuildOptions,
|
17
17
|
type ResolvedViteConfig
|
18
|
-
} from "../bin/shared/
|
18
|
+
} from "../bin/shared/buildContext";
|
19
19
|
import MagicString from "magic-string";
|
20
|
+
import { generateKcGenTs } from "../bin/shared/generateKcGenTs";
|
20
21
|
|
21
|
-
export type Params =
|
22
|
-
postBuild?: (
|
22
|
+
export type Params = BuildOptions & {
|
23
|
+
postBuild?: (buildContext: Omit<BuildContext, "bundler">) => Promise<void>;
|
23
24
|
};
|
24
25
|
|
25
26
|
export function keycloakify(params?: Params) {
|
26
|
-
const { postBuild, ...
|
27
|
+
const { postBuild, ...buildOptions } = params ?? {};
|
27
28
|
|
28
|
-
let
|
29
|
+
let projectDirPath: string | undefined = undefined;
|
29
30
|
let urlPathname: string | undefined = undefined;
|
30
31
|
let buildDirPath: string | undefined = undefined;
|
31
32
|
let command: "build" | "serve" | undefined = undefined;
|
@@ -44,16 +45,16 @@ export function keycloakify(params?: Params) {
|
|
44
45
|
break run_post_build_script_case;
|
45
46
|
}
|
46
47
|
|
47
|
-
const
|
48
|
+
const buildContext = JSON.parse(envValue) as BuildContext;
|
48
49
|
|
49
|
-
await postBuild?.(
|
50
|
+
await postBuild?.(buildContext);
|
50
51
|
|
51
52
|
process.exit(0);
|
52
53
|
}
|
53
54
|
|
54
55
|
command = resolvedConfig.command;
|
55
56
|
|
56
|
-
|
57
|
+
projectDirPath = resolvedConfig.root;
|
57
58
|
urlPathname = (() => {
|
58
59
|
let out = resolvedConfig.env.BASE_URL;
|
59
60
|
|
@@ -85,7 +86,7 @@ export function keycloakify(params?: Params) {
|
|
85
86
|
return out;
|
86
87
|
})();
|
87
88
|
|
88
|
-
buildDirPath = pathJoin(
|
89
|
+
buildDirPath = pathJoin(projectDirPath, resolvedConfig.build.outDir);
|
89
90
|
|
90
91
|
resolve_vite_config_case: {
|
91
92
|
const envValue =
|
@@ -101,13 +102,13 @@ export function keycloakify(params?: Params) {
|
|
101
102
|
JSON.stringify(
|
102
103
|
id<ResolvedViteConfig>({
|
103
104
|
publicDir: pathRelative(
|
104
|
-
|
105
|
+
projectDirPath,
|
105
106
|
resolvedConfig.publicDir
|
106
107
|
),
|
107
108
|
assetsDir: resolvedConfig.build.assetsDir,
|
108
109
|
buildDir: resolvedConfig.build.outDir,
|
109
110
|
urlPathname,
|
110
|
-
|
111
|
+
buildOptions
|
111
112
|
})
|
112
113
|
)
|
113
114
|
);
|
@@ -115,13 +116,20 @@ export function keycloakify(params?: Params) {
|
|
115
116
|
process.exit(0);
|
116
117
|
}
|
117
118
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
}
|
123
|
-
})
|
119
|
+
const buildContext = getBuildContext({
|
120
|
+
cliCommandOptions: {
|
121
|
+
projectDirPath
|
122
|
+
}
|
124
123
|
});
|
124
|
+
|
125
|
+
await Promise.all([
|
126
|
+
copyKeycloakResourcesToPublic({
|
127
|
+
buildContext
|
128
|
+
}),
|
129
|
+
generateKcGenTs({
|
130
|
+
buildContext
|
131
|
+
})
|
132
|
+
]);
|
125
133
|
},
|
126
134
|
transform: (code, id) => {
|
127
135
|
assert(command !== undefined);
|
@@ -131,11 +139,11 @@ export function keycloakify(params?: Params) {
|
|
131
139
|
return;
|
132
140
|
}
|
133
141
|
|
134
|
-
assert(
|
142
|
+
assert(projectDirPath !== undefined);
|
135
143
|
|
136
144
|
{
|
137
145
|
const isWithinSourceDirectory = id.startsWith(
|
138
|
-
pathJoin(
|
146
|
+
pathJoin(projectDirPath, "src") + pathSep
|
139
147
|
);
|
140
148
|
|
141
149
|
if (!isWithinSourceDirectory) {
|
package/tools/clsx.d.ts
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
export
|
1
|
+
import { type CxArg as CxArg_generic } from "./clsx_withTransform";
|
2
|
+
export type CxArg = CxArg_generic<string>;
|
3
|
+
export declare function clsx(...args: CxArg[]): string;
|
package/tools/clsx.js
CHANGED
@@ -1,42 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
export
|
4
|
-
|
5
|
-
|
6
|
-
let cls = "";
|
7
|
-
for (; i < len; i++) {
|
8
|
-
const arg = args[i];
|
9
|
-
if (arg == null)
|
10
|
-
continue;
|
11
|
-
let toAdd;
|
12
|
-
switch (typeof arg) {
|
13
|
-
case "boolean":
|
14
|
-
break;
|
15
|
-
case "object": {
|
16
|
-
if (Array.isArray(arg)) {
|
17
|
-
toAdd = clsx(...arg);
|
18
|
-
}
|
19
|
-
else {
|
20
|
-
assert(!typeGuard(arg, false));
|
21
|
-
toAdd = "";
|
22
|
-
for (const k in arg) {
|
23
|
-
if (arg[k] && k) {
|
24
|
-
toAdd && (toAdd += " ");
|
25
|
-
toAdd += k;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
}
|
29
|
-
break;
|
30
|
-
}
|
31
|
-
default: {
|
32
|
-
toAdd = arg;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
if (toAdd) {
|
36
|
-
cls && (cls += " ");
|
37
|
-
cls += toAdd;
|
38
|
-
}
|
39
|
-
}
|
40
|
-
return cls;
|
41
|
-
};
|
1
|
+
import { id } from "tsafe";
|
2
|
+
import { clsx_withTransform } from "./clsx_withTransform";
|
3
|
+
export function clsx(...args) {
|
4
|
+
return clsx_withTransform({ args, transform: id });
|
5
|
+
}
|
42
6
|
//# sourceMappingURL=clsx.js.map
|
package/tools/clsx.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"clsx.js","sourceRoot":"","sources":["../src/tools/clsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"clsx.js","sourceRoot":"","sources":["../src/tools/clsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAA+B,MAAM,sBAAsB,CAAC;AAIvF,MAAM,UAAU,IAAI,CAAC,GAAG,IAAa;IACjC,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export type CxArg<ClassName extends string = string> = undefined | null | ClassName | boolean | Partial<Record<ClassName, boolean | null | undefined>> | readonly CxArg<ClassName>[];
|
2
|
+
export declare function clsx_withTransform(params: {
|
3
|
+
args: CxArg[];
|
4
|
+
transform: (arg: string) => string;
|
5
|
+
}): string;
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { assert } from "tsafe/assert";
|
2
|
+
import { typeGuard } from "tsafe/typeGuard";
|
3
|
+
export function clsx_withTransform(params) {
|
4
|
+
const { args, transform } = params;
|
5
|
+
const len = args.length;
|
6
|
+
let i = 0;
|
7
|
+
let cls = "";
|
8
|
+
for (; i < len; i++) {
|
9
|
+
const arg = args[i];
|
10
|
+
if (arg == null)
|
11
|
+
continue;
|
12
|
+
let toAdd;
|
13
|
+
switch (typeof arg) {
|
14
|
+
case "boolean":
|
15
|
+
break;
|
16
|
+
case "object": {
|
17
|
+
if (Array.isArray(arg)) {
|
18
|
+
toAdd = clsx_withTransform({ args: arg, transform });
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
assert(!typeGuard(arg, false));
|
22
|
+
toAdd = "";
|
23
|
+
for (const k in arg) {
|
24
|
+
if (arg[k] && k) {
|
25
|
+
toAdd && (toAdd += " ");
|
26
|
+
toAdd += transform(k);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
break;
|
31
|
+
}
|
32
|
+
default: {
|
33
|
+
toAdd = transform(arg);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
if (toAdd) {
|
37
|
+
cls && (cls += " ");
|
38
|
+
cls += toAdd;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return cls;
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=clsx_withTransform.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"clsx_withTransform.js","sourceRoot":"","sources":["../src/tools/clsx_withTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAU5C,MAAM,UAAU,kBAAkB,CAAC,MAGlC;IACG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,IAAI,IAAI;YAAE,SAAS;QAE1B,IAAI,KAAK,CAAC;QACV,QAAQ,OAAO,GAAG,EAAE;YAChB,KAAK,SAAS;gBACV,MAAM;YACV,KAAK,QAAQ,CAAC,CAAC;gBACX,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpB,KAAK,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;iBACxD;qBAAM;oBACH,MAAM,CAAC,CAAC,SAAS,CAAqB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;oBAEnD,KAAK,GAAG,EAAE,CAAC;oBACX,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;wBACjB,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BACb,KAAK,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;4BACxB,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;yBACzB;qBACJ;iBACJ;gBACD,MAAM;aACT;YACD,OAAO,CAAC,CAAC;gBACL,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QACD,IAAI,KAAK,EAAE;YACP,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACpB,GAAG,IAAI,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|