@animus-ui/system 0.1.0-next.1 → 0.1.0-next.10
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.map +1 -1
- package/dist/AnimusExtended.d.ts.map +1 -1
- package/dist/SystemBuilder.d.ts +8 -23
- package/dist/SystemBuilder.d.ts.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +360 -25
- package/dist/runtime/index.d.ts +42 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/theme/createTheme.d.ts +59 -0
- package/dist/theme/createTheme.d.ts.map +1 -0
- package/dist/theme/flattenScale.d.ts +21 -0
- package/dist/theme/flattenScale.d.ts.map +1 -0
- package/dist/theme/index.d.ts +7 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/serializeTokens.d.ts +22 -0
- package/dist/theme/serializeTokens.d.ts.map +1 -0
- package/dist/theme/types.d.ts +42 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/utils.d.ts +12 -0
- package/dist/theme/utils.d.ts.map +1 -0
- package/dist/types/component.d.ts +7 -1
- package/dist/types/component.d.ts.map +1 -1
- package/dist/types/config.d.ts +5 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/properties.d.ts +5 -6
- package/dist/types/properties.d.ts.map +1 -1
- package/dist/types/shared.d.ts +0 -1
- package/dist/types/shared.d.ts.map +1 -1
- package/dist/types/theme.d.ts +4 -0
- package/dist/types/theme.d.ts.map +1 -1
- package/package.json +2 -5
package/dist/Animus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animus.d.ts","sourceRoot":"","sources":["../src/Animus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Animus.d.ts","sourceRoot":"","sources":["../src/Animus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimusExtended.d.ts","sourceRoot":"","sources":["../src/AnimusExtended.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnimusExtended.d.ts","sourceRoot":"","sources":["../src/AnimusExtended.ts"],"names":[],"mappings":"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"}
|
package/dist/SystemBuilder.d.ts
CHANGED
|
@@ -1,46 +1,31 @@
|
|
|
1
|
-
import { createTheme } from '@animus-ui/theming';
|
|
2
1
|
import { Animus } from './Animus';
|
|
3
2
|
import { PropertyBuilder } from './PropertyBuilder';
|
|
4
3
|
import { NamedTransform } from './transforms/createTransform';
|
|
5
4
|
import { Prop } from './types/config';
|
|
6
|
-
import {
|
|
7
|
-
/**
|
|
8
|
-
* Force TypeScript to eagerly evaluate a type, flattening nested
|
|
9
|
-
* generic computations (like MergeTheme chains) into a shallow object.
|
|
10
|
-
* Without this, the ThemeBuilder's recursive type accumulation
|
|
11
|
-
* exceeds TypeScript's instantiation depth limit.
|
|
12
|
-
*/
|
|
13
|
-
type Simplify<T> = {
|
|
14
|
-
[K in keyof T]: T[K];
|
|
15
|
-
} & {};
|
|
16
|
-
type ThemeBuilderInput = ReturnType<typeof createTheme<any>>;
|
|
5
|
+
import { Theme } from './types/theme';
|
|
17
6
|
export type GlobalStyleMap = Record<string, Record<string, any>>;
|
|
18
7
|
export interface GlobalStylesConfig {
|
|
19
8
|
reset?: GlobalStyleMap;
|
|
20
9
|
global?: GlobalStyleMap;
|
|
21
10
|
}
|
|
22
|
-
export declare class SystemBuilder<
|
|
11
|
+
export declare class SystemBuilder<PropReg extends Record<string, Prop> = {}, GroupReg extends Record<string, (keyof PropReg)[]> = {}> {
|
|
23
12
|
#private;
|
|
24
|
-
constructor(
|
|
25
|
-
withTokens<NextT extends BaseTheme>(cb: (t: ThemeBuilderInput) => NextT): SystemBuilder<Simplify<NextT>, PropReg, GroupReg>;
|
|
13
|
+
constructor(propRegistry?: PropReg, groupRegistry?: GroupReg, globalStyles?: GlobalStylesConfig);
|
|
26
14
|
withProperties<NextPropReg extends Record<string, Prop>, NextGroupReg extends Record<string, (keyof NextPropReg)[]>>(cb: (p: PropertyBuilder) => {
|
|
27
15
|
propRegistry: NextPropReg;
|
|
28
16
|
groupRegistry: NextGroupReg;
|
|
29
|
-
}): SystemBuilder<
|
|
30
|
-
withGlobalStyles(styles: GlobalStylesConfig): SystemBuilder<
|
|
31
|
-
build(): SystemInstance<
|
|
17
|
+
}): SystemBuilder<NextPropReg, NextGroupReg>;
|
|
18
|
+
withGlobalStyles(styles: GlobalStylesConfig): SystemBuilder<PropReg, GroupReg>;
|
|
19
|
+
build(): SystemInstance<PropReg, GroupReg>;
|
|
32
20
|
}
|
|
33
|
-
export type SystemInstance<
|
|
34
|
-
tokens: T;
|
|
21
|
+
export type SystemInstance<PropReg extends Record<string, Prop>, GroupReg extends Record<string, (keyof PropReg)[]>> = Animus<Theme, PropReg, GroupReg> & {
|
|
35
22
|
serialize(): SerializedConfig;
|
|
36
23
|
};
|
|
37
24
|
export interface SerializedConfig {
|
|
38
|
-
tokens: any;
|
|
39
25
|
propConfig: string;
|
|
40
26
|
groupRegistry: string;
|
|
41
27
|
transforms: Record<string, NamedTransform>;
|
|
42
28
|
globalStyles?: GlobalStylesConfig;
|
|
43
29
|
}
|
|
44
|
-
export declare function createSystem(): SystemBuilder<
|
|
45
|
-
export {};
|
|
30
|
+
export declare function createSystem(): SystemBuilder<{}, {}>;
|
|
46
31
|
//# sourceMappingURL=SystemBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemBuilder.d.ts","sourceRoot":"","sources":["../src/SystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SystemBuilder.d.ts","sourceRoot":"","sources":["../src/SystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAStC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,qBAAa,aAAa,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EACzC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;;gBAOrD,YAAY,CAAC,EAAE,OAAO,EACtB,aAAa,CAAC,EAAE,QAAQ,EACxB,YAAY,CAAC,EAAE,kBAAkB;IAOnC,cAAc,CACZ,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACxC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC,EAE1D,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK;QAC1B,YAAY,EAAE,WAAW,CAAC;QAC1B,aAAa,EAAE,YAAY,CAAC;KAC7B,GACA,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;IAS3C,gBAAgB,CACd,MAAM,EAAE,kBAAkB,GACzB,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;IAInC,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;CAiB3C;AAED,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACpC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,IAChD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG;IACrC,SAAS,IAAI,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAiDD,wBAAgB,YAAY,0BAE3B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export { Animus, AnimusWithAll } from './Animus';
|
|
2
2
|
export { AnimusExtended, AnimusExtendedWithAll } from './AnimusExtended';
|
|
3
3
|
export { PropertyBuilder } from './PropertyBuilder';
|
|
4
|
+
export { createComponent } from './runtime';
|
|
4
5
|
export type { SerializedConfig, SystemInstance } from './SystemBuilder';
|
|
5
6
|
export { createSystem, SystemBuilder } from './SystemBuilder';
|
|
6
7
|
export { createScale, numericOrStringScale, numericScale, stringScale, } from './scales/createScale';
|
|
8
|
+
export type { Assign, AssignValueIfUnmergable, ColorModeConfig, FindPath, KeyAsVariable, LiteralPaths, Mergable, Merge, MergeTheme, Path, PathToLiteral, PathValue, PrivateThemeKeys, SanitizeKey, } from './theme';
|
|
9
|
+
export { createTheme, flattenScale, serializeTokens, ThemeBuilder, } from './theme';
|
|
7
10
|
export { borderShorthand } from './transforms/border';
|
|
8
11
|
export { createTransform, type NamedTransform, type TransformFn, } from './transforms/createTransform';
|
|
9
12
|
export { gridItem, gridItemRatio } from './transforms/grid';
|
|
@@ -12,6 +15,6 @@ export type { AnimusComponent, AnimusWrappedComponent, } from './types/component
|
|
|
12
15
|
export type { AbstractParser, CSSPropMap, CSSProps, Parser, ParserProps, Prop, PropertyValues, Scale, ScaleValue, SystemProps, ThemedCSSPropMap, ThemedCSSProps, ThemedScale, ThemedScaleValue, VariantConfig, } from './types/config';
|
|
13
16
|
export type { AbstractProps, MediaQueryArray, MediaQueryMap, ResponsiveProp, ThemeProps, } from './types/props';
|
|
14
17
|
export type { ArrayScale, MapScale } from './types/scales';
|
|
15
|
-
export type { CSSObject
|
|
16
|
-
export type { BaseTheme, Breakpoints, Theme, TokenScales } from './types/theme';
|
|
18
|
+
export type { CSSObject } from './types/shared';
|
|
19
|
+
export type { AbstractTheme, BaseTheme, Breakpoints, Theme, TokenScales, } from './types/theme';
|
|
17
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,MAAM,EACN,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAU,EACV,IAAI,EACJ,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE/D,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,EACJ,cAAc,EACd,KAAK,EACL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,KAAK,EACL,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,197 @@
|
|
|
1
1
|
import { a as borderShorthand, c as numericOrStringScale, i as gridItemRatio, l as numericScale, n as size, o as createTransform, r as gridItem, s as createScale, t as percentageOrAbsolute, u as stringScale } from "./size-Dge_rsuz.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { createElement, forwardRef, useRef } from "react";
|
|
3
|
+
//#region src/runtime/index.ts
|
|
4
|
+
/**
|
|
5
|
+
* CSS properties that accept unitless numeric values.
|
|
6
|
+
* Bare numerics on properties NOT in this set receive `px`.
|
|
7
|
+
* Matches @emotion/unitless and React DOM's style handling.
|
|
8
|
+
*/
|
|
9
|
+
const UNITLESS_PROPERTIES = new Set([
|
|
10
|
+
"animation-iteration-count",
|
|
11
|
+
"border-image-outset",
|
|
12
|
+
"border-image-slice",
|
|
13
|
+
"border-image-width",
|
|
14
|
+
"box-flex",
|
|
15
|
+
"box-flex-group",
|
|
16
|
+
"box-ordinal-group",
|
|
17
|
+
"column-count",
|
|
18
|
+
"columns",
|
|
19
|
+
"flex",
|
|
20
|
+
"flex-grow",
|
|
21
|
+
"flex-positive",
|
|
22
|
+
"flex-shrink",
|
|
23
|
+
"flex-negative",
|
|
24
|
+
"flex-order",
|
|
25
|
+
"font-weight",
|
|
26
|
+
"grid-area",
|
|
27
|
+
"grid-column",
|
|
28
|
+
"grid-column-end",
|
|
29
|
+
"grid-column-span",
|
|
30
|
+
"grid-column-start",
|
|
31
|
+
"grid-row",
|
|
32
|
+
"grid-row-end",
|
|
33
|
+
"grid-row-span",
|
|
34
|
+
"grid-row-start",
|
|
35
|
+
"line-clamp",
|
|
36
|
+
"line-height",
|
|
37
|
+
"opacity",
|
|
38
|
+
"order",
|
|
39
|
+
"orphans",
|
|
40
|
+
"tab-size",
|
|
41
|
+
"widows",
|
|
42
|
+
"z-index",
|
|
43
|
+
"zoom",
|
|
44
|
+
"fill-opacity",
|
|
45
|
+
"flood-opacity",
|
|
46
|
+
"stop-opacity",
|
|
47
|
+
"stroke-dasharray",
|
|
48
|
+
"stroke-dashoffset",
|
|
49
|
+
"stroke-miterlimit",
|
|
50
|
+
"stroke-opacity",
|
|
51
|
+
"stroke-width"
|
|
52
|
+
]);
|
|
53
|
+
/**
|
|
54
|
+
* Apply unit fallback to a value for a given CSS property.
|
|
55
|
+
* Unitless numeric values on properties that expect length units receive `px`.
|
|
56
|
+
*/
|
|
57
|
+
function applyUnitFallback(value, cssProperty) {
|
|
58
|
+
if (typeof value === "number") {
|
|
59
|
+
if (UNITLESS_PROPERTIES.has(cssProperty)) return String(value);
|
|
60
|
+
return `${value}px`;
|
|
61
|
+
}
|
|
62
|
+
return String(value);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Serialize a system prop value to a lookup key matching the Rust
|
|
66
|
+
* css_generator's serialize_value_key output format:
|
|
67
|
+
* - Numbers and strings → their string representation
|
|
68
|
+
* - Responsive objects → sorted "key:value" pairs joined by "|"
|
|
69
|
+
*/
|
|
70
|
+
function serializeValueKey(value) {
|
|
71
|
+
if (typeof value === "number" || typeof value === "string") return String(value);
|
|
72
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) return Object.keys(value).sort().map((k) => `${k}:${value[k]}`).join("|");
|
|
73
|
+
return String(value);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Resolve a dynamic prop value through scale lookup → transform → unit fallback.
|
|
77
|
+
* Scale lookup uses pre-resolved values shipped from the extraction pipeline.
|
|
78
|
+
*/
|
|
79
|
+
function resolveValue(value, dc) {
|
|
80
|
+
const key = String(value);
|
|
81
|
+
const scaleResolved = dc.scaleValues?.[key];
|
|
82
|
+
if (scaleResolved != null) {
|
|
83
|
+
const transformed = dc.transform ? dc.transform(scaleResolved) : scaleResolved;
|
|
84
|
+
return String(transformed);
|
|
85
|
+
}
|
|
86
|
+
return applyUnitFallback(dc.transform ? dc.transform(value) : value, dc.varName);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a lightweight component that applies extracted CSS class names.
|
|
90
|
+
* Replaces Emotion's styled() for extracted components.
|
|
91
|
+
*
|
|
92
|
+
* The element parameter accepts either an HTML tag string (e.g. 'button') or
|
|
93
|
+
* a React component reference (e.g. NextLink). When a component reference is
|
|
94
|
+
* used, prop forwarding skips the HTML-attribute validity check — all
|
|
95
|
+
* non-filtered props are forwarded to the component.
|
|
96
|
+
*
|
|
97
|
+
* The optional systemPropMap parameter provides the shared prop→value→className
|
|
98
|
+
* lookup table, served as a virtual module by the Vite plugin.
|
|
99
|
+
*
|
|
100
|
+
* The optional dynamicPropConfig parameter provides CSS variable fallback
|
|
101
|
+
* metadata for props with detected dynamic usage.
|
|
102
|
+
*/
|
|
103
|
+
function createComponent(element, className, config, systemPropMap, dynamicPropConfig) {
|
|
104
|
+
const variantProps = config.variants ? Object.keys(config.variants) : [];
|
|
105
|
+
const stateProps = config.states || [];
|
|
106
|
+
const systemPropNames = config.systemPropNames || [];
|
|
107
|
+
const filterProps = new Set([
|
|
108
|
+
...variantProps,
|
|
109
|
+
...stateProps,
|
|
110
|
+
...systemPropNames
|
|
111
|
+
]);
|
|
112
|
+
const isComponentElement = typeof element !== "string";
|
|
113
|
+
const Component = forwardRef((props, ref) => {
|
|
114
|
+
const classes = [className];
|
|
115
|
+
const prevDynKey = useRef("");
|
|
116
|
+
const prevDynStyle = useRef(null);
|
|
117
|
+
if (config.variants) for (const [prop, vc] of Object.entries(config.variants)) {
|
|
118
|
+
const value = props[prop] ?? vc.default;
|
|
119
|
+
if (value != null) classes.push(`${className}--${prop}-${value}`);
|
|
120
|
+
}
|
|
121
|
+
if (config.states) {
|
|
122
|
+
for (const state of config.states) if (props[state]) classes.push(`${className}--${state}`);
|
|
123
|
+
}
|
|
124
|
+
let dynKeyParts;
|
|
125
|
+
let dynStyle;
|
|
126
|
+
if (systemPropNames.length > 0) {
|
|
127
|
+
const { customPropMap, customDynamicConfig } = config;
|
|
128
|
+
for (const propName of systemPropNames) {
|
|
129
|
+
if (!(propName in props)) continue;
|
|
130
|
+
const propValue = props[propName];
|
|
131
|
+
if (propValue == null) continue;
|
|
132
|
+
const key = serializeValueKey(propValue);
|
|
133
|
+
const cls = customPropMap?.[propName]?.[key] ?? systemPropMap?.[propName]?.[key];
|
|
134
|
+
if (cls) classes.push(cls);
|
|
135
|
+
else {
|
|
136
|
+
const dc = customDynamicConfig?.[propName] ?? dynamicPropConfig?.[propName];
|
|
137
|
+
if (dc) {
|
|
138
|
+
if (!dynKeyParts) dynKeyParts = [];
|
|
139
|
+
if (!dynStyle) dynStyle = {};
|
|
140
|
+
if (typeof propValue === "object" && propValue !== null && !Array.isArray(propValue)) for (const [bp, bpVal] of Object.entries(propValue)) {
|
|
141
|
+
if (bpVal == null) continue;
|
|
142
|
+
if (bp === "_") {
|
|
143
|
+
classes.push(dc.slotClass);
|
|
144
|
+
const finalVal = resolveValue(bpVal, dc);
|
|
145
|
+
dynStyle[dc.varName] = finalVal;
|
|
146
|
+
dynKeyParts.push(`${dc.varName}:${finalVal}`);
|
|
147
|
+
} else {
|
|
148
|
+
classes.push(`${dc.slotClass}-${bp}`);
|
|
149
|
+
const varName = `${dc.varName}-${bp}`;
|
|
150
|
+
const finalVal = resolveValue(bpVal, dc);
|
|
151
|
+
dynStyle[varName] = finalVal;
|
|
152
|
+
dynKeyParts.push(`${varName}:${finalVal}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
classes.push(dc.slotClass);
|
|
157
|
+
const finalVal = resolveValue(propValue, dc);
|
|
158
|
+
dynStyle[dc.varName] = finalVal;
|
|
159
|
+
dynKeyParts.push(`${dc.varName}:${finalVal}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (props.className) classes.push(props.className);
|
|
166
|
+
const domProps = {
|
|
167
|
+
ref,
|
|
168
|
+
className: classes.join(" ")
|
|
169
|
+
};
|
|
170
|
+
for (const [key, value] of Object.entries(props)) {
|
|
171
|
+
if (key === "className") continue;
|
|
172
|
+
if (filterProps.has(key)) continue;
|
|
173
|
+
if (!isComponentElement) {}
|
|
174
|
+
domProps[key] = value;
|
|
175
|
+
}
|
|
176
|
+
if (dynKeyParts && dynStyle) {
|
|
177
|
+
const dynKey = dynKeyParts.join("|");
|
|
178
|
+
if (dynKey !== prevDynKey.current) {
|
|
179
|
+
prevDynKey.current = dynKey;
|
|
180
|
+
prevDynStyle.current = dynStyle;
|
|
181
|
+
}
|
|
182
|
+
domProps.style = props.style ? {
|
|
183
|
+
...props.style,
|
|
184
|
+
...prevDynStyle.current
|
|
185
|
+
} : prevDynStyle.current;
|
|
186
|
+
}
|
|
187
|
+
return createElement(element, domProps);
|
|
188
|
+
});
|
|
189
|
+
Component.displayName = className;
|
|
190
|
+
return Object.assign(Component, { extend: () => {
|
|
191
|
+
throw new Error(`Cannot extend extracted component "${className}" at runtime. Extensions must be authored in source code using the builder API (e.g. import the original component and call .extend() there) so the extraction pipeline can resolve them at build time.`);
|
|
192
|
+
} });
|
|
193
|
+
}
|
|
194
|
+
//#endregion
|
|
4
195
|
//#region src/AnimusExtended.ts
|
|
5
196
|
function deepMerge$1(target, source) {
|
|
6
197
|
const result = { ...target };
|
|
@@ -225,44 +416,30 @@ var PropertyBuilder = class PropertyBuilder {
|
|
|
225
416
|
//#endregion
|
|
226
417
|
//#region src/SystemBuilder.ts
|
|
227
418
|
var SystemBuilder = class SystemBuilder {
|
|
228
|
-
#tokens;
|
|
229
419
|
#propRegistry;
|
|
230
420
|
#groupRegistry;
|
|
231
421
|
#globalStyles;
|
|
232
|
-
constructor(
|
|
233
|
-
this.#tokens = tokens || {};
|
|
422
|
+
constructor(propRegistry, groupRegistry, globalStyles) {
|
|
234
423
|
this.#propRegistry = propRegistry || {};
|
|
235
424
|
this.#groupRegistry = groupRegistry || {};
|
|
236
425
|
this.#globalStyles = globalStyles;
|
|
237
426
|
}
|
|
238
|
-
withTokens(cb) {
|
|
239
|
-
return new SystemBuilder(cb(createTheme({ breakpoints: {
|
|
240
|
-
xs: 0,
|
|
241
|
-
sm: 0,
|
|
242
|
-
md: 0,
|
|
243
|
-
lg: 0,
|
|
244
|
-
xl: 0
|
|
245
|
-
} })), this.#propRegistry, this.#groupRegistry, this.#globalStyles);
|
|
246
|
-
}
|
|
247
427
|
withProperties(cb) {
|
|
248
428
|
const result = cb(new PropertyBuilder());
|
|
249
|
-
return new SystemBuilder(
|
|
429
|
+
return new SystemBuilder(result.propRegistry, result.groupRegistry, this.#globalStyles);
|
|
250
430
|
}
|
|
251
431
|
withGlobalStyles(styles) {
|
|
252
|
-
return new SystemBuilder(this.#
|
|
432
|
+
return new SystemBuilder(this.#propRegistry, this.#groupRegistry, styles);
|
|
253
433
|
}
|
|
254
434
|
build() {
|
|
255
435
|
const animus = new Animus(this.#propRegistry, this.#groupRegistry);
|
|
256
436
|
const globalStyles = this.#globalStyles;
|
|
257
|
-
return Object.assign(animus, {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
return serializeInstance(this.#tokens, this.#propRegistry, this.#groupRegistry, globalStyles);
|
|
261
|
-
}
|
|
262
|
-
});
|
|
437
|
+
return Object.assign(animus, { serialize: () => {
|
|
438
|
+
return serializeInstance(this.#propRegistry, this.#groupRegistry, globalStyles);
|
|
439
|
+
} });
|
|
263
440
|
}
|
|
264
441
|
};
|
|
265
|
-
function serializeInstance(
|
|
442
|
+
function serializeInstance(propRegistry, groupRegistry, globalStyles) {
|
|
266
443
|
const serialized = {};
|
|
267
444
|
const transforms = {};
|
|
268
445
|
for (const [propName, entry] of Object.entries(propRegistry)) {
|
|
@@ -280,7 +457,6 @@ function serializeInstance(tokens, propRegistry, groupRegistry, globalStyles) {
|
|
|
280
457
|
serialized[propName] = s;
|
|
281
458
|
}
|
|
282
459
|
const result = {
|
|
283
|
-
tokens,
|
|
284
460
|
propConfig: JSON.stringify(serialized),
|
|
285
461
|
groupRegistry: JSON.stringify(groupRegistry),
|
|
286
462
|
transforms
|
|
@@ -292,4 +468,163 @@ function createSystem() {
|
|
|
292
468
|
return new SystemBuilder();
|
|
293
469
|
}
|
|
294
470
|
//#endregion
|
|
295
|
-
|
|
471
|
+
//#region src/theme/utils.ts
|
|
472
|
+
/** Type guard: true for non-null, non-array objects */
|
|
473
|
+
function isObject(value) {
|
|
474
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
475
|
+
}
|
|
476
|
+
function merge(target, ...sources) {
|
|
477
|
+
for (const source of sources) {
|
|
478
|
+
if (!source) continue;
|
|
479
|
+
for (const key of Object.keys(source)) {
|
|
480
|
+
const targetVal = target[key];
|
|
481
|
+
const sourceVal = source[key];
|
|
482
|
+
if (isObject(targetVal) && isObject(sourceVal)) target[key] = merge(targetVal, sourceVal);
|
|
483
|
+
else target[key] = sourceVal;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return target;
|
|
487
|
+
}
|
|
488
|
+
function mapValues(obj, fn) {
|
|
489
|
+
const result = {};
|
|
490
|
+
for (const key of Object.keys(obj)) result[key] = fn(obj[key], key, obj);
|
|
491
|
+
return result;
|
|
492
|
+
}
|
|
493
|
+
//#endregion
|
|
494
|
+
//#region src/theme/flattenScale.ts
|
|
495
|
+
function flattenScale(object, path) {
|
|
496
|
+
return Object.keys(object).reduce((carry, key) => {
|
|
497
|
+
const nextKey = path ? `${path}${key === "_" ? "" : `-${key}`}` : key;
|
|
498
|
+
const current = object[key];
|
|
499
|
+
if (isObject(current)) return {
|
|
500
|
+
...carry,
|
|
501
|
+
...flattenScale(current, nextKey)
|
|
502
|
+
};
|
|
503
|
+
return {
|
|
504
|
+
...carry,
|
|
505
|
+
[nextKey]: object[key]
|
|
506
|
+
};
|
|
507
|
+
}, {});
|
|
508
|
+
}
|
|
509
|
+
//#endregion
|
|
510
|
+
//#region src/theme/serializeTokens.ts
|
|
511
|
+
const templateBreakpoints = (value, alias, theme) => {
|
|
512
|
+
if (isObject(value)) {
|
|
513
|
+
const { _, ...rest } = value;
|
|
514
|
+
const css = { [alias]: _ };
|
|
515
|
+
if (theme) {
|
|
516
|
+
const breakpoints = theme.breakpoints;
|
|
517
|
+
Object.keys(breakpoints).forEach((key) => {
|
|
518
|
+
if (rest[key]) css[breakpoints[key]] = { [alias]: rest[key] };
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
return css;
|
|
522
|
+
}
|
|
523
|
+
return { [alias]: value };
|
|
524
|
+
};
|
|
525
|
+
const serializeTokens = (tokens, prefix, theme) => {
|
|
526
|
+
const tokenReferences = {};
|
|
527
|
+
const tokenVariables = {};
|
|
528
|
+
Object.keys(tokens).forEach((key) => {
|
|
529
|
+
const varName = `--${prefix}-${key.replace("$", "")}`;
|
|
530
|
+
tokenReferences[key] = `var(${varName})`;
|
|
531
|
+
merge(tokenVariables, templateBreakpoints(tokens[key], varName, theme));
|
|
532
|
+
});
|
|
533
|
+
return {
|
|
534
|
+
tokens: tokenReferences,
|
|
535
|
+
variables: tokenVariables
|
|
536
|
+
};
|
|
537
|
+
};
|
|
538
|
+
//#endregion
|
|
539
|
+
//#region src/theme/createTheme.ts
|
|
540
|
+
var ThemeBuilder = class {
|
|
541
|
+
#theme = {};
|
|
542
|
+
constructor(baseTheme) {
|
|
543
|
+
this.#theme = baseTheme;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
*
|
|
547
|
+
* @param key A key of the current theme to transform into CSS Variables and Variable References
|
|
548
|
+
* @example .createScaleVariables('fontSize')
|
|
549
|
+
*/
|
|
550
|
+
createScaleVariables(key) {
|
|
551
|
+
const { variables, tokens } = serializeTokens(this.#theme[key], key, this.#theme);
|
|
552
|
+
this.#theme = merge({}, this.#theme, {
|
|
553
|
+
[key]: tokens,
|
|
554
|
+
_variables: { [key]: variables },
|
|
555
|
+
_tokens: { [key]: this.#theme[key] }
|
|
556
|
+
});
|
|
557
|
+
return this;
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
*
|
|
561
|
+
* @param colors A map of color tokens to add to the theme. These tokens are immediately converted to CSS Variables `--color-${key}`.
|
|
562
|
+
* @example .addColors({ navy: 'navy', hyper: 'purple' })
|
|
563
|
+
*/
|
|
564
|
+
addColors(colors) {
|
|
565
|
+
const flatColors = flattenScale(colors);
|
|
566
|
+
const { variables, tokens } = serializeTokens(flatColors, "color", this.#theme);
|
|
567
|
+
this.#theme = merge({}, this.#theme, {
|
|
568
|
+
colors: tokens,
|
|
569
|
+
_variables: { root: variables },
|
|
570
|
+
_tokens: { colors: flatColors }
|
|
571
|
+
});
|
|
572
|
+
return this;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
*
|
|
576
|
+
* @param initialMode A key of the object passed for modes. This sets the default state for the theme and transforms the correct variables.
|
|
577
|
+
* @param modes A map of color modes with keys of each possible mode with a value of alias to color keys. This must be called after `addColors`
|
|
578
|
+
* @example .addColorModes('light', { light: { primary: 'hyper' }, { dark: { primary: 'navy' } } })
|
|
579
|
+
*/
|
|
580
|
+
addColorModes(initialMode, modeConfig) {
|
|
581
|
+
const modes = mapValues(modeConfig, (mode) => flattenScale(mode));
|
|
582
|
+
const { tokens: colors, variables } = serializeTokens(mapValues(merge({}, this.#theme.modes?.[initialMode], modes[initialMode]), (color) => this.#theme.colors[color]), "color", this.#theme);
|
|
583
|
+
const getColorValue = (color) => this.#theme._tokens?.colors?.[color];
|
|
584
|
+
this.#theme = merge({}, this.#theme, {
|
|
585
|
+
colors,
|
|
586
|
+
modes,
|
|
587
|
+
mode: initialMode,
|
|
588
|
+
_getColorValue: getColorValue,
|
|
589
|
+
_variables: { mode: variables },
|
|
590
|
+
_tokens: { modes: mapValues(modes, (mode) => mapValues(mode, getColorValue)) }
|
|
591
|
+
});
|
|
592
|
+
return this;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
*
|
|
596
|
+
* @param key A new key of theme
|
|
597
|
+
* @param createScale A function that accepts the current theme and returns a new object of scale values.
|
|
598
|
+
* @example .addScale('fonts', () => ({ basic: 'Gotham', cool: 'Wingdings' }))
|
|
599
|
+
*/
|
|
600
|
+
addScale(key, createScale) {
|
|
601
|
+
this.#theme = merge({}, this.#theme, { [key]: flattenScale(createScale(this.#theme)) });
|
|
602
|
+
return this;
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
*
|
|
606
|
+
* @param key A current key of theme to be updated with new or computed values
|
|
607
|
+
* @param updateFn A function that accepts an argument of the current values at the specified keys an returns a map of new values to merge.
|
|
608
|
+
* @example .updateScale('fonts', ({ basic }) => ({ basicFallback: `{basic}, Montserrat` }))
|
|
609
|
+
*/
|
|
610
|
+
updateScale(key, updateFn) {
|
|
611
|
+
this.#theme = merge({}, this.#theme, { [key]: updateFn(this.#theme[key]) });
|
|
612
|
+
return this;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* This finalizes the theme build and returns the final theme and variables to be provided.
|
|
616
|
+
* Simplify flattens the deeply nested MergeTheme chain into a shallow object type.
|
|
617
|
+
*/
|
|
618
|
+
build() {
|
|
619
|
+
const { variables } = serializeTokens(mapValues(this.#theme.breakpoints, (val) => `${val}px`), "breakpoint", this.#theme);
|
|
620
|
+
return merge({}, this.#theme, {
|
|
621
|
+
_variables: { breakpoints: variables },
|
|
622
|
+
_tokens: {}
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
function createTheme(base) {
|
|
627
|
+
return new ThemeBuilder(base);
|
|
628
|
+
}
|
|
629
|
+
//#endregion
|
|
630
|
+
export { Animus, AnimusExtended, AnimusExtendedWithAll, AnimusWithAll, PropertyBuilder, SystemBuilder, ThemeBuilder, borderShorthand, createComponent, createScale, createSystem, createTheme, createTransform, flattenScale, gridItem, gridItemRatio, numericOrStringScale, numericScale, percentageOrAbsolute, serializeTokens, size, stringScale };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
interface VariantConfig {
|
|
3
|
+
options: string[];
|
|
4
|
+
default?: string;
|
|
5
|
+
}
|
|
6
|
+
interface ComponentConfig {
|
|
7
|
+
variants?: Record<string, VariantConfig>;
|
|
8
|
+
states?: string[];
|
|
9
|
+
systemPropNames?: string[];
|
|
10
|
+
customPropMap?: Record<string, Record<string, string>>;
|
|
11
|
+
customDynamicConfig?: DynamicPropConfig;
|
|
12
|
+
}
|
|
13
|
+
type SystemPropMap = Record<string, Record<string, string>>;
|
|
14
|
+
type DynamicPropConfig = Record<string, {
|
|
15
|
+
varName: string;
|
|
16
|
+
slotClass: string;
|
|
17
|
+
transformName?: string;
|
|
18
|
+
transform?: (value: string | number) => string | number;
|
|
19
|
+
scaleValues?: Record<string, string>;
|
|
20
|
+
}>;
|
|
21
|
+
type ElementType = string | React.ComponentType<any>;
|
|
22
|
+
type AnimusComponent = ReturnType<typeof forwardRef> & {
|
|
23
|
+
extend: () => never;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Create a lightweight component that applies extracted CSS class names.
|
|
27
|
+
* Replaces Emotion's styled() for extracted components.
|
|
28
|
+
*
|
|
29
|
+
* The element parameter accepts either an HTML tag string (e.g. 'button') or
|
|
30
|
+
* a React component reference (e.g. NextLink). When a component reference is
|
|
31
|
+
* used, prop forwarding skips the HTML-attribute validity check — all
|
|
32
|
+
* non-filtered props are forwarded to the component.
|
|
33
|
+
*
|
|
34
|
+
* The optional systemPropMap parameter provides the shared prop→value→className
|
|
35
|
+
* lookup table, served as a virtual module by the Vite plugin.
|
|
36
|
+
*
|
|
37
|
+
* The optional dynamicPropConfig parameter provides CSS variable fallback
|
|
38
|
+
* metadata for props with detected dynamic usage.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createComponent(element: ElementType, className: string, config: ComponentConfig, systemPropMap?: SystemPropMap, dynamicPropConfig?: DynamicPropConfig): AnimusComponent;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,UAAU,EAAU,MAAM,OAAO,CAAC;AAE1D,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5D,KAAK,iBAAiB,GAAG,MAAM,CAC7B,MAAM,EACN;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CACF,CAAC;AAIF,KAAK,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAErD,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG;IACrD,MAAM,EAAE,MAAM,KAAK,CAAC;CACrB,CAAC;AAwHF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,EACvB,aAAa,CAAC,EAAE,aAAa,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,eAAe,CAkKjB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { AbstractTheme, CSSObject } from '../types/theme';
|
|
2
|
+
import { LiteralPaths } from './flattenScale';
|
|
3
|
+
import { KeyAsVariable } from './serializeTokens';
|
|
4
|
+
import { ColorModeConfig, Merge, MergeTheme, PrivateThemeKeys } from './types';
|
|
5
|
+
export declare class ThemeBuilder<T extends AbstractTheme> {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(baseTheme: T);
|
|
8
|
+
/**
|
|
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}`.
|
|
17
|
+
* @example .addColors({ navy: 'navy', hyper: 'purple' })
|
|
18
|
+
*/
|
|
19
|
+
addColors<Colors extends Record<string, string | number | CSSObject>, NextColors extends LiteralPaths<Colors, '-'>>(colors: Colors): ThemeBuilder<MergeTheme<T & PrivateThemeKeys, Record<'colors', KeyAsVariable<NextColors, 'color'>>>>;
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param initialMode A key of the object passed for modes. This sets the default state for the theme and transforms the correct variables.
|
|
23
|
+
* @param modes A map of color modes with keys of each possible mode with a value of alias to color keys. This must be called after `addColors`
|
|
24
|
+
* @example .addColorModes('light', { light: { primary: 'hyper' }, { dark: { primary: 'navy' } } })
|
|
25
|
+
*/
|
|
26
|
+
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
|
+
[K in keyof Config]: LiteralPaths<Config[K], '-', '_'>;
|
|
28
|
+
}>(initialMode: InitialMode, modeConfig: Config): ThemeBuilder<MergeTheme<T & PrivateThemeKeys, {
|
|
29
|
+
colors: KeyAsVariable<LiteralPaths<Config[keyof Config], '-', '_'>, 'colors'> & T['colors'];
|
|
30
|
+
modes: Merge<T['modes'], ColorAliases>;
|
|
31
|
+
mode: keyof Config;
|
|
32
|
+
_getColorValue: (color: keyof T['colors']) => string;
|
|
33
|
+
}>>;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @param key A new key of theme
|
|
37
|
+
* @param createScale A function that accepts the current theme and returns a new object of scale values.
|
|
38
|
+
* @example .addScale('fonts', () => ({ basic: 'Gotham', cool: 'Wingdings' }))
|
|
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
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @param key A current key of theme to be updated with new or computed values
|
|
46
|
+
* @param updateFn A function that accepts an argument of the current values at the specified keys an returns a map of new values to merge.
|
|
47
|
+
* @example .updateScale('fonts', ({ basic }) => ({ basicFallback: `{basic}, Montserrat` }))
|
|
48
|
+
*/
|
|
49
|
+
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>>>;
|
|
50
|
+
/**
|
|
51
|
+
* This finalizes the theme build and returns the final theme and variables to be provided.
|
|
52
|
+
* Simplify flattens the deeply nested MergeTheme chain into a shallow object type.
|
|
53
|
+
*/
|
|
54
|
+
build(): {
|
|
55
|
+
[K in keyof (T & PrivateThemeKeys)]: (T & PrivateThemeKeys)[K];
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export declare function createTheme<T extends AbstractTheme>(base: T): ThemeBuilder<T>;
|
|
59
|
+
//# sourceMappingURL=createTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTheme.d.ts","sourceRoot":"","sources":["../../src/theme/createTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an exhaustive list of all possible paths of an object T for keys K.
|
|
3
|
+
* Possibilities are returned as `k1.k2.k3`.
|
|
4
|
+
*/
|
|
5
|
+
export type FindPath<T, K extends keyof T, D extends string = '.'> = K extends string | number ? T[K] extends Record<string | number, any> ? T[K] extends ArrayLike<any> ? K | `${K}${D}${FindPath<T[K], Exclude<keyof T[K], keyof any[]>, D>}` : K | `${K}${D}${FindPath<T[K], keyof T[K], D>}` : K : never;
|
|
6
|
+
/** Returns valid paths of object T */
|
|
7
|
+
export type Path<T, D extends string = '.'> = FindPath<T, keyof T, D> | keyof T;
|
|
8
|
+
/** Returns the value of a valid path P `k1.k2.k3` in object T */
|
|
9
|
+
export type PathValue<T, P extends Path<T, D>, D extends string = '.'> = P extends `${infer K}${D}${infer Rest}` ? K extends keyof T ? Rest extends Path<T[K], D> ? PathValue<T[K], Rest, D> : never : never : P extends keyof T ? T[P] : never;
|
|
10
|
+
/** Check if path has a primitive end value and return only the union of end paths */
|
|
11
|
+
export type PathToLiteral<T, K extends Path<T, D>, D extends string = '.', Base extends string = ''> = PathValue<T, K, D> extends string | number ? K extends string | number ? K extends `${infer BasePath}${D}${Base}` ? BasePath : K : never : never;
|
|
12
|
+
/**
|
|
13
|
+
* Reduce all paths to a single map of paths with primitive values removing all extra non stateful paths
|
|
14
|
+
* { path: { sub: 1 } } => { 'path-sub': 1 }
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export type LiteralPaths<T extends Record<string | number, any>, D extends string = '.', Base extends string = ''> = {
|
|
18
|
+
[K in Path<T, D> as PathToLiteral<T, K, D, Base>]: PathValue<T, PathToLiteral<T, K, D>, D>;
|
|
19
|
+
};
|
|
20
|
+
export declare function flattenScale<T extends Record<string | number, unknown>, P extends string>(object: T, path?: P): LiteralPaths<T, '-', '_'>;
|
|
21
|
+
//# sourceMappingURL=flattenScale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flattenScale.d.ts","sourceRoot":"","sources":["../../src/theme/flattenScale.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createTheme, ThemeBuilder } from './createTheme';
|
|
2
|
+
export type { FindPath, LiteralPaths, Path, PathToLiteral, PathValue, } from './flattenScale';
|
|
3
|
+
export { flattenScale } from './flattenScale';
|
|
4
|
+
export type { KeyAsVariable, SanitizeKey } from './serializeTokens';
|
|
5
|
+
export { serializeTokens } from './serializeTokens';
|
|
6
|
+
export type { Assign, AssignValueIfUnmergable, ColorModeConfig, Mergable, Merge, MergeTheme, PrivateThemeKeys, } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,MAAM,EACN,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,KAAK,EACL,UAAU,EACV,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseTheme, CSSObject } from '../types/theme';
|
|
2
|
+
/**
|
|
3
|
+
* Returns an type of any object with { key: 'var(--key) }
|
|
4
|
+
*/
|
|
5
|
+
export type KeyAsVariable<T extends Record<string, any>, Prefix extends string> = {
|
|
6
|
+
[V in keyof T]: `var(--${Prefix}-${SanitizeKey<Extract<V, string>>})`;
|
|
7
|
+
};
|
|
8
|
+
export type SanitizeKey<T extends string> = T extends `${'$'}${infer Y}` ? Y : T;
|
|
9
|
+
type ThemeWithBreakpoints = BaseTheme | {
|
|
10
|
+
breakpoints: Record<string, string | number>;
|
|
11
|
+
};
|
|
12
|
+
type SerializedTokensInput = Record<string, string | number | CSSObject | SerializedTokensInputRecursive>;
|
|
13
|
+
interface SerializedTokensInputRecursive {
|
|
14
|
+
[i: number]: SerializedTokensInput;
|
|
15
|
+
[i: string]: SerializedTokensInput;
|
|
16
|
+
}
|
|
17
|
+
export declare const serializeTokens: <T extends SerializedTokensInput, Prefix extends string>(tokens: T, prefix: Prefix, theme: ThemeWithBreakpoints | undefined) => {
|
|
18
|
+
tokens: KeyAsVariable<T, Prefix>;
|
|
19
|
+
variables: CSSObject;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=serializeTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeTokens.d.ts","sourceRoot":"","sources":["../../src/theme/serializeTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;GAEG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,MAAM,SAAS,MAAM,IACnB;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG;CACtE,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,GACpE,CAAC,GACD,CAAC,CAAC;AAEN,KAAK,oBAAoB,GACrB,SAAS,GACT;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,CAAC;AA6BrD,KAAK,qBAAqB,GAAG,MAAM,CACjC,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,8BAA8B,CAC7D,CAAC;AAEF,UAAU,8BAA8B;IACtC,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACnC,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACpC;AAED,eAAO,MAAM,eAAe,GAC1B,CAAC,SAAS,qBAAqB,EAC/B,MAAM,SAAS,MAAM,EAErB,QAAQ,CAAC,EACT,QAAQ,MAAM,EACd,OAAO,oBAAoB,GAAG,SAAS,KACtC;IACD,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;CAgBtB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AbstractTheme, CSSObject } from '../types/theme';
|
|
2
|
+
/**
|
|
3
|
+
* This is a custom generic that ensures the safety of adding additional values to a theme object without accidentally wiping out
|
|
4
|
+
* required keys like `breakpoints`. It works by creating a new mapped type and merging the values of the union of Base & Next:
|
|
5
|
+
* 1. If the key exists on both Base and Next return the intersection of both values
|
|
6
|
+
* 2. If the key exists on next use the value on next.
|
|
7
|
+
* 3. If the key exists on base but nothing else use the value on base.
|
|
8
|
+
*
|
|
9
|
+
* The resulting type is then rejoined with keys that cannot be mutated (breakpoints) as the next version of Theme
|
|
10
|
+
*/
|
|
11
|
+
export type MergeTheme<Base extends AbstractTheme, Next, Unmergable = Record<'breakpoints', Base['breakpoints']>> = Unmergable & Merge<Base, Next>;
|
|
12
|
+
/** This merges at 2 levels of depth */
|
|
13
|
+
export type Merge<A, B> = {
|
|
14
|
+
[K in keyof (A & B)]: K extends keyof B ? K extends keyof A ? AssignValueIfUnmergable<A[K], B[K]> : B[K] : K extends keyof A ? A[K] : never;
|
|
15
|
+
};
|
|
16
|
+
/** Extract mergable objects */
|
|
17
|
+
export type Mergable<T> = Exclude<T, ((...args: any) => any) | string | boolean | symbol | number | any[]>;
|
|
18
|
+
/** Return B if either A or B is unmergable */
|
|
19
|
+
export type AssignValueIfUnmergable<A, B> = Mergable<A> extends never ? B : Mergable<B> extends never ? B : Assign<A, B>;
|
|
20
|
+
/** Prefer all values from B */
|
|
21
|
+
export type Assign<A, B> = {
|
|
22
|
+
[K in keyof A | keyof B]: K extends keyof B ? B[K] : K extends keyof A ? A[K] : never;
|
|
23
|
+
};
|
|
24
|
+
/** These are keys that are consistent for all theme builds - they are loosely typed as they are not meant to be accessed directly */
|
|
25
|
+
export type PrivateThemeKeys = {
|
|
26
|
+
_variables: Record<string, CSSObject>;
|
|
27
|
+
_tokens: Record<string | number, any>;
|
|
28
|
+
};
|
|
29
|
+
/** This allows 3 layers of color aliases to be constructed when adding colorModes
|
|
30
|
+
* @example
|
|
31
|
+
* {
|
|
32
|
+
* button: {
|
|
33
|
+
* bg: {
|
|
34
|
+
* hover: 'someAlias'
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* `button-bg-hover`
|
|
40
|
+
* */
|
|
41
|
+
export type ColorModeConfig<Colors> = Record<string, Colors | Record<string, Colors> | Record<string, Colors | Record<string, Colors>>>;
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,aAAa,EAC1B,IAAI,EACJ,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IACrD,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnC,uCAAuC;AACvC,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACnC,CAAC,SAAS,MAAM,CAAC,GACf,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACnC,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC;AAEF,+BAA+B;AAC/B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAC/B,CAAC,EACD,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,EAAE,CACrE,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,IACtC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/E,+BAA+B;AAC/B,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC;AAEF,qIAAqI;AACrI,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;KAWK;AACL,MAAM,MAAM,eAAe,CAAC,MAAM,IAAI,MAAM,CAC1C,MAAM,EACJ,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAClD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Type guard: true for non-null, non-array objects */
|
|
2
|
+
export declare function isObject(value: unknown): value is object;
|
|
3
|
+
/** Deep merge — matches lodash.merge overload signatures */
|
|
4
|
+
export declare function merge<A, B>(target: A, source: B): A & B;
|
|
5
|
+
export declare function merge<A, B, C>(target: A, s1: B, s2: C): A & B & C;
|
|
6
|
+
export declare function merge<A, B, C, D>(target: A, s1: B, s2: C, s3: D): A & B & C & D;
|
|
7
|
+
/** Map over object values — matches lodash.mapValues overload signatures */
|
|
8
|
+
export declare function mapValues<T extends object, TResult>(obj: T, fn: (value: T[keyof T], key: string, collection: T) => TResult): {
|
|
9
|
+
[P in keyof T]: TResult;
|
|
10
|
+
};
|
|
11
|
+
export declare function mapValues<TResult>(obj: Record<string, any>, fn: (value: any, key: string) => TResult): Record<string, TResult>;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/theme/utils.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,4DAA4D;AAC5D,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnE,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAiBjB,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EACjD,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,OAAO,GAC7D;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO;CAAE,CAAC;AAC/B,wBAAgB,SAAS,CAAC,OAAO,EAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef, ForwardRefExoticComponent, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentPropsWithRef, ComponentType, ForwardRefExoticComponent, ReactNode } from 'react';
|
|
2
2
|
import type { AnimusExtended } from '../AnimusExtended';
|
|
3
3
|
import type { AbstractParser, CSSPropMap, CSSProps, Prop, Scale, SystemProps, VariantConfig } from './config';
|
|
4
4
|
import type { AbstractProps } from './props';
|
|
@@ -43,11 +43,17 @@ type StateProps<S> = string extends keyof S ? {} : {
|
|
|
43
43
|
};
|
|
44
44
|
/** Component type for .asElement() — HTML element tag with full Animus props. */
|
|
45
45
|
export type AnimusComponent<El extends keyof JSX.IntrinsicElements, T extends BaseTheme, PR extends Record<string, Prop>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP extends Record<string, Prop>> = ForwardRefExoticComponent<ComponentPropsWithRef<El> & GroupProps<T, PR, GR, AG> & VariantProps<V> & StateProps<S> & CustomPropValues<CP, T> & {
|
|
46
|
+
as?: keyof JSX.IntrinsicElements | ComponentType<{
|
|
47
|
+
className?: string;
|
|
48
|
+
}>;
|
|
46
49
|
className?: string;
|
|
47
50
|
children?: ReactNode;
|
|
48
51
|
}> & ExtendFn<T, PR, GR, BS, V, S, AG, CP>;
|
|
49
52
|
/** Component type for .asComponent() — wraps an existing React component. */
|
|
50
53
|
export type AnimusWrappedComponent<T extends BaseTheme, PR extends Record<string, Prop>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP> = ForwardRefExoticComponent<Record<string, any> & GroupProps<T, PR, GR, {}> & VariantProps<V> & StateProps<S> & {
|
|
54
|
+
as?: keyof JSX.IntrinsicElements | ComponentType<{
|
|
55
|
+
className?: string;
|
|
56
|
+
}>;
|
|
51
57
|
className?: string;
|
|
52
58
|
children?: ReactNode;
|
|
53
59
|
}> & ExtendFn<T, PR, GR, BS, V, S, AG, CP>;
|
|
@@ -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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PropertyTypes } from './properties';
|
|
2
2
|
import { AbstractProps, ResponsiveProp, ThemeProps } from './props';
|
|
3
3
|
import { ArrayScale, MapScale } from './scales';
|
|
4
4
|
import { CSSObject } from './shared';
|
|
@@ -19,7 +19,7 @@ export interface AbstractParser {
|
|
|
19
19
|
config: Record<string, Prop>;
|
|
20
20
|
}
|
|
21
21
|
type IsEmpty<T> = [] extends T ? true : false | {} extends T ? true : false;
|
|
22
|
-
export type PropertyValues<Property extends Prop, IncludeGlobals = false> = Exclude<PropertyTypes<IncludeGlobals extends true ?
|
|
22
|
+
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
23
|
/**
|
|
24
24
|
* Resolve scale values from T directly. No CompatTheme fallback.
|
|
25
25
|
*
|
|
@@ -57,7 +57,9 @@ export type ThemedScale<Config extends Prop> = ResponsiveProp<ThemedScaleValue<C
|
|
|
57
57
|
* When Theme is NOT augmented (empty), falls back to standard CSS values.
|
|
58
58
|
*/
|
|
59
59
|
export type ThemedCSSProps<Props, Config extends Record<string, Prop>> = {
|
|
60
|
-
[K in keyof Props]?: K extends keyof Config ? ThemedScale<Config[K]> : K extends keyof PropertyTypes ? PropertyTypes[K] :
|
|
60
|
+
[K in keyof Props]?: K extends keyof Config ? ThemedScale<Config[K]> : K extends keyof PropertyTypes ? PropertyTypes[K] : Omit<PropertyTypes, keyof Config> & {
|
|
61
|
+
[P in keyof Config]?: ThemedScale<Config[P]>;
|
|
62
|
+
};
|
|
61
63
|
};
|
|
62
64
|
export type ThemedCSSPropMap<Props, Config extends Record<string, Prop>> = {
|
|
63
65
|
[K in keyof Props]?: ThemedCSSProps<Props[K], Config>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Globals, StandardProperties, SvgProperties, VendorProperties } from 'csstype';
|
|
2
|
-
import { CSSObject
|
|
3
|
-
type AnimusCSSProperties<Overrides =
|
|
2
|
+
import { CSSObject } from './shared';
|
|
3
|
+
type AnimusCSSProperties<Overrides = (string & {}) | 0> = StandardProperties<Overrides> & VendorProperties<Overrides> & Omit<SvgProperties<Overrides>, keyof StandardProperties>;
|
|
4
4
|
type ColorProperties = 'color' | `${string}Color` | 'fill' | 'stroke';
|
|
5
5
|
type ColorGlobals = {
|
|
6
|
-
[K in Extract<keyof AnimusCSSProperties, ColorProperties>]?: Globals | 'currentColor' | 'transparent' |
|
|
6
|
+
[K in Extract<keyof AnimusCSSProperties, ColorProperties>]?: Globals | 'currentColor' | 'transparent' | (string & {});
|
|
7
7
|
};
|
|
8
8
|
type SizeProperties = 'left' | 'right' | 'top' | 'bottom' | 'inset' | 'width' | 'height' | `${string}${'Width' | 'Height'}`;
|
|
9
9
|
type SizeValues = `${number}${'px' | 'rem' | 'vh' | 'vw' | 'vmax' | 'vmin' | '%'}` | `calc(${any})`;
|
|
10
10
|
type SizeGlobals = {
|
|
11
|
-
[K in Extract<keyof AnimusCSSProperties, SizeProperties>]?: AnimusCSSProperties[K] | SizeValues |
|
|
11
|
+
[K in Extract<keyof AnimusCSSProperties, SizeProperties>]?: AnimusCSSProperties[K] | SizeValues | (number & {});
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export interface PropertyTypes<Overrides = DefaultCSSPropertyValue> extends Omit<AnimusCSSProperties<Overrides>, keyof ColorGlobals | keyof SizeGlobals>, ColorGlobals, SizeGlobals {
|
|
13
|
+
export interface PropertyTypes<Overrides = (string & {}) | 0> extends Omit<AnimusCSSProperties<Overrides>, keyof ColorGlobals | keyof SizeGlobals>, ColorGlobals, SizeGlobals {
|
|
15
14
|
none?: never;
|
|
16
15
|
variables?: CSSObject;
|
|
17
16
|
}
|
|
@@ -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,OAAO,EAAE,SAAS,EAAE,
|
|
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,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,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,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
package/dist/types/shared.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACxD
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACxD"}
|
package/dist/types/theme.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { CSSObject } from './shared';
|
|
1
2
|
export interface Breakpoints<T = number> {
|
|
2
3
|
xs: T;
|
|
3
4
|
sm: T;
|
|
@@ -8,6 +9,9 @@ export interface Breakpoints<T = number> {
|
|
|
8
9
|
export interface BaseTheme {
|
|
9
10
|
breakpoints: Breakpoints;
|
|
10
11
|
}
|
|
12
|
+
export interface AbstractTheme extends BaseTheme {
|
|
13
|
+
readonly [key: string]: any;
|
|
14
|
+
}
|
|
11
15
|
/**
|
|
12
16
|
* Filter internal ThemeBuilder keys from T so they don't appear as valid scales.
|
|
13
17
|
* _variables, _tokens, mode, _getColorValue are implementation details.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,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;;;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"}
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@animus-ui/system",
|
|
3
|
-
"version": "0.1.0-next.
|
|
3
|
+
"version": "0.1.0-next.10",
|
|
4
4
|
"description": "Animus design system builder — tokens, prop groups, global styles",
|
|
5
5
|
"author": "codecaaron <airrobb@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,10 +32,7 @@
|
|
|
32
32
|
"build": "tsdown && tsc -p tsconfig.build.json",
|
|
33
33
|
"compile": "tsc --noEmit"
|
|
34
34
|
},
|
|
35
|
-
"dependencies": {
|
|
36
|
-
"@animus-ui/runtime": "0.1.0-next.1",
|
|
37
|
-
"@animus-ui/theming": "0.1.0-next.1"
|
|
38
|
-
},
|
|
35
|
+
"dependencies": {},
|
|
39
36
|
"peerDependencies": {
|
|
40
37
|
"react": "^18.0.0 || ^19.0.0"
|
|
41
38
|
},
|