nestable-tailwind-variants 0.4.2 → 0.4.4

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/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { createMergeNtv, mergeNtv, mergeNtvWithOptions } from './merge.js';
2
2
  export { createNtv, ntv } from './ntv.js';
3
- export type { AnyStyleFunction, ClassProp, ClassValue, MergeStyleFunctionProps, NtvOptions, Props, PropValue, Scheme, StyleFunction, TwMergeConfig, } from './types.js';
3
+ export type { AnyStyleFunction, ClassProp, ClassValue, MergeStyleFunctionProps, NtvOptions, Props, Scheme, StyleFunction, TwMergeConfig, ValidateProps, } from './types.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,KAAK,EACL,SAAS,EACT,MAAM,EACN,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EACvE,GAAG,QAAQ,EAAE,CAAC,GACb,CAAC,OAAO,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAoBrE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EAC5D,GAAG,QAAQ,EAAE,CAAC,GACb,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAE3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,cAAc,CAAC,EAAE,UAAU,GAC1B,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EACvC,GAAG,QAAQ,EAAE,CAAC,KACX,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAQ7C"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,uBAAuB,EACvB,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EACvE,GAAG,QAAQ,EAAE,CAAC,GACb,CAAC,OAAO,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAmBrE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EAC5D,GAAG,QAAQ,EAAE,CAAC,GACb,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAE3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,cAAc,CAAC,EAAE,UAAU,GAC1B,CAAC,CAAC,SAAS,SAAS,gBAAgB,EAAE,EACvC,GAAG,QAAQ,EAAE,CAAC,KACX,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAQ7C"}
package/dist/merge.js CHANGED
@@ -13,15 +13,17 @@ import { getCachedTwMerge } from './cache.js';
13
13
  * ```
14
14
  */
15
15
  export function mergeNtvWithOptions(...styleFns) {
16
- return function withOptions({ twMerge: usesTwMerge = true, twMergeConfig, } = {}) {
16
+ return function withOptions(options = {}) {
17
+ // Determine the class merging strategy
18
+ const { twMerge: usesTwMerge = true, twMergeConfig } = options;
17
19
  const mergeClassNames = usesTwMerge
18
20
  ? twMergeConfig
19
21
  ? getCachedTwMerge(twMergeConfig)
20
22
  : twMerge
21
23
  : twJoin;
22
24
  return function styleFunction({ class: slotClass, className: slotClassName, ...props } = {}) {
23
- const styleResults = styleFns.map((fn) => fn(props));
24
- return mergeClassNames(...styleResults, slotClass, slotClassName);
25
+ const resolvedClasses = styleFns.map((fn) => fn(props));
26
+ return mergeClassNames(...resolvedClasses, slotClass, slotClassName);
25
27
  };
26
28
  };
27
29
  }
@@ -71,7 +73,7 @@ export function mergeNtv(...styleFns) {
71
73
  * ```
72
74
  */
73
75
  export function createMergeNtv(defaultOptions) {
74
- return function preconfiguredMergeNtv(...styleFns) {
76
+ return function mergeNtvWithDefaults(...styleFns) {
75
77
  return mergeNtvWithOptions(...styleFns)(defaultOptions);
76
78
  };
77
79
  }
package/dist/merge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAQjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAG,QAAW;IAEd,OAAO,SAAS,WAAW,CAAC,EAC1B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,aAAa,MACC,EAAE;QAChB,MAAM,eAAe,GAAG,WAAW;YACjC,CAAC,CAAC,aAAa;gBACb,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBACjC,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,SAAS,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,GAAG,KAAK,KAC+B,EAAE;YACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAY,CAAC,CAAC,CAAC;YAC5D,OAAO,eAAe,CAAC,GAAG,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACpE,CAAyD,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,QAAQ,CACtB,GAAG,QAAW;IAEd,OAAO,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAA0D,CAAC;AACpG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAC5B,cAA2B;IAI3B,OAAO,SAAS,qBAAqB,CACnC,GAAG,QAAW;QAEd,OAAO,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,cAAc,CAErD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAQjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAG,QAAW;IAEd,OAAO,SAAS,WAAW,CAAC,UAAsB,EAAE;QAClD,uCAAuC;QACvC,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAC/D,MAAM,eAAe,GAAG,WAAW;YACjC,CAAC,CAAC,aAAa;gBACb,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBACjC,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,SAAS,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,GAAG,KAAK,KAC+B,EAAE;YACzC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAY,CAAC,CAAC,CAAC;YAC/D,OAAO,eAAe,CAAC,GAAG,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACvE,CAAyD,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,QAAQ,CACtB,GAAG,QAAW;IAEd,OAAO,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAA0D,CAAC;AACpG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAC5B,cAA2B;IAI3B,OAAO,SAAS,oBAAoB,CAClC,GAAG,QAAW;QAEd,OAAO,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,cAAc,CAErD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
package/dist/ntv.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { NtvOptions, Props, Scheme, StyleFunction } from './types.js';
1
+ import type { NtvOptions, Props, Scheme, StyleFunction, ValidateProps } from './types.js';
2
2
  /**
3
3
  * Create a nestable tailwind variants style function.
4
4
  *
@@ -23,7 +23,7 @@ import type { NtvOptions, Props, Scheme, StyleFunction } from './types.js';
23
23
  * button({ variant: 'primary', isDisabled: true }); // 'px-4 py-2 rounded bg-blue-500 text-white opacity-50 cursor-not-allowed'
24
24
  * ```
25
25
  */
26
- export declare function ntv<TProps extends Props>(scheme: Scheme<TProps>, options?: NtvOptions): StyleFunction<TProps>;
26
+ export declare function ntv<TProps extends Props>(scheme: ValidateProps<TProps> extends TProps ? Scheme<TProps> : ValidateProps<TProps>, options?: NtvOptions): StyleFunction<TProps>;
27
27
  export declare function ntv(scheme: Scheme & Record<string, unknown>, options?: NtvOptions): StyleFunction<any>;
28
28
  /**
29
29
  * Create a pre-configured ntv function with fixed options.
@@ -53,7 +53,7 @@ export declare function ntv(scheme: Scheme & Record<string, unknown>, options?:
53
53
  * ```
54
54
  */
55
55
  export declare function createNtv(defaultOptions?: NtvOptions): {
56
- <TProps extends Props>(scheme: Scheme<TProps>): StyleFunction<TProps>;
56
+ <TProps extends Props>(scheme: ValidateProps<TProps> extends TProps ? Scheme<TProps> : ValidateProps<TProps>): StyleFunction<TProps>;
57
57
  (scheme: Scheme & Record<string, unknown>): StyleFunction<any>;
58
58
  };
59
59
  //# sourceMappingURL=ntv.d.ts.map
package/dist/ntv.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ntv.d.ts","sourceRoot":"","sources":["../src/ntv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA6DlG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,GAAG,CAAC,MAAM,SAAS,KAAK,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACtB,OAAO,CAAC,EAAE,UAAU,GACnB,aAAa,CAAC,MAAM,CAAC,CAAC;AACzB,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,OAAO,CAAC,EAAE,UAAU,GACnB,aAAa,CAAC,GAAG,CAAC,CAAC;AA6BtB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG;IACtD,CAAC,MAAM,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;CAChE,CAIA"}
1
+ {"version":3,"file":"ntv.d.ts","sourceRoot":"","sources":["../src/ntv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,UAAU,EACV,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAoEpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,GAAG,CAAC,MAAM,SAAS,KAAK,EACtC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EACrF,OAAO,CAAC,EAAE,UAAU,GACnB,aAAa,CAAC,MAAM,CAAC,CAAC;AACzB,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,OAAO,CAAC,EAAE,UAAU,GACnB,aAAa,CAAC,GAAG,CAAC,CAAC;AA4BtB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG;IACtD,CAAC,MAAM,SAAS,KAAK,EACnB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GACpF,aAAa,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;CAChE,CAIA"}
package/dist/ntv.js CHANGED
@@ -11,44 +11,54 @@ function isPlainObject(value) {
11
11
  * - Variant matches do NOT suppress $default at their level
12
12
  * - Nested levels evaluate their own $default independently
13
13
  */
14
- function resolveConditions({ $base, $default, ...conditions }, props) {
14
+ function resolveConditions(scheme, props) {
15
+ const { $base, $default, ...conditions } = scheme;
15
16
  const classes = [];
16
- let hasMatchedCondition = false;
17
+ let hasMatchedBooleanCondition = false;
17
18
  function toClassValues(value) {
18
- return isPlainObject(value) ? resolveConditions(value, props) : [value];
19
+ if (isPlainObject(value)) {
20
+ return resolveConditions(value, props);
21
+ }
22
+ return [value];
19
23
  }
20
24
  for (const [key, value] of Object.entries(conditions)) {
21
25
  const propValue = props[key];
26
+ // Validate reserved values
22
27
  if (propValue === '$default') {
23
28
  throw new Error(`"$default" is reserved for defining fallback styles and cannot be used as a value for "${key}".`);
24
29
  }
25
- // Boolean conditions (isXxx or allowsXxx)
26
- if (/^is[A-Z]/.test(key) || /^allows[A-Z]/.test(key)) {
30
+ // Handle boolean conditions (isXxx or allowsXxx patterns)
31
+ if (/^(is|allows)[A-Z]/.test(key)) {
27
32
  if (propValue) {
28
- hasMatchedCondition = true;
33
+ hasMatchedBooleanCondition = true;
29
34
  classes.push(...toClassValues(value));
30
35
  }
31
36
  continue;
32
37
  }
33
- // Variant conditions (nested objects)
38
+ // Handle variant conditions (nested objects with variant mapping)
34
39
  if (isPlainObject(value)) {
35
- const variantKey = typeof propValue === 'string' && propValue in value ? propValue : '$default';
36
- classes.push(...toClassValues(value[variantKey]));
40
+ const selectedVariant = typeof propValue === 'string' && propValue in value ? propValue : '$default';
41
+ classes.push(...toClassValues(value[selectedVariant]));
37
42
  }
38
43
  }
39
- if (!hasMatchedCondition) {
44
+ // Apply $default if no boolean conditions matched
45
+ if (!hasMatchedBooleanCondition) {
40
46
  classes.unshift($default);
41
47
  }
48
+ // Always apply $base first
42
49
  classes.unshift($base);
43
50
  return classes;
44
51
  }
45
- export function ntv(scheme, { twMerge: usesTwMerge = true, twMergeConfig } = {}) {
52
+ export function ntv(scheme, options = {}) {
53
+ // Validate that reserved properties are not used
46
54
  if ('class' in scheme) {
47
55
  throw new Error('The "class" property is not allowed in ntv scheme. Use "$base" instead.');
48
56
  }
49
57
  if ('className' in scheme) {
50
58
  throw new Error('The "className" property is not allowed in ntv scheme. Use "$base" instead.');
51
59
  }
60
+ // Determine the class merging strategy
61
+ const { twMerge: usesTwMerge = true, twMergeConfig } = options;
52
62
  const mergeClassNames = usesTwMerge
53
63
  ? twMergeConfig
54
64
  ? getCachedTwMerge(twMergeConfig)
@@ -87,7 +97,7 @@ export function ntv(scheme, { twMerge: usesTwMerge = true, twMergeConfig } = {})
87
97
  * ```
88
98
  */
89
99
  export function createNtv(defaultOptions) {
90
- return function preconfiguredNtv(scheme) {
100
+ return function ntvWithDefaults(scheme) {
91
101
  return ntv(scheme, defaultOptions);
92
102
  };
93
103
  }
package/dist/ntv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ntv.js","sourceRoot":"","sources":["../src/ntv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntv.js","sourceRoot":"","sources":["../src/ntv.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { ClassNameValue as ClassValue, extendTailwindMerge } from 'tailwind-merge';
2
2
  export type { ClassValue };
3
- export type PropValue = boolean | string;
4
- export type Props = Record<string, PropValue | undefined>;
3
+ export type Props = Record<string, any>;
5
4
  export type ClassProp = {
6
5
  class?: ClassValue;
7
6
  className?: never;
@@ -13,12 +12,27 @@ type Flatten<T> = {
13
12
  [K in keyof T]: T[K];
14
13
  };
15
14
  type RequiredKeys<T> = {
16
- [K in keyof T]-?: {} extends Pick<T, K> ? never : K;
15
+ [K in keyof T]-?: undefined extends T[K] ? never : K;
17
16
  }[keyof T];
18
17
  type OptionalKeys<T> = Exclude<keyof T, RequiredKeys<T>>;
19
18
  type KeysOfUnion<T> = T extends unknown ? keyof T : never;
19
+ /**
20
+ * Checks if a key is required in at least one member of a union type.
21
+ * Returns `true` if the key is required in any member, `never` otherwise.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * // Usage: `true extends IsRequiredInAny<T, K> ? ... : ...`
26
+ * // When K is required in any union member, the result includes `true`,
27
+ * // so `true extends (true | never)` evaluates to true.
28
+ * ```
29
+ */
20
30
  type IsRequiredInAny<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? K extends RequiredKeys<T> ? true : never : never : never;
21
31
  type ValueFromUnion<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? Exclude<T[K], undefined> : never : never;
32
+ type InvalidPropKey<T> = {
33
+ [K in keyof T]: NonNullable<T[K]> extends boolean | string ? never : K;
34
+ }[keyof T];
35
+ export type ValidateProps<T, TInvalidKey = InvalidPropKey<T>> = [TInvalidKey] extends [never] ? T : `Error: Property '${TInvalidKey & string}' must be boolean or string`;
22
36
  type NestedScheme<TProps extends Props = {}> = {
23
37
  $base?: ClassValue;
24
38
  $default?: ClassValue | NestedScheme<TProps>;
@@ -48,15 +62,7 @@ type NormalizeProps<T, TOriginal = T> = T extends unknown ? Flatten<{
48
62
  } & {
49
63
  [K in Exclude<KeysOfUnion<TOriginal>, keyof T>]?: never;
50
64
  }> : never;
51
- /**
52
- * Checks if a props type has at least one required key.
53
- */
54
65
  type HasRequiredKey<T> = true extends IsRequiredInAny<T, KeysOfUnion<T>> ? true : false;
55
- /**
56
- * Function signature for style functions.
57
- * If the props have no required keys, the props parameter is optional.
58
- * Otherwise, the props parameter is required.
59
- */
60
66
  type StyleFunctionSignature<TProps> = HasRequiredKey<TProps> extends false ? (props?: NormalizeProps<TProps> & ClassProp) => string : (props: NormalizeProps<TProps> & ClassProp) => string;
61
67
  /**
62
68
  * A style function that generates class names based on props.
@@ -80,23 +86,14 @@ type MergeProps<T> = Flatten<{
80
86
  }>;
81
87
  /**
82
88
  * Applies MergeProps distributively across all combinations of two union types.
83
- * This ensures that each combination of union members is properly merged.
84
- *
85
89
  * Example: MergeTwoUnions<A | B, C | D> = MergeProps<A | C> | MergeProps<A | D> | MergeProps<B | C> | MergeProps<B | D>
86
90
  */
87
91
  type MergeTwoUnions<TFirst, TSecond> = TFirst extends unknown ? TSecond extends unknown ? MergeProps<TFirst | TSecond> : never : never;
88
92
  /**
89
93
  * Recursively merges a tuple of props types, applying distributive merge at each step.
90
- * This handles complex cases where multiple style functions with union types are merged.
91
- *
92
- * Example: MergeAllProps<[A | B, C, D | E]> produces all combinations:
93
- * MergeProps<A | C | D> | MergeProps<A | C | E> | MergeProps<B | C | D> | MergeProps<B | C | E>
94
+ * Example: MergeAllProps<[A | B, C, D | E]> produces all combinations.
94
95
  */
95
96
  type MergeAllProps<TTuple extends readonly unknown[]> = TTuple extends readonly [] ? unknown : TTuple extends readonly [infer TOnly] ? TOnly : TTuple extends readonly [infer TFirst, infer TSecond, ...infer TRest] ? MergeAllProps<[MergeTwoUnions<TFirst, TSecond>, ...TRest]> : unknown;
96
- /**
97
- * Extracts the props type from a style function.
98
- * Style functions store their props type in the __ntvProps property.
99
- */
100
97
  type ExtractStyleFunctionProps<T> = T extends {
101
98
  readonly __ntvProps?: infer P;
102
99
  } ? NonNullable<P> : never;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestable-tailwind-variants",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Tailwind CSS variant library with nestable conditions for compound styling instead of flat compoundVariants.",
5
5
  "homepage": "https://github.com/yuheiy/nestable-tailwind-variants#readme",
6
6
  "bugs": {
@@ -47,8 +47,7 @@
47
47
  }
48
48
  },
49
49
  "scripts": {
50
- "build": "tsc -p tsconfig.build.json",
51
- "clean": "git clean -fx dist/",
50
+ "build": "git clean -fx dist/ && tsc -p tsconfig.build.json",
52
51
  "format": "oxfmt",
53
52
  "format:check": "oxfmt --check",
54
53
  "knip": "knip",