@asyarb/twix
Advanced tools
Comparing version 0.1.1 to 0.1.2
declare type Variant = Record<string, string>; | ||
declare type DefaultVariants<TVariants extends Record<string, Variant>> = { | ||
[K in keyof TVariants]?: keyof TVariants[K]; | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]>; | ||
}; | ||
declare type ResolvedVariantKeys<TVariant extends Variant> = Extract<keyof TVariant, "true"> extends never ? keyof TVariant : Exclude<keyof TVariant, "true"> | true | false; | ||
declare type ActiveVariants<TVariants extends Record<string, Variant>, TDefaultVariants extends DefaultVariants<TVariants>> = { | ||
[K in keyof Omit<TVariants, keyof TDefaultVariants>]: keyof TVariants[K]; | ||
[K in keyof Omit<TVariants, keyof TDefaultVariants>]: ResolvedVariantKeys<TVariants[K]>; | ||
} & { | ||
[K in keyof TVariants]?: keyof TVariants[K]; | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]>; | ||
}; | ||
declare type CompoundVariant<TVariants extends Record<string, Variant>> = { | ||
[K in keyof TVariants]?: keyof TVariants[K]; | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]>; | ||
} & { | ||
@@ -13,0 +14,0 @@ className: string; |
{ | ||
"name": "@asyarb/twix", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "Create variant based className strings.", | ||
@@ -38,8 +38,8 @@ "repository": { | ||
"devDependencies": { | ||
"@commitlint/cli": "^13.2.1", | ||
"@commitlint/config-conventional": "^13.2.0", | ||
"@typescript-eslint/eslint-plugin": "^5.2.0", | ||
"@typescript-eslint/parser": "^5.2.0", | ||
"@commitlint/cli": "^14.1.0", | ||
"@commitlint/config-conventional": "^14.1.0", | ||
"@typescript-eslint/eslint-plugin": "^5.3.1", | ||
"@typescript-eslint/parser": "^5.3.1", | ||
"clsx": "*", | ||
"eslint": "^8.1.0", | ||
"eslint": "^8.2.0", | ||
"eslint-plugin-tsdoc": "^0.2.14", | ||
@@ -46,0 +46,0 @@ "husky": "^7.0.4", |
@@ -6,5 +6,14 @@ import clsx from "clsx" | ||
type DefaultVariants<TVariants extends Record<string, Variant>> = { | ||
[K in keyof TVariants]?: keyof TVariants[K] | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]> | ||
} | ||
// Maps special keys like "true" to their native counterparts. | ||
// e.g. "true" -> true | ||
type ResolvedVariantKeys<TVariant extends Variant> = Extract< | ||
keyof TVariant, | ||
"true" | ||
> extends never | ||
? keyof TVariant | ||
: Exclude<keyof TVariant, "true"> | true | false | ||
type ActiveVariants< | ||
@@ -14,9 +23,11 @@ TVariants extends Record<string, Variant>, | ||
> = { | ||
[K in keyof Omit<TVariants, keyof TDefaultVariants>]: keyof TVariants[K] | ||
[K in keyof Omit<TVariants, keyof TDefaultVariants>]: ResolvedVariantKeys< | ||
TVariants[K] | ||
> | ||
} & { | ||
[K in keyof TVariants]?: keyof TVariants[K] | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]> | ||
} | ||
type CompoundVariant<TVariants extends Record<string, Variant>> = { | ||
[K in keyof TVariants]?: keyof TVariants[K] | ||
[K in keyof TVariants]?: ResolvedVariantKeys<TVariants[K]> | ||
} & { | ||
@@ -23,0 +34,0 @@ className: string |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
9504
184