@animus-ui/system 0.1.0-next.17 → 0.1.0-next.21
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/Animus.d.ts +1 -0
- package/dist/Animus.d.ts.map +1 -1
- package/dist/AnimusExtended.d.ts +1 -0
- package/dist/AnimusExtended.d.ts.map +1 -1
- package/dist/compose.d.ts +21 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/groups/index.d.ts +13 -1
- package/dist/groups/index.d.ts.map +1 -1
- package/dist/groups/index.js +24 -12
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +257 -117
- package/dist/runtime/createClassResolver.d.ts +10 -0
- package/dist/runtime/createClassResolver.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +2 -23
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/resolveClasses.d.ts +58 -0
- package/dist/runtime/resolveClasses.d.ts.map +1 -0
- package/dist/theme/createTheme.d.ts +37 -36
- package/dist/theme/createTheme.d.ts.map +1 -1
- package/dist/types/component.d.ts +102 -1
- package/dist/types/component.d.ts.map +1 -1
- package/dist/types/config.d.ts +12 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/properties.d.ts +1 -2
- package/dist/types/properties.d.ts.map +1 -1
- package/dist/types/theme.d.ts +29 -0
- package/dist/types/theme.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,61 +2,62 @@ import { AbstractTheme, CSSColorValue } from '../types/theme';
|
|
|
2
2
|
import { LiteralPaths } from './flattenScale';
|
|
3
3
|
import { KeyAsVariable } from './serializeTokens';
|
|
4
4
|
import { ColorModeConfig, Merge, MergeTheme, PrivateThemeKeys } from './types';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Validate token refs in scale values at the type level.
|
|
7
|
+
* Accepts `{scale.key}` for any emitted scale, plus `{colors.key/${number}}` opacity syntax.
|
|
8
|
+
*/
|
|
9
|
+
type ValidateScaleRef<V, ValidPaths extends string> = V extends string ? V extends `${string}{${infer Path}}${string}` ? Path extends ValidPaths ? V : Path extends `${infer Base}/${number}` ? Base extends ValidPaths & `colors.${string}` ? V : `{${Path}} is not a valid token ref` : `{${Path}} is not a valid token ref` : V : V;
|
|
10
|
+
/** Walk a values record and validate each value's token refs. */
|
|
11
|
+
type ValidateScaleValues<V extends Record<string | number, unknown>, ValidPaths extends string> = {
|
|
12
|
+
[K in keyof V]: V[K] extends Record<string, unknown> ? ValidateScaleValues<V[K], ValidPaths> : ValidateScaleRef<V[K], ValidPaths>;
|
|
13
|
+
};
|
|
14
|
+
export declare class ThemeBuilder<T extends AbstractTheme, Emitted extends string = never> {
|
|
6
15
|
#private;
|
|
7
16
|
constructor(baseTheme: T);
|
|
8
17
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param key A key of the current theme to transform into CSS Variables and Variable References
|
|
11
|
-
* @example .createScaleVariables('fontSize')
|
|
12
|
-
*/
|
|
13
|
-
createScaleVariables<Key extends keyof Omit<T, 'breakpoints'> & string>(key: Key): ThemeBuilder<MergeTheme<T, PrivateThemeKeys, Record<Key, Record<Key, KeyAsVariable<T[Key], Key>>>>>;
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @param colors A map of color tokens to add to the theme. These tokens are immediately converted to CSS Variables `--color-${key}`.
|
|
18
|
+
* @param colors A map of color tokens. Immediately converted to CSS variables `--color-${key}`.
|
|
17
19
|
* @example .addColors({ navy: 'navy', hyper: 'purple' })
|
|
18
20
|
*/
|
|
19
|
-
addColors<Colors extends Record<string, CSSColorValue | Record<string, CSSColorValue>>, NextColors extends LiteralPaths<Colors, '-'>>(colors: Colors): ThemeBuilder<MergeTheme<T & PrivateThemeKeys, Record<
|
|
21
|
+
addColors<Colors extends Record<string, CSSColorValue | Record<string, CSSColorValue>>, NextColors extends LiteralPaths<Colors, '-'>>(colors: Colors): ThemeBuilder<MergeTheme<T & PrivateThemeKeys, Record<"colors", KeyAsVariable<NextColors, "color">>>, "colors" | Emitted>;
|
|
20
22
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @param
|
|
23
|
-
* @
|
|
24
|
-
* @example .addColorModes('light', { light: { primary: 'hyper' }, { dark: { primary: 'navy' } } })
|
|
23
|
+
* @param initialMode Default color mode key.
|
|
24
|
+
* @param modeConfig Map of color modes with semantic aliases pointing to palette keys.
|
|
25
|
+
* @example .addColorModes('dark', { dark: { primary: 'ember' }, light: { primary: 'void' } })
|
|
25
26
|
*/
|
|
26
27
|
addColorModes<Modes extends string, InitialMode extends keyof Config, Colors extends keyof T['colors'], ModeColors extends ColorModeConfig<Colors>, Config extends Record<Modes, ModeColors>, ColorAliases extends {
|
|
27
28
|
[K in keyof Config]: LiteralPaths<Config[K], '-', '_'>;
|
|
28
29
|
}>(initialMode: InitialMode, modeConfig: Config): ThemeBuilder<MergeTheme<T & PrivateThemeKeys, {
|
|
29
|
-
colors: KeyAsVariable<LiteralPaths<Config[keyof Config],
|
|
30
|
-
modes: Merge<T[
|
|
30
|
+
colors: KeyAsVariable<LiteralPaths<Config[keyof Config], "-", "_">, "colors"> & T["colors"];
|
|
31
|
+
modes: Merge<T["modes"], ColorAliases>;
|
|
31
32
|
mode: keyof Config;
|
|
32
|
-
_getColorValue: (color: keyof T[
|
|
33
|
-
}
|
|
33
|
+
_getColorValue: (color: keyof T["colors"]) => string;
|
|
34
|
+
}>, Emitted>;
|
|
34
35
|
/**
|
|
36
|
+
* Add a named scale to the theme.
|
|
35
37
|
*
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @
|
|
39
|
-
*/
|
|
40
|
-
addScale<Key extends string, Fn extends (theme: T) => Record<string | number, string | number | Record<string, string | number>>, NewScale extends LiteralPaths<ReturnType<Fn>, '-'>>(key: Key, createScale: Fn): ThemeBuilder<{
|
|
41
|
-
[K in keyof MergeTheme<T, Record<Key, NewScale>>]: MergeTheme<T, Record<Key, NewScale>>[K];
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
38
|
+
* @param config.name - Scale name (e.g. 'space', 'sizes')
|
|
39
|
+
* @param config.values - Scale value map
|
|
40
|
+
* @param config.emit - When true, generates CSS variables (default: false)
|
|
44
41
|
*
|
|
45
|
-
* @
|
|
46
|
-
*
|
|
47
|
-
*
|
|
42
|
+
* @example
|
|
43
|
+
* .addScale({ name: 'space', values: { 0: '0', 8: '0.5rem', 16: '1rem' } })
|
|
44
|
+
* .addScale({ name: 'sizes', emit: true, values: { navHeight: '48px' } })
|
|
48
45
|
*/
|
|
49
|
-
|
|
46
|
+
addScale<Key extends string, const Values extends Record<string | number, string | number | Record<string, string | number>>, Emit extends boolean = false, NewScale extends LiteralPaths<Values, '-'> = LiteralPaths<Values, '-'>, ValidPaths extends string = keyof LiteralPaths<Pick<T, Extract<Emitted | 'colors', keyof T>>, '.'> & string>(config: {
|
|
47
|
+
name: Key;
|
|
48
|
+
values: Values & ValidateScaleValues<Values, ValidPaths>;
|
|
49
|
+
emit?: Emit;
|
|
50
|
+
}): ThemeBuilder<{ [K in keyof MergeTheme<T, Record<Key, Emit extends true ? KeyAsVariable<NewScale, Key> : NewScale>>]: MergeTheme<T, Record<Key, Emit extends true ? KeyAsVariable<NewScale, Key> : NewScale>>[K]; }, Emit extends true ? Emitted | Key : Emitted>;
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* The returned theme object also has a non-enumerable `.manifest` property containing
|
|
55
|
-
* a structured ThemeManifest for plugin consumption.
|
|
52
|
+
* @param key A current key of theme to update with computed values.
|
|
53
|
+
* @example .updateScale('fonts', ({ basic }) => ({ basicFallback: `${basic}, Montserrat` }))
|
|
56
54
|
*/
|
|
55
|
+
updateScale<Key extends keyof T, Fn extends (tokens: T[Key]) => Record<string | number, unknown>>(key: Key, updateFn: Fn): ThemeBuilder<T & Record<Key, T[Key] & ReturnType<Fn>>, Emitted>;
|
|
56
|
+
/** Finalize the theme build. Returns the theme with a non-enumerable `.manifest` property. */
|
|
57
57
|
build(): {
|
|
58
58
|
[K in keyof (T & PrivateThemeKeys)]: (T & PrivateThemeKeys)[K];
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
export declare function createTheme<T extends AbstractTheme>(base: T): ThemeBuilder<T>;
|
|
61
|
+
export declare function createTheme<T extends AbstractTheme>(base: T): ThemeBuilder<T, never>;
|
|
62
|
+
export {};
|
|
62
63
|
//# sourceMappingURL=createTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTheme.d.ts","sourceRoot":"","sources":["../../src/theme/createTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAgP/E,
|
|
1
|
+
{"version":3,"file":"createTheme.d.ts","sourceRoot":"","sources":["../../src/theme/createTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,18 @@ type VariantProps<V> = string extends keyof V ? {} : {
|
|
|
40
40
|
type StateProps<S> = string extends keyof S ? {} : {
|
|
41
41
|
[K in keyof S]?: boolean;
|
|
42
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Union of all prop keys that Animus manages. These override HTML attributes
|
|
45
|
+
* of the same name — the type-level equivalent of shouldForwardProp / isPropValid.
|
|
46
|
+
* The runtime (filterProps in createComponent) already strips these before
|
|
47
|
+
* forwarding to the DOM element; this ensures the types match.
|
|
48
|
+
*
|
|
49
|
+
* Computed from each source individually (not keyof an intersection) to
|
|
50
|
+
* avoid TS2590 "union type too complex" during declaration emit.
|
|
51
|
+
*/
|
|
52
|
+
type AnimusManagedKeys<PR extends Record<string, Prop>, GR extends Record<string, (keyof PR)[]>, V, S, AG, CP extends Record<string, Prop>> = ActiveGroupPropNames<PR, GR, AG> | keyof VariantProps<V> | keyof StateProps<S> | keyof CP | 'as' | 'className' | 'children';
|
|
43
53
|
/** Component type for .asElement() — HTML element tag with full Animus props. */
|
|
44
|
-
export type AnimusComponent<El extends keyof JSX.IntrinsicElements, PR extends Record<string, Prop>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP extends Record<string, Prop>> = ForwardRefExoticComponent<ComponentPropsWithRef<El
|
|
54
|
+
export type AnimusComponent<El extends keyof JSX.IntrinsicElements, PR extends Record<string, Prop>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP extends Record<string, Prop>> = ForwardRefExoticComponent<Omit<ComponentPropsWithRef<El>, AnimusManagedKeys<PR, GR, V, S, AG, CP>> & GroupProps<PR, GR, AG> & VariantProps<V> & StateProps<S> & CustomPropValues<CP> & {
|
|
45
55
|
as?: keyof JSX.IntrinsicElements | ComponentType<{
|
|
46
56
|
className?: string;
|
|
47
57
|
}>;
|
|
@@ -56,5 +66,96 @@ export type AnimusWrappedComponent<PR extends Record<string, Prop>, GR extends R
|
|
|
56
66
|
className?: string;
|
|
57
67
|
children?: ReactNode;
|
|
58
68
|
}> & ExtendFn<PR, GR, BS, V, S, AG, CP>;
|
|
69
|
+
/**
|
|
70
|
+
* Strip string index signatures from a type, keeping only
|
|
71
|
+
* explicitly-declared keys. Needed because ExtendFn widens V
|
|
72
|
+
* with `& Record<string, VariantConfig>`.
|
|
73
|
+
*/
|
|
74
|
+
type StripStringIndex<T> = {
|
|
75
|
+
[K in keyof T as string extends K ? never : K]: T[K];
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Extract the raw variant config (V generic) from an AnimusComponent.
|
|
79
|
+
* Routes through extend()'s return type → .variants field, then
|
|
80
|
+
* strips the string index signature added by ExtendFn's intersection.
|
|
81
|
+
*/
|
|
82
|
+
export type ExtractVariantsConfig<C> = C extends {
|
|
83
|
+
extend: () => {
|
|
84
|
+
variants: infer V;
|
|
85
|
+
};
|
|
86
|
+
} ? StripStringIndex<V> : {};
|
|
87
|
+
/**
|
|
88
|
+
* Extract consumer-facing variant props from an AnimusComponent.
|
|
89
|
+
* Returns { size?: 'sm' | 'lg', variant?: 'fill' | 'ghost', ... }
|
|
90
|
+
*/
|
|
91
|
+
export type VariantPropsOf<C> = VariantProps<ExtractVariantsConfig<C>>;
|
|
92
|
+
/**
|
|
93
|
+
* Union of all variant prop keys across all slots.
|
|
94
|
+
*/
|
|
95
|
+
type AllVariantKeys<Slots extends Record<string, unknown>> = keyof VariantPropsOf<Slots[keyof Slots]>;
|
|
96
|
+
/**
|
|
97
|
+
* Extract the Root slot component from a Slots record.
|
|
98
|
+
* Convention: the key 'root' or 'Root' (case-insensitive match).
|
|
99
|
+
*/
|
|
100
|
+
type RootSlot<Slots extends Record<string, unknown>> = {
|
|
101
|
+
[K in keyof Slots]: Lowercase<K & string> extends 'root' ? Slots[K] : never;
|
|
102
|
+
}[keyof Slots];
|
|
103
|
+
/**
|
|
104
|
+
* Variant keys that exist on the Root slot.
|
|
105
|
+
* Only Root variant keys are valid as shared keys — Root is the
|
|
106
|
+
* provider and must accept the prop to pass it through context.
|
|
107
|
+
*/
|
|
108
|
+
type RootVariantKeys<Slots extends Record<string, unknown>> = keyof VariantPropsOf<RootSlot<Slots>> & string;
|
|
109
|
+
/**
|
|
110
|
+
* Configuration object for shared variant propagation.
|
|
111
|
+
* Keys are variant names from Root. Value is `true` to share.
|
|
112
|
+
* Non-Root slots that have matching variant keys receive the
|
|
113
|
+
* value from context. Slots without the key are unaffected.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* compose(slots, { shared: { density: true, intent: true } })
|
|
117
|
+
*/
|
|
118
|
+
export type SharedConfig<Slots extends Record<string, unknown>> = {
|
|
119
|
+
[K in RootVariantKeys<Slots>]?: true;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* @deprecated Use SharedConfig instead. SharedVariantKeys required
|
|
123
|
+
* every shared key to exist on ALL slots. SharedConfig only requires
|
|
124
|
+
* the key to exist on Root.
|
|
125
|
+
*/
|
|
126
|
+
export type SharedVariantKeys<Slots extends Record<string, unknown>> = {
|
|
127
|
+
[K in AllVariantKeys<Slots> & string]: keyof Slots extends infer S ? S extends keyof Slots ? K extends keyof VariantPropsOf<Slots[S]> ? true : false : never : never extends false ? never : K;
|
|
128
|
+
}[AllVariantKeys<Slots> & string];
|
|
129
|
+
/**
|
|
130
|
+
* Extract the component props from a ForwardRefExoticComponent,
|
|
131
|
+
* including AnimusComponent (which extends it).
|
|
132
|
+
*/
|
|
133
|
+
type PropsOf<C> = C extends ForwardRefExoticComponent<infer P> ? P : never;
|
|
134
|
+
/**
|
|
135
|
+
* Sealed child slot — accepts source component's own props.
|
|
136
|
+
* Shared variant values come from context as defaults;
|
|
137
|
+
* direct props override context. Slots that don't have a
|
|
138
|
+
* shared variant key simply ignore it.
|
|
139
|
+
*/
|
|
140
|
+
export type ComposedSlot<C> = ForwardRefExoticComponent<Omit<PropsOf<C>, 'extend'> & {
|
|
141
|
+
className?: string;
|
|
142
|
+
children?: ReactNode;
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Sealed Root slot — KEEPS shared variant props (it's the provider).
|
|
146
|
+
* Also accepts children for the Provider wrapper.
|
|
147
|
+
*/
|
|
148
|
+
export type ComposedRoot<C> = ForwardRefExoticComponent<Omit<PropsOf<C>, 'extend'> & {
|
|
149
|
+
className?: string;
|
|
150
|
+
children?: ReactNode;
|
|
151
|
+
}>;
|
|
152
|
+
/**
|
|
153
|
+
* The output of compose() — a record of capitalized slot names mapped
|
|
154
|
+
* to sealed React components. Root gets ComposedRoot (keeps shared props),
|
|
155
|
+
* all other slots get ComposedSlot (own props, context defaults).
|
|
156
|
+
*/
|
|
157
|
+
export type ComposedFamily<Slots extends Record<string, unknown>> = {
|
|
158
|
+
[K in keyof Slots as Capitalize<K & string>]: Lowercase<K & string> extends 'root' ? ComposedRoot<Slots[K]> : ComposedSlot<Slots[K]>;
|
|
159
|
+
};
|
|
59
160
|
export {};
|
|
60
161
|
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/types/component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/types/component.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface BaseProperty {
|
|
|
11
11
|
export interface Prop extends BaseProperty {
|
|
12
12
|
scale?: string | MapScale | ArrayScale;
|
|
13
13
|
variable?: string;
|
|
14
|
+
negative?: boolean;
|
|
14
15
|
transform?: (val: string | number, prop?: string, props?: AbstractProps) => string | number | CSSObject;
|
|
15
16
|
}
|
|
16
17
|
export interface AbstractParser {
|
|
@@ -19,6 +20,12 @@ export interface AbstractParser {
|
|
|
19
20
|
config: Record<string, Prop>;
|
|
20
21
|
}
|
|
21
22
|
type IsEmpty<T> = [] extends T ? true : false | {} extends T ? true : false;
|
|
23
|
+
/**
|
|
24
|
+
* Negate numeric literal types.
|
|
25
|
+
* `NegateKeys<4 | 8 | 16>` → `-4 | -8 | -16`
|
|
26
|
+
* Excludes 0 (negative zero is meaningless).
|
|
27
|
+
*/
|
|
28
|
+
type NegateKeys<T> = T extends number ? T extends 0 ? never : `-${T}` extends `${infer N extends number}` ? N : never : never;
|
|
22
29
|
export type PropertyValues<Property extends Prop, IncludeGlobals = false> = Exclude<PropertyTypes<IncludeGlobals extends true ? (string & {}) | 0 : never>[Property['property']], IncludeGlobals extends true ? never : object | any[]>;
|
|
23
30
|
/**
|
|
24
31
|
* Resolve scale values from T directly. No CompatTheme fallback.
|
|
@@ -29,7 +36,8 @@ export type PropertyValues<Property extends Prop, IncludeGlobals = false> = Excl
|
|
|
29
36
|
* 3. If scale is an inline ArrayScale → scale[number]
|
|
30
37
|
* 4. Otherwise → raw CSS property values
|
|
31
38
|
*/
|
|
32
|
-
|
|
39
|
+
type NegativeOf<Config extends Prop, Keys> = Config['negative'] extends true ? NegateKeys<Extract<Keys, number>> : never;
|
|
40
|
+
export type ScaleValue<Config extends Prop, T extends BaseTheme> = Config['scale'] extends keyof TokenScales<T> ? keyof TokenScales<T>[Config['scale']] | NegativeOf<Config, keyof TokenScales<T>[Config['scale']]> | PropertyValues<Config, IsEmpty<TokenScales<T>[Config['scale']]>> : Config['scale'] extends MapScale ? keyof Config['scale'] | NegativeOf<Config, keyof Config['scale']> | PropertyValues<Config, IsEmpty<Config['scale']>> : Config['scale'] extends ArrayScale ? Config['scale'][number] | PropertyValues<Config, IsEmpty<Config['scale']>> : PropertyValues<Config, true>;
|
|
33
41
|
export type Scale<Config extends Prop, T extends BaseTheme> = ResponsiveProp<ScaleValue<Config, T>>;
|
|
34
42
|
export type ParserProps<Config extends Record<string, Prop>, T extends BaseTheme> = ThemeProps<{
|
|
35
43
|
[P in keyof Config]?: Scale<Config[P], T>;
|
|
@@ -47,7 +55,9 @@ export type SystemProps<P extends AbstractParser, SafeProps = Omit<Arg<P>, 'them
|
|
|
47
55
|
* instead of a generic T. This enables type-safe CSS object constraints
|
|
48
56
|
* without threading T through the entire class hierarchy.
|
|
49
57
|
*/
|
|
50
|
-
|
|
58
|
+
/** Colors-only: accept `{colors.key/number}` opacity syntax in component styles. */
|
|
59
|
+
type ColorOpacityRef<Config extends Prop> = Config['scale'] extends 'colors' ? 'colors' extends keyof TokenScales<Theme> ? `{colors.${keyof TokenScales<Theme>[Config['scale'] & keyof TokenScales<Theme>] & string}/${number}}` : never : never;
|
|
60
|
+
export type ThemedScaleValue<Config extends Prop> = Config['scale'] extends keyof TokenScales<Theme> ? keyof TokenScales<Theme>[Config['scale']] | NegativeOf<Config, keyof TokenScales<Theme>[Config['scale']]> | PropertyValues<Config, IsEmpty<TokenScales<Theme>[Config['scale']]>> | ColorOpacityRef<Config> : Config['scale'] extends MapScale ? keyof Config['scale'] | NegativeOf<Config, keyof Config['scale']> | PropertyValues<Config, IsEmpty<Config['scale']>> : Config['scale'] extends ArrayScale ? Config['scale'][number] | PropertyValues<Config, IsEmpty<Config['scale']>> : PropertyValues<Config, true>;
|
|
51
61
|
export type ThemedScale<Config extends Prop> = ResponsiveProp<ThemedScaleValue<Config>>;
|
|
52
62
|
/**
|
|
53
63
|
* Theme-aware CSS props — uses the augmentable Theme interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,IAAK,SAAQ,YAAY;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,aAAa,KAClB,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC9B;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,IAAI,EACrB,cAAc,GAAG,KAAK,IACpB,OAAO,CACT,aAAa,CACX,cAAc,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CACxD,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EACvB,cAAc,SAAS,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,EAAE,CACrD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,IAAI,EACnB,CAAC,SAAS,SAAS,IACjB,MAAM,CAAC,OAAO,CAAC,SAAS,MAAM,WAAW,CAAC,CAAC,CAAC,GAExC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GACrC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACpE,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Globals, StandardProperties, SvgProperties, VendorProperties } from 'csstype';
|
|
2
|
-
import { CSSObject } from './shared';
|
|
3
2
|
type AnimusCSSProperties<Overrides = (string & {}) | 0> = StandardProperties<Overrides> & VendorProperties<Overrides> & Omit<SvgProperties<Overrides>, keyof StandardProperties>;
|
|
4
3
|
type ColorProperties = 'color' | `${string}Color` | 'fill' | 'stroke';
|
|
5
4
|
type ColorGlobals = {
|
|
@@ -12,7 +11,7 @@ type SizeGlobals = {
|
|
|
12
11
|
};
|
|
13
12
|
export interface PropertyTypes<Overrides = (string & {}) | 0> extends Omit<AnimusCSSProperties<Overrides>, keyof ColorGlobals | keyof SizeGlobals>, ColorGlobals, SizeGlobals {
|
|
14
13
|
none?: never;
|
|
15
|
-
|
|
14
|
+
[key: `--${string}`]: (string & {}) | number | undefined;
|
|
16
15
|
}
|
|
17
16
|
export {};
|
|
18
17
|
//# sourceMappingURL=properties.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/types/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/types/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,KAAK,mBAAmB,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,IACpD,kBAAkB,CAAC,SAAS,CAAC,GAC3B,gBAAgB,CAAC,SAAS,CAAC,GAC3B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;AAE7D,KAAK,eAAe,GAAG,OAAO,GAAG,GAAG,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtE,KAAK,YAAY,GAAG;KACjB,CAAC,IAAI,OAAO,CAAC,MAAM,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,EACvD,OAAO,GACP,cAAc,GACd,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,KAAK,cAAc,GACf,MAAM,GACN,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;AAErC,KAAK,UAAU,GACX,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,EAAE,GAChE,QAAQ,GAAG,GAAG,CAAC;AAEnB,KAAK,WAAW,GAAG;KAChB,CAAC,IAAI,OAAO,CAAC,MAAM,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC,EACtD,mBAAmB,CAAC,CAAC,CAAC,GACtB,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAC1D,SAAQ,IAAI,CACR,mBAAmB,CAAC,SAAS,CAAC,EAC9B,MAAM,YAAY,GAAG,MAAM,WAAW,CACvC,EACD,YAAY,EACZ,WAAW;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1D"}
|
package/dist/types/theme.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LiteralPaths } from '../theme/flattenScale';
|
|
1
2
|
export type { CSSObject } from './shared';
|
|
2
3
|
export interface Breakpoints<T = number> {
|
|
3
4
|
xs: T;
|
|
@@ -39,6 +40,34 @@ export interface Theme extends BaseTheme {
|
|
|
39
40
|
* (string & {}) escape hatch allows future CSS color functions without blocking.
|
|
40
41
|
*/
|
|
41
42
|
export type CSSColorValue = `#${string}` | `rgb(${string})` | `rgba(${string})` | `hsl(${string})` | `hsla(${string})` | `oklch(${string})` | `oklab(${string})` | `lch(${string})` | `lab(${string})` | `color-mix(${string})` | `color(${string})` | 'transparent' | 'currentColor' | (string & {});
|
|
43
|
+
/**
|
|
44
|
+
* Extract scale names from a built theme whose values are CSS variable references.
|
|
45
|
+
* These are scales that were emitted via `addScale({ emit: true })` or `addColors()`.
|
|
46
|
+
*
|
|
47
|
+
* Use with `TokenScales<T>` to pick emitted vs non-emitted subsets:
|
|
48
|
+
* ```ts
|
|
49
|
+
* type Emitted = Pick<TokenScales<T>, EmittedScales<T>>;
|
|
50
|
+
* type Static = Omit<TokenScales<T>, EmittedScales<T>>;
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export type EmittedScales<T> = {
|
|
54
|
+
[K in keyof TokenScales<T>]: TokenScales<T>[K] extends Record<string, `var(--${string})`> ? K : never;
|
|
55
|
+
}[keyof TokenScales<T>];
|
|
56
|
+
/**
|
|
57
|
+
* All valid token ref paths for emitted scales in a theme.
|
|
58
|
+
* Uses LiteralPaths to enumerate `scale.key` paths from emitted scale entries.
|
|
59
|
+
*
|
|
60
|
+
* ```ts
|
|
61
|
+
* type Refs = EmittedTokenPaths<typeof tokens>;
|
|
62
|
+
* // → 'colors.primary' | 'colors.bg' | 'sizes.navHeight' | ...
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export type EmittedTokenPaths<T> = keyof LiteralPaths<Pick<TokenScales<T>, EmittedScales<T>>, '.'>;
|
|
66
|
+
/**
|
|
67
|
+
* Token ref pattern type for referencing emitted scales.
|
|
68
|
+
* Constrains the scale name portion of `{scale.key}` to only emitted scales.
|
|
69
|
+
*/
|
|
70
|
+
export type ScaleTokenRef<E extends string> = `${string}{${E}.${string}}${string}`;
|
|
42
71
|
/** Structured manifest emitted by ThemeBuilder.build() for plugin consumption. */
|
|
43
72
|
export interface ThemeManifest {
|
|
44
73
|
/** Flat token key → raw value (e.g. 'space.8' → '0.5rem', 'colors.ember' → '#FF2800') */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM;IACrC,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;CACP;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAC/B,CAAC,EACD,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAC/E,CAAC;AAEF;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,KAAM,SAAQ,SAAS;CAAG;AAE3C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,IAAI,MAAM,EAAE,GACZ,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,OAAO,MAAM,GAAG,GAChB,OAAO,MAAM,GAAG,GAChB,aAAa,MAAM,GAAG,GACtB,SAAS,MAAM,GAAG,GAClB,aAAa,GACb,cAAc,GACd,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uGAAuG;IACvG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iGAAiG;IACjG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM;IACrC,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;IACN,EAAE,EAAE,CAAC,CAAC;CACP;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAC/B,CAAC,EACD,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAC/E,CAAC;AAEF;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,KAAM,SAAQ,SAAS;CAAG;AAE3C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,IAAI,MAAM,EAAE,GACZ,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,OAAO,MAAM,GAAG,GAChB,QAAQ,MAAM,GAAG,GACjB,SAAS,MAAM,GAAG,GAClB,SAAS,MAAM,GAAG,GAClB,OAAO,MAAM,GAAG,GAChB,OAAO,MAAM,GAAG,GAChB,aAAa,MAAM,GAAG,GACtB,SAAS,MAAM,GAAG,GAClB,aAAa,GACb,cAAc,GACd,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAC3D,MAAM,EACN,SAAS,MAAM,GAAG,CACnB,GACG,CAAC,GACD,KAAK;CACV,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,YAAY,CACnD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EACtC,GAAG,CACJ,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEvC,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uGAAuG;IACvG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iGAAiG;IACjG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
CHANGED