@yahoo/uds-create-config 1.29.1 → 2.0.0
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/Component.d.ts +2 -0
- package/dist/Component.js +6 -1
- package/dist/MotionDef.d.ts +41 -14
- package/dist/MotionDef.js +127 -29
- package/dist/Props.d.ts +4 -2
- package/dist/factories.d.ts +21 -4
- package/dist/factories.js +17 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +4 -4
- package/dist/markers.d.ts +6 -1
- package/dist/markers.js +4 -1
- package/dist/refs.d.ts +6 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +110 -33
- package/package.json +2 -2
package/dist/Component.d.ts
CHANGED
package/dist/Component.js
CHANGED
|
@@ -5,7 +5,7 @@ import { isAssetGroupRef, isCompositeRef, isStylePropRef, isTokenRef, tag } from
|
|
|
5
5
|
import { isColorExpression } from "./colorExpressions.js";
|
|
6
6
|
import { readAssetGroupSlug } from "./defineAssetGroup.js";
|
|
7
7
|
import { serializeElementsDeep } from "./element-marker.js";
|
|
8
|
-
import { isBoolMarker, isNumberMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker } from "./markers.js";
|
|
8
|
+
import { isBoolMarker, isMotionMarker, isNumberMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker } from "./markers.js";
|
|
9
9
|
import { componentClassNames } from "@yahoo/uds-create-utils";
|
|
10
10
|
//#region src/Component.ts
|
|
11
11
|
/**
|
|
@@ -464,6 +464,11 @@ function inferPropInfo(name, binding, layers, resolve) {
|
|
|
464
464
|
name,
|
|
465
465
|
required: binding.__required === true
|
|
466
466
|
};
|
|
467
|
+
if (isMotionMarker(binding)) return {
|
|
468
|
+
kind: "motion",
|
|
469
|
+
name,
|
|
470
|
+
required: binding.__required === true
|
|
471
|
+
};
|
|
467
472
|
if (isStylePropRef(binding)) return {
|
|
468
473
|
kind: "styleProp",
|
|
469
474
|
name,
|
package/dist/MotionDef.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CssMotionDefinition, JsMotionDefinition, MotionKeyframes,
|
|
1
|
+
import { CssMotionDefinition, JsMotionDefinition, MotionKeyframes, MotionTransition } from "./types.js";
|
|
2
2
|
import { CssClassName } from "./brands.js";
|
|
3
3
|
|
|
4
4
|
//#region src/MotionDef.d.ts
|
|
@@ -8,13 +8,13 @@ declare class CssMotionDef {
|
|
|
8
8
|
readonly name: string;
|
|
9
9
|
readonly keyframes: MotionKeyframes;
|
|
10
10
|
readonly transition?: MotionTransition;
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
16
|
-
readonly
|
|
17
|
-
readonly
|
|
11
|
+
readonly duration?: CssMotionDefinition['duration'];
|
|
12
|
+
readonly timingFunction?: CssMotionDefinition['timingFunction'];
|
|
13
|
+
readonly delay?: CssMotionDefinition['delay'];
|
|
14
|
+
readonly iterationCount?: CssMotionDefinition['iterationCount'];
|
|
15
|
+
readonly direction?: CssMotionDefinition['direction'];
|
|
16
|
+
readonly fillMode?: CssMotionDefinition['fillMode'];
|
|
17
|
+
readonly playState?: CssMotionDefinition['playState'];
|
|
18
18
|
readonly reducedMotion?: 'none';
|
|
19
19
|
constructor(args: {
|
|
20
20
|
name: string;
|
|
@@ -30,12 +30,28 @@ declare class CssMotionDef {
|
|
|
30
30
|
declare class JsMotionDef {
|
|
31
31
|
readonly runtime: "js";
|
|
32
32
|
readonly name: string;
|
|
33
|
-
readonly
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
33
|
+
readonly variants?: JsMotionDefinition['variants'];
|
|
34
|
+
readonly initial?: JsMotionDefinition['initial'];
|
|
35
|
+
readonly animate?: JsMotionDefinition['animate'];
|
|
36
|
+
readonly exit?: JsMotionDefinition['exit'];
|
|
36
37
|
readonly transition?: MotionTransition;
|
|
37
|
-
readonly whileHover?:
|
|
38
|
-
readonly whileTap?:
|
|
38
|
+
readonly whileHover?: JsMotionDefinition['whileHover'];
|
|
39
|
+
readonly whileTap?: JsMotionDefinition['whileTap'];
|
|
40
|
+
readonly whileFocus?: JsMotionDefinition['whileFocus'];
|
|
41
|
+
readonly whileDrag?: JsMotionDefinition['whileDrag'];
|
|
42
|
+
readonly whileInView?: JsMotionDefinition['whileInView'];
|
|
43
|
+
readonly viewport?: JsMotionDefinition['viewport'];
|
|
44
|
+
readonly drag?: JsMotionDefinition['drag'];
|
|
45
|
+
readonly dragConstraints?: JsMotionDefinition['dragConstraints'];
|
|
46
|
+
readonly dragElastic?: JsMotionDefinition['dragElastic'];
|
|
47
|
+
readonly dragMomentum?: JsMotionDefinition['dragMomentum'];
|
|
48
|
+
readonly dragSnapToOrigin?: JsMotionDefinition['dragSnapToOrigin'];
|
|
49
|
+
readonly dragPropagation?: JsMotionDefinition['dragPropagation'];
|
|
50
|
+
readonly dragDirectionLock?: JsMotionDefinition['dragDirectionLock'];
|
|
51
|
+
readonly dragTransition?: JsMotionDefinition['dragTransition'];
|
|
52
|
+
readonly layout?: JsMotionDefinition['layout'];
|
|
53
|
+
readonly layoutId?: JsMotionDefinition['layoutId'];
|
|
54
|
+
readonly layoutDependency?: JsMotionDefinition['layoutDependency'];
|
|
39
55
|
constructor(args: {
|
|
40
56
|
name: string;
|
|
41
57
|
definition: JsMotionDefinition;
|
|
@@ -45,5 +61,16 @@ declare class JsMotionDef {
|
|
|
45
61
|
};
|
|
46
62
|
}
|
|
47
63
|
type MotionDef = CssMotionDef | JsMotionDef;
|
|
64
|
+
/** Fields a `runtime: 'js'` motion preset may carry (`JsMotionDefinition`). */
|
|
65
|
+
declare const JS_MOTION_DEFINITION_KEYS: (keyof JsMotionDefinition)[];
|
|
66
|
+
/**
|
|
67
|
+
* JS motion field names minus the `runtime` discriminant — the props codegen
|
|
68
|
+
* spreads onto the `motion.create` wrapper. `runtime` is excluded because it's
|
|
69
|
+
* config metadata, not a framer `motion` prop (spreading it would leak a
|
|
70
|
+
* `runtime` attribute onto the DOM element).
|
|
71
|
+
*/
|
|
72
|
+
declare const JS_MOTION_FIELD_KEYS: ("initial" | "transition" | "animate" | "variants" | "exit" | "whileHover" | "whileTap" | "whileFocus" | "whileDrag" | "whileInView" | "viewport" | "drag" | "dragConstraints" | "dragElastic" | "dragMomentum" | "dragSnapToOrigin" | "dragPropagation" | "dragDirectionLock" | "dragTransition" | "layout" | "layoutId" | "layoutDependency")[];
|
|
73
|
+
/** Fields a `runtime: 'css'` motion preset may carry (`CssMotionDefinition`). */
|
|
74
|
+
declare const CSS_MOTION_DEFINITION_KEYS: (keyof CssMotionDefinition)[];
|
|
48
75
|
//#endregion
|
|
49
|
-
export { CssMotionDef, JsMotionDef, MotionDef };
|
|
76
|
+
export { CSS_MOTION_DEFINITION_KEYS, CssMotionDef, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef, MotionDef };
|
package/dist/MotionDef.js
CHANGED
|
@@ -14,13 +14,13 @@ var CssMotionDef = class {
|
|
|
14
14
|
name;
|
|
15
15
|
keyframes;
|
|
16
16
|
transition;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
duration;
|
|
18
|
+
timingFunction;
|
|
19
|
+
delay;
|
|
20
|
+
iterationCount;
|
|
21
|
+
direction;
|
|
22
|
+
fillMode;
|
|
23
|
+
playState;
|
|
24
24
|
reducedMotion;
|
|
25
25
|
#derived;
|
|
26
26
|
constructor(args) {
|
|
@@ -28,13 +28,13 @@ var CssMotionDef = class {
|
|
|
28
28
|
this.name = args.name;
|
|
29
29
|
this.keyframes = d.keyframes;
|
|
30
30
|
this.transition = d.transition;
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
31
|
+
this.duration = d.duration;
|
|
32
|
+
this.timingFunction = d.timingFunction;
|
|
33
|
+
this.delay = d.delay;
|
|
34
|
+
this.iterationCount = d.iterationCount;
|
|
35
|
+
this.direction = d.direction;
|
|
36
|
+
this.fillMode = d.fillMode;
|
|
37
|
+
this.playState = d.playState;
|
|
38
38
|
this.reducedMotion = d.reducedMotion === "none" ? "none" : void 0;
|
|
39
39
|
}
|
|
40
40
|
get derived() {
|
|
@@ -48,13 +48,13 @@ var CssMotionDef = class {
|
|
|
48
48
|
keyframes: this.keyframes,
|
|
49
49
|
...compact({
|
|
50
50
|
transition: this.transition,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
duration: this.duration,
|
|
52
|
+
timingFunction: this.timingFunction,
|
|
53
|
+
delay: this.delay,
|
|
54
|
+
iterationCount: this.iterationCount,
|
|
55
|
+
direction: this.direction,
|
|
56
|
+
fillMode: this.fillMode,
|
|
57
|
+
playState: this.playState,
|
|
58
58
|
reducedMotion: this.reducedMotion
|
|
59
59
|
})
|
|
60
60
|
};
|
|
@@ -63,35 +63,133 @@ var CssMotionDef = class {
|
|
|
63
63
|
var JsMotionDef = class {
|
|
64
64
|
runtime = "js";
|
|
65
65
|
name;
|
|
66
|
+
variants;
|
|
66
67
|
initial;
|
|
67
68
|
animate;
|
|
68
69
|
exit;
|
|
69
70
|
transition;
|
|
70
71
|
whileHover;
|
|
71
72
|
whileTap;
|
|
73
|
+
whileFocus;
|
|
74
|
+
whileDrag;
|
|
75
|
+
whileInView;
|
|
76
|
+
viewport;
|
|
77
|
+
drag;
|
|
78
|
+
dragConstraints;
|
|
79
|
+
dragElastic;
|
|
80
|
+
dragMomentum;
|
|
81
|
+
dragSnapToOrigin;
|
|
82
|
+
dragPropagation;
|
|
83
|
+
dragDirectionLock;
|
|
84
|
+
dragTransition;
|
|
85
|
+
layout;
|
|
86
|
+
layoutId;
|
|
87
|
+
layoutDependency;
|
|
72
88
|
constructor(args) {
|
|
89
|
+
const d = args.definition;
|
|
73
90
|
this.name = args.name;
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
78
|
-
this.
|
|
79
|
-
this.
|
|
91
|
+
this.variants = d.variants;
|
|
92
|
+
this.initial = d.initial;
|
|
93
|
+
this.animate = d.animate;
|
|
94
|
+
this.exit = d.exit;
|
|
95
|
+
this.transition = d.transition;
|
|
96
|
+
this.whileHover = d.whileHover;
|
|
97
|
+
this.whileTap = d.whileTap;
|
|
98
|
+
this.whileFocus = d.whileFocus;
|
|
99
|
+
this.whileDrag = d.whileDrag;
|
|
100
|
+
this.whileInView = d.whileInView;
|
|
101
|
+
this.viewport = d.viewport;
|
|
102
|
+
this.drag = d.drag;
|
|
103
|
+
this.dragConstraints = d.dragConstraints;
|
|
104
|
+
this.dragElastic = d.dragElastic;
|
|
105
|
+
this.dragMomentum = d.dragMomentum;
|
|
106
|
+
this.dragSnapToOrigin = d.dragSnapToOrigin;
|
|
107
|
+
this.dragPropagation = d.dragPropagation;
|
|
108
|
+
this.dragDirectionLock = d.dragDirectionLock;
|
|
109
|
+
this.dragTransition = d.dragTransition;
|
|
110
|
+
this.layout = d.layout;
|
|
111
|
+
this.layoutId = d.layoutId;
|
|
112
|
+
this.layoutDependency = d.layoutDependency;
|
|
80
113
|
}
|
|
81
114
|
toJSON() {
|
|
82
115
|
return {
|
|
83
116
|
name: this.name,
|
|
84
117
|
runtime: "js",
|
|
85
118
|
...compact({
|
|
119
|
+
variants: this.variants,
|
|
86
120
|
initial: this.initial,
|
|
87
121
|
animate: this.animate,
|
|
88
122
|
exit: this.exit,
|
|
89
123
|
transition: this.transition,
|
|
90
124
|
whileHover: this.whileHover,
|
|
91
|
-
whileTap: this.whileTap
|
|
125
|
+
whileTap: this.whileTap,
|
|
126
|
+
whileFocus: this.whileFocus,
|
|
127
|
+
whileDrag: this.whileDrag,
|
|
128
|
+
whileInView: this.whileInView,
|
|
129
|
+
viewport: this.viewport,
|
|
130
|
+
drag: this.drag,
|
|
131
|
+
dragConstraints: this.dragConstraints,
|
|
132
|
+
dragElastic: this.dragElastic,
|
|
133
|
+
dragMomentum: this.dragMomentum,
|
|
134
|
+
dragSnapToOrigin: this.dragSnapToOrigin,
|
|
135
|
+
dragPropagation: this.dragPropagation,
|
|
136
|
+
dragDirectionLock: this.dragDirectionLock,
|
|
137
|
+
dragTransition: this.dragTransition,
|
|
138
|
+
layout: this.layout,
|
|
139
|
+
layoutId: this.layoutId,
|
|
140
|
+
layoutDependency: this.layoutDependency
|
|
92
141
|
})
|
|
93
142
|
};
|
|
94
143
|
}
|
|
95
144
|
};
|
|
145
|
+
const JS_MOTION_DEFINITION_KEY_PRESENCE = {
|
|
146
|
+
runtime: true,
|
|
147
|
+
variants: true,
|
|
148
|
+
initial: true,
|
|
149
|
+
animate: true,
|
|
150
|
+
exit: true,
|
|
151
|
+
transition: true,
|
|
152
|
+
whileHover: true,
|
|
153
|
+
whileTap: true,
|
|
154
|
+
whileFocus: true,
|
|
155
|
+
whileDrag: true,
|
|
156
|
+
whileInView: true,
|
|
157
|
+
viewport: true,
|
|
158
|
+
drag: true,
|
|
159
|
+
dragConstraints: true,
|
|
160
|
+
dragElastic: true,
|
|
161
|
+
dragMomentum: true,
|
|
162
|
+
dragSnapToOrigin: true,
|
|
163
|
+
dragPropagation: true,
|
|
164
|
+
dragDirectionLock: true,
|
|
165
|
+
dragTransition: true,
|
|
166
|
+
layout: true,
|
|
167
|
+
layoutId: true,
|
|
168
|
+
layoutDependency: true
|
|
169
|
+
};
|
|
170
|
+
const CSS_MOTION_DEFINITION_KEY_PRESENCE = {
|
|
171
|
+
runtime: true,
|
|
172
|
+
keyframes: true,
|
|
173
|
+
transition: true,
|
|
174
|
+
duration: true,
|
|
175
|
+
timingFunction: true,
|
|
176
|
+
delay: true,
|
|
177
|
+
iterationCount: true,
|
|
178
|
+
direction: true,
|
|
179
|
+
fillMode: true,
|
|
180
|
+
playState: true,
|
|
181
|
+
reducedMotion: true
|
|
182
|
+
};
|
|
183
|
+
/** Fields a `runtime: 'js'` motion preset may carry (`JsMotionDefinition`). */
|
|
184
|
+
const JS_MOTION_DEFINITION_KEYS = Object.keys(JS_MOTION_DEFINITION_KEY_PRESENCE);
|
|
185
|
+
/**
|
|
186
|
+
* JS motion field names minus the `runtime` discriminant — the props codegen
|
|
187
|
+
* spreads onto the `motion.create` wrapper. `runtime` is excluded because it's
|
|
188
|
+
* config metadata, not a framer `motion` prop (spreading it would leak a
|
|
189
|
+
* `runtime` attribute onto the DOM element).
|
|
190
|
+
*/
|
|
191
|
+
const JS_MOTION_FIELD_KEYS = JS_MOTION_DEFINITION_KEYS.filter((k) => k !== "runtime");
|
|
192
|
+
/** Fields a `runtime: 'css'` motion preset may carry (`CssMotionDefinition`). */
|
|
193
|
+
const CSS_MOTION_DEFINITION_KEYS = Object.keys(CSS_MOTION_DEFINITION_KEY_PRESENCE);
|
|
96
194
|
//#endregion
|
|
97
|
-
export { CssMotionDef, JsMotionDef };
|
|
195
|
+
export { CSS_MOTION_DEFINITION_KEYS, CssMotionDef, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef };
|
package/dist/Props.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RegisteredCompositeStyles, RegisteredModifiers, RegisteredStyleProps, TagRef } from "./refs.js";
|
|
1
|
+
import { MotionName, RegisteredCompositeStyles, RegisteredModifiers, RegisteredStyleProps, TagRef } from "./refs.js";
|
|
2
2
|
import { ColorExpression } from "./colorExpressions.js";
|
|
3
|
-
import { ComponentDefinition, LayerInput, PropBinding, RefElement, RootTag } from "./types.js";
|
|
3
|
+
import { ComponentDefinition, LayerInput, PropBinding, RefElement, RootTag, SlotMotion } from "./types.js";
|
|
4
4
|
import { ComponentPropsWithRef, ElementType, HTMLAttributes, JSX, ReactNode, Ref } from "react";
|
|
5
5
|
|
|
6
6
|
//#region src/Props.d.ts
|
|
@@ -146,6 +146,8 @@ type ResolveBindingValue<TBinding, TLayers> = TBinding extends {
|
|
|
146
146
|
} ? string : TBinding extends {
|
|
147
147
|
readonly __kind: 'number';
|
|
148
148
|
} ? number : TBinding extends {
|
|
149
|
+
readonly __kind: 'motion';
|
|
150
|
+
} ? SlotMotion | MotionName : TBinding extends {
|
|
149
151
|
readonly __kind: 'variant';
|
|
150
152
|
readonly values: infer V;
|
|
151
153
|
} ? V extends readonly (string | number)[] ? V[number] : keyof V & string : unknown : CompositeValue<Extract<CompositeRefName<TBinding>, keyof RegisteredCompositeStyles>> : StylePropValue<Extract<StylePropRefName<TBinding>, keyof RegisteredStyleProps>>;
|
package/dist/factories.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RegisteredModifiers, TagRef, TokenGroupRef, TokenRawNameRegistry, composite, styleProp, token } from "./refs.js";
|
|
1
|
+
import { MotionName, RegisteredModifiers, TagRef, TokenGroupRef, TokenRawNameRegistry, composite, styleProp, token } from "./refs.js";
|
|
2
2
|
import { darken, lighten } from "./colorExpressions.js";
|
|
3
|
-
import { ComponentDefinition, ComponentGroupDefinition, ComponentMetadata, CompositeStyleDefinition, LayerInput, ModeDefinition, ModifierDefinition, MotionDefinitionInput, PreviewDefinition, RefElement, StylePropDefinition, StylePropMetadata, StylePropProperty, TokenDefinition } from "./types.js";
|
|
4
|
-
import { BooleanMarker, ComponentSlotMarker, LayerMarker, NumberMarker, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject } from "./markers.js";
|
|
3
|
+
import { ComponentDefinition, ComponentGroupDefinition, ComponentMetadata, CompositeStyleDefinition, LayerInput, ModeDefinition, ModifierDefinition, MotionDefinitionInput, PreviewDefinition, RefElement, SlotMotion, StylePropDefinition, StylePropMetadata, StylePropProperty, TokenDefinition } from "./types.js";
|
|
4
|
+
import { BooleanMarker, ComponentSlotMarker, LayerMarker, MotionMarker, NumberMarker, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject } from "./markers.js";
|
|
5
5
|
import { BaseLayerStyles, LayerPropsMap, LayerTag, Props, PropsFromBindings, SlotPropValue } from "./Props.js";
|
|
6
6
|
import { defineProvider } from "./defineProvider.js";
|
|
7
7
|
import { ComponentPropsWithRef, ComponentRef, ComponentType, ElementType, FC, HTMLAttributes, JSX, ReactElement, ReactNode, Ref } from "react";
|
|
@@ -197,6 +197,19 @@ declare function string(): Chainable<StringMarker>;
|
|
|
197
197
|
* `variant(...)` instead.
|
|
198
198
|
*/
|
|
199
199
|
declare function number(): Chainable<NumberMarker>;
|
|
200
|
+
/**
|
|
201
|
+
* JS-motion prop binding. Emits `<name>?: SlotMotion | MotionName` — either an
|
|
202
|
+
* inline framer-motion config object (`{ initial, animate, whileHover,
|
|
203
|
+
* transition, … }`) or the name of a `registerMotion({...})` preset
|
|
204
|
+
* (`motion="fadeIn"`; `MotionName` narrows to the registered names in an
|
|
205
|
+
* augmented config, else `string`). The loader routes both through
|
|
206
|
+
* `_renderWithMotion` at runtime (preset name → registered JS/CSS motion;
|
|
207
|
+
* object → inline config), so
|
|
208
|
+
* it produces no CSS of its own — this is the JS-animation counterpart to the
|
|
209
|
+
* CSS `animation`/`transition` style props, not a `styleProp`. Chain
|
|
210
|
+
* `.required()` to force callers to pass it.
|
|
211
|
+
*/
|
|
212
|
+
declare function motion(): Chainable<MotionMarker>;
|
|
200
213
|
/**
|
|
201
214
|
* Helpers passed to `defineComponent(...).config(cb)` callbacks. Same
|
|
202
215
|
* shape regardless of single-layer (`defineComponent('div')`) or
|
|
@@ -215,6 +228,7 @@ interface ConfigCallbackHelpers {
|
|
|
215
228
|
readonly asChild: typeof asChild;
|
|
216
229
|
readonly string: typeof string;
|
|
217
230
|
readonly number: typeof number;
|
|
231
|
+
readonly motion: typeof motion;
|
|
218
232
|
readonly layer: typeof layer;
|
|
219
233
|
readonly composite: typeof composite;
|
|
220
234
|
readonly styleProp: typeof styleProp;
|
|
@@ -366,6 +380,7 @@ type TypedConfigHelpers<T extends ComponentDefinition> = T extends ComponentDefi
|
|
|
366
380
|
readonly layer: TypedLayerHelper<TLayers>;
|
|
367
381
|
readonly string: typeof string;
|
|
368
382
|
readonly number: typeof number;
|
|
383
|
+
readonly motion: typeof motion;
|
|
369
384
|
readonly composite: typeof composite;
|
|
370
385
|
readonly styleProp: typeof styleProp;
|
|
371
386
|
readonly token: typeof token;
|
|
@@ -522,6 +537,8 @@ type ResolveMarker<M> = M extends {
|
|
|
522
537
|
} ? string : M extends {
|
|
523
538
|
readonly __kind: 'number';
|
|
524
539
|
} ? number : M extends {
|
|
540
|
+
readonly __kind: 'motion';
|
|
541
|
+
} ? SlotMotion | MotionName : M extends {
|
|
525
542
|
readonly __kind: 'boolean';
|
|
526
543
|
} ? boolean : M extends {
|
|
527
544
|
readonly __kind: 'variant';
|
|
@@ -809,4 +826,4 @@ type ProviderComponent<TProps = Record<never, never>> = FC<{
|
|
|
809
826
|
*/
|
|
810
827
|
type DefinedProvider<TContext = unknown, TProps = Record<never, never>> = readonly [ProviderComponent<TProps>, () => TContext];
|
|
811
828
|
//#endregion
|
|
812
|
-
export { BoundComponent, ComponentBuilder, ComponentBuilderMethods, ComponentRenderFn, ConfigCallbackHelpers, DefineComponentFn, DefinedComponent, DefinedProvider, DefinedStyleProp, DefinedTokenGroup, PreviewCallbackHelpers, ProviderComponent, ProviderRenderFn, RawToken, TokenGroupMetadata, TokenRawValue, TypedSlotRef, asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, number, slot, string, variant };
|
|
829
|
+
export { BoundComponent, ComponentBuilder, ComponentBuilderMethods, ComponentRenderFn, ConfigCallbackHelpers, DefineComponentFn, DefinedComponent, DefinedProvider, DefinedStyleProp, DefinedTokenGroup, PreviewCallbackHelpers, ProviderComponent, ProviderRenderFn, RawToken, TokenGroupMetadata, TokenRawValue, TypedSlotRef, asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, motion, number, slot, string, variant };
|
package/dist/factories.js
CHANGED
|
@@ -254,6 +254,21 @@ function number() {
|
|
|
254
254
|
return attachRequired({ __kind: "number" });
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
257
|
+
* JS-motion prop binding. Emits `<name>?: SlotMotion | MotionName` — either an
|
|
258
|
+
* inline framer-motion config object (`{ initial, animate, whileHover,
|
|
259
|
+
* transition, … }`) or the name of a `registerMotion({...})` preset
|
|
260
|
+
* (`motion="fadeIn"`; `MotionName` narrows to the registered names in an
|
|
261
|
+
* augmented config, else `string`). The loader routes both through
|
|
262
|
+
* `_renderWithMotion` at runtime (preset name → registered JS/CSS motion;
|
|
263
|
+
* object → inline config), so
|
|
264
|
+
* it produces no CSS of its own — this is the JS-animation counterpart to the
|
|
265
|
+
* CSS `animation`/`transition` style props, not a `styleProp`. Chain
|
|
266
|
+
* `.required()` to force callers to pass it.
|
|
267
|
+
*/
|
|
268
|
+
function motion() {
|
|
269
|
+
return attachRequired({ __kind: "motion" });
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
257
272
|
* Axis marker for `.preview({ matrix: { columns, rows } })`. The
|
|
258
273
|
* `kind` field discriminates between prop axes (varies a JSX prop
|
|
259
274
|
* across the grid) and modifier axes (toggles a `_${name}` modifier
|
|
@@ -280,6 +295,7 @@ const configHelpers = {
|
|
|
280
295
|
asChild,
|
|
281
296
|
string,
|
|
282
297
|
number,
|
|
298
|
+
motion,
|
|
283
299
|
layer,
|
|
284
300
|
composite,
|
|
285
301
|
styleProp,
|
|
@@ -420,4 +436,4 @@ defineComponentImpl.layers = function layersEntry(layers) {
|
|
|
420
436
|
};
|
|
421
437
|
const defineComponent = defineComponentImpl;
|
|
422
438
|
//#endregion
|
|
423
|
-
export { asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, number, slot, string, variant };
|
|
439
|
+
export { asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, motion, number, slot, string, variant };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { ASSET_CLASS_CAPABILITIES, AssetKind, isPlaceable } from "./asset-kind.js";
|
|
2
|
-
import { AnyRef, AssetGroupName, AssetGroupRef, AssetName, AssetRef, ComponentName, ComponentRef, CompositeName, CompositeRef, CompositeRefBuilder, ModeName, ModeRef, RegisteredAssetGroups, RegisteredComponents, RegisteredCompositeStyles, RegisteredModes, RegisteredModifiers,
|
|
2
|
+
import { AnyRef, AssetGroupName, AssetGroupRef, AssetName, AssetRef, ComponentName, ComponentRef, CompositeName, CompositeRef, CompositeRefBuilder, ModeName, ModeRef, MotionName, RegisteredAssetGroups, RegisteredComponents, RegisteredCompositeStyles, RegisteredModes, RegisteredModifiers, RegisteredMotion, RegisteredStyleProps, RegisteredTokenGroups, StylePropName, StylePropRef, TagName, TagRef, TokenGroupName, TokenGroupRef, TokenName, TokenQualifiedName, TokenRawNameRegistry, TokenRef, asset, assetGroup, component, composite, isAssetGroupRef, isAssetRef, isComponentRef, isCompositeRef, isModeRef, isStylePropRef, isTagRef, isTokenGroupRef, isTokenRef, mode, styleProp, tag, token, tokenGroup } from "./refs.js";
|
|
3
3
|
import { ColorFn, ColorKeyword, CssAngle, CssColor, CssLength, CssPercentage, CssRatio, CssTime, CssValue, CssValueTypeName, CssVarRef, HexColor, HslColor, RgbColor } from "./types/css-values.js";
|
|
4
4
|
import { ColorExpression, ColorSpace, ColorValue, GradientStop, GradientValue, LengthOrPercent, LineDirection, LinearGradientExpr, MixExpr, RadialGradientExpr, RadialSize, TokenRefToCss, alpha, isColorExpression, isLinearGradientExpr, isMixExpr, isRadialGradientExpr, linearGradient, mix, radialGradient, resolveColorExpression } from "./colorExpressions.js";
|
|
5
5
|
import { CSS_GLOBAL_KEYWORDS, CSS_PROPERTY_KEYWORDS, CssPropertyWithKeywords } from "./types/css-property-keywords.js";
|
|
6
6
|
import { ColorCssProperty, CssGlobalKeyword, CssPropertyName, CssPropertyValues } from "./types/css-properties.js";
|
|
7
|
-
import { AnyStylePropDefinition, ArbitrarySpec, BaseStyles, BuildOptions, CanvasRole, CanvasRoleEntry, CanvasRoleEntryInput, CanvasRolesDefinition, CanvasRolesDefinitionInput, CanvasRolesInputConstraint, ComponentDefinition, ComponentGroupDefinition, ComponentMetadata, CompositeStyleDefinition, CompositeStyleObject, CompoundPropsEntry, CssMotionDefinition, FontAssetMember, GlobalStylesDef, JsMotionDefinition, LayerInput, LiteralFor, ModeDefinition, ModeOptionDefinition, ModifierDefinition, MotionDefinitionInput, MotionKeyframes, MotionStateKeyframe, MotionTransition, OpacityPairSpec, PlaygroundOptions, PlaygroundPage, PlaygroundSpec, PreviewDefinition, PropBinding, SerializedAssetGroup, SerializedComponentGroup, SerializedConfig, SerializedFontAssetGroup, SerializedIconAssetGroup, SerializedPlaygroundOptions, SerializedTokenGroup, SlotMotion, StylePropDefinition, StylePropMetadata, StylePropProperty, TokenDefinition, TokenGroupDefinition, TokenModifierKey, TokenModifierValue, TokenType, TokenValue, ValuesEntry } from "./types.js";
|
|
7
|
+
import { AnyStylePropDefinition, ArbitrarySpec, BaseStyles, BuildOptions, CanvasRole, CanvasRoleEntry, CanvasRoleEntryInput, CanvasRolesDefinition, CanvasRolesDefinitionInput, CanvasRolesInputConstraint, ComponentDefinition, ComponentGroupDefinition, ComponentMetadata, CompositeStyleDefinition, CompositeStyleObject, CompoundPropsEntry, CssMotionDefinition, CssMotionFields, CssSlotMotion, FontAssetMember, GlobalStylesDef, JsMotionDefinition, JsMotionFields, JsSlotMotion, LayerInput, LiteralFor, ModeDefinition, ModeOptionDefinition, ModifierDefinition, MotionDefinitionInput, MotionDragBox, MotionKeyframes, MotionState, MotionStateKeyframe, MotionTransition, MotionVariants, MotionViewportOptions, OpacityPairSpec, PlaygroundOptions, PlaygroundPage, PlaygroundSpec, PreviewDefinition, PropBinding, SerializedAssetGroup, SerializedComponentGroup, SerializedConfig, SerializedFontAssetGroup, SerializedIconAssetGroup, SerializedPlaygroundOptions, SerializedTokenGroup, SlotMotion, StylePropDefinition, StylePropMetadata, StylePropProperty, TokenDefinition, TokenGroupDefinition, TokenModifierKey, TokenModifierValue, TokenType, TokenValue, ValuesEntry } from "./types.js";
|
|
8
8
|
import { AssetGroupBuilder, AssetGroupConfig, AssetGroupDefinition, FontAssetGroupConfig, FontAssetGroupDefinition, IconAssetGroupConfig, IconAssetGroupDefinition, IconAssetMember, IconAssetMetadata, defineAssetGroup, defineAssetIcon } from "./defineAssetGroup.js";
|
|
9
9
|
import { AssetGroup } from "./AssetGroup.js";
|
|
10
10
|
import { resolveAssetRefCss, resolveFontStack } from "./asset-value.js";
|
|
11
11
|
import { Css, CssClassName, CssDeclaration, CssSelector, CssVar, cssClassName, cssDeclaration, cssSelector, cssVar } from "./brands.js";
|
|
12
|
-
import { BooleanMarker, LayerMarker, NumberMarker, PREVIEW_SEED_KEY, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject, isBoolMarker, isLayerMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules } from "./markers.js";
|
|
12
|
+
import { BooleanMarker, LayerMarker, MotionMarker, NumberMarker, PREVIEW_SEED_KEY, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject, isBoolMarker, isLayerMarker, isMotionMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules } from "./markers.js";
|
|
13
13
|
import { Component, ComponentKind, CompositeInfo, FunctionInfo, Layer, PrimitivePropKind, PropBase, PropInfo, PropKind, ResolvedCompoundOverrides, SlotInfo, SlotValueKind, StylePropInfo, StylePropKeyword, StylePropTokenUsage, VariantInfo } from "./Component.js";
|
|
14
14
|
import { ComponentGroup } from "./ComponentGroup.js";
|
|
15
15
|
import { CompositeStyle } from "./CompositeStyle.js";
|
|
16
16
|
import { makeTokenRefToCss } from "./entity-utils.js";
|
|
17
17
|
import { DataAttrs, LayerPropsMap } from "./Props.js";
|
|
18
18
|
import { defineProvider } from "./defineProvider.js";
|
|
19
|
-
import { BoundComponent, ComponentBuilder, ComponentBuilderMethods, ComponentRenderFn, ConfigCallbackHelpers, DefineComponentFn, DefinedComponent, DefinedProvider, DefinedStyleProp, DefinedTokenGroup, PreviewCallbackHelpers, RawToken, TokenGroupMetadata, TokenRawValue, TypedSlotRef, asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, number, slot, string, variant } from "./factories.js";
|
|
19
|
+
import { BoundComponent, ComponentBuilder, ComponentBuilderMethods, ComponentRenderFn, ConfigCallbackHelpers, DefineComponentFn, DefinedComponent, DefinedProvider, DefinedStyleProp, DefinedTokenGroup, PreviewCallbackHelpers, RawToken, TokenGroupMetadata, TokenRawValue, TypedSlotRef, asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, motion, number, slot, string, variant } from "./factories.js";
|
|
20
20
|
import { Mode, ModeOption } from "./Mode.js";
|
|
21
21
|
import { Modifier } from "./Modifier.js";
|
|
22
|
-
import { CssMotionDef, JsMotionDef, MotionDef } from "./MotionDef.js";
|
|
22
|
+
import { CSS_MOTION_DEFINITION_KEYS, CssMotionDef, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef, MotionDef } from "./MotionDef.js";
|
|
23
23
|
import { Provider } from "./Provider.js";
|
|
24
24
|
import { ResolvedTokenLiteral, Token } from "./Token.js";
|
|
25
25
|
import { StyleProp, isSafeClassNameValue } from "./StyleProp.js";
|
|
@@ -32,4 +32,4 @@ import { collectFontFaceCss, deriveFontFaceCss, familiesInRawCss } from "./font-
|
|
|
32
32
|
import { interpolate } from "./interpolate.js";
|
|
33
33
|
import { ModeBackedModifierDefinition, ModeBackedModifierInput, ModeBackedModifierLookup, OverrideModeRef, OverrideRow, buildModeBackedModifierLookup, buildNestedModifierUpdate, createModeBackedModifierLookup, mergeModifierUpdates, modifierIdToPath, modifierPathToId, modifierTreeToOverrideRows, overrideRowsToModifierTree, resolveOverrideRowValue } from "./token-override-rows.js";
|
|
34
34
|
import { rem } from "./units.js";
|
|
35
|
-
export { ASSET_CLASS_CAPABILITIES, type AnyRef, type AnyStylePropDefinition, type ArbitrarySpec, AssetGroup, type AssetGroupBuilder, type AssetGroupConfig, type AssetGroupDefinition, type AssetGroupName, type AssetGroupRef, type AssetKind, type AssetName, type AssetRef, type BaseStyles, type BooleanMarker, type BoundComponent, type BuildOptions, CSS_GLOBAL_KEYWORDS, CSS_PROPERTY_KEYWORDS, type CanvasRole, type CanvasRoleEntry, type CanvasRoleEntryInput, type CanvasRolesDefinition, type CanvasRolesDefinitionInput, type CanvasRolesInputConstraint, type ColorCssProperty, type ColorExpression, type ColorFn, type ColorKeyword, type ColorSpace, type ColorValue, Component, type ComponentBuilder, type ComponentBuilderMethods, type ComponentDefinition, ComponentGroup, type ComponentGroupDefinition, type ComponentKind, type ComponentMetadata, type ComponentName, type ComponentRef, type ComponentRenderFn, type CompositeInfo, type CompositeName, type CompositeRef, type CompositeRefBuilder, CompositeStyle, type CompositeStyleDefinition, type CompositeStyleObject, type CompoundPropsEntry, Config, type ConfigCallbackHelpers, type Css, type CssAngle, type CssClassName, type CssColor, type CssDeclaration, type CssGlobalKeyword, type CssLength, CssMotionDef, type CssMotionDefinition, type CssPercentage, type CssPropertyName, type CssPropertyValues, type CssPropertyWithKeywords, type CssRatio, type CssSelector, type CssTime, type CssValue, type CssValueTypeName, type CssVar, type CssVarRef, type DataAttrs, type DefineComponentFn, type DefinedComponent, type DefinedProvider, type DefinedStyleProp, type DefinedTokenGroup, type DependenciesQuery, type DependencyKind, type DependencyRef, type DependentsQuery, ELEMENT_MARKER_KIND, type ElementMarker, type FontAssetGroupConfig, type FontAssetGroupDefinition, type FontAssetMember, type FunctionInfo, type GlobalStylesDef, type GradientStop, type GradientValue, type HexColor, type HslColor, type IconAssetGroupConfig, type IconAssetGroupDefinition, type IconAssetMember, type IconAssetMetadata, JsMotionDef, type JsMotionDefinition, Layer, type LayerInput, type LayerMarker, type LayerPropsMap, type LengthOrPercent, type LineDirection, type LinearGradientExpr, type LiteralFor, type MixExpr, Mode, type ModeBackedModifierDefinition, type ModeBackedModifierInput, type ModeBackedModifierLookup, type ModeDefinition, type ModeName, ModeOption, type ModeOptionDefinition, type ModeRef, Modifier, type ModifierDefinition, type MotionDef, type MotionDefinitionInput, type MotionKeyframes, type MotionStateKeyframe, type MotionTransition, type NumberMarker, type OpacityPairSpec, type OpaqueLeafPredicate, type OverrideModeRef, type OverrideRow, PREVIEW_SEED_KEY, type PlaygroundOptions, type PlaygroundPage, type PlaygroundSpec, type PreviewAxisMarker, type PreviewCallbackHelpers, type PreviewDefinition, type PreviewPropsRule, type PrimitivePropKind, type PropBase, type PropBinding, type PropInfo, type PropKind, Provider, type RadialGradientExpr, type RadialSize, type RawToken, type RegisteredAssetGroups, type RegisteredComponents, type RegisteredCompositeStyles, type RegisteredModes, type RegisteredModifiers, type
|
|
35
|
+
export { ASSET_CLASS_CAPABILITIES, type AnyRef, type AnyStylePropDefinition, type ArbitrarySpec, AssetGroup, type AssetGroupBuilder, type AssetGroupConfig, type AssetGroupDefinition, type AssetGroupName, type AssetGroupRef, type AssetKind, type AssetName, type AssetRef, type BaseStyles, type BooleanMarker, type BoundComponent, type BuildOptions, CSS_GLOBAL_KEYWORDS, CSS_MOTION_DEFINITION_KEYS, CSS_PROPERTY_KEYWORDS, type CanvasRole, type CanvasRoleEntry, type CanvasRoleEntryInput, type CanvasRolesDefinition, type CanvasRolesDefinitionInput, type CanvasRolesInputConstraint, type ColorCssProperty, type ColorExpression, type ColorFn, type ColorKeyword, type ColorSpace, type ColorValue, Component, type ComponentBuilder, type ComponentBuilderMethods, type ComponentDefinition, ComponentGroup, type ComponentGroupDefinition, type ComponentKind, type ComponentMetadata, type ComponentName, type ComponentRef, type ComponentRenderFn, type CompositeInfo, type CompositeName, type CompositeRef, type CompositeRefBuilder, CompositeStyle, type CompositeStyleDefinition, type CompositeStyleObject, type CompoundPropsEntry, Config, type ConfigCallbackHelpers, type Css, type CssAngle, type CssClassName, type CssColor, type CssDeclaration, type CssGlobalKeyword, type CssLength, CssMotionDef, type CssMotionDefinition, type CssMotionFields, type CssPercentage, type CssPropertyName, type CssPropertyValues, type CssPropertyWithKeywords, type CssRatio, type CssSelector, type CssSlotMotion, type CssTime, type CssValue, type CssValueTypeName, type CssVar, type CssVarRef, type DataAttrs, type DefineComponentFn, type DefinedComponent, type DefinedProvider, type DefinedStyleProp, type DefinedTokenGroup, type DependenciesQuery, type DependencyKind, type DependencyRef, type DependentsQuery, ELEMENT_MARKER_KIND, type ElementMarker, type FontAssetGroupConfig, type FontAssetGroupDefinition, type FontAssetMember, type FunctionInfo, type GlobalStylesDef, type GradientStop, type GradientValue, type HexColor, type HslColor, type IconAssetGroupConfig, type IconAssetGroupDefinition, type IconAssetMember, type IconAssetMetadata, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef, type JsMotionDefinition, type JsMotionFields, type JsSlotMotion, Layer, type LayerInput, type LayerMarker, type LayerPropsMap, type LengthOrPercent, type LineDirection, type LinearGradientExpr, type LiteralFor, type MixExpr, Mode, type ModeBackedModifierDefinition, type ModeBackedModifierInput, type ModeBackedModifierLookup, type ModeDefinition, type ModeName, ModeOption, type ModeOptionDefinition, type ModeRef, Modifier, type ModifierDefinition, type MotionDef, type MotionDefinitionInput, type MotionDragBox, type MotionKeyframes, type MotionMarker, type MotionName, type MotionState, type MotionStateKeyframe, type MotionTransition, type MotionVariants, type MotionViewportOptions, type NumberMarker, type OpacityPairSpec, type OpaqueLeafPredicate, type OverrideModeRef, type OverrideRow, PREVIEW_SEED_KEY, type PlaygroundOptions, type PlaygroundPage, type PlaygroundSpec, type PreviewAxisMarker, type PreviewCallbackHelpers, type PreviewDefinition, type PreviewPropsRule, type PrimitivePropKind, type PropBase, type PropBinding, type PropInfo, type PropKind, Provider, type RadialGradientExpr, type RadialSize, type RawToken, type RegisteredAssetGroups, type RegisteredComponents, type RegisteredCompositeStyles, type RegisteredModes, type RegisteredModifiers, type RegisteredMotion, type RegisteredStyleProps, type RegisteredTokenGroups, type RequiredBrand, type ResolvedCompoundOverrides, type ResolvedTokenLiteral, type RgbColor, SOURCE_PATH_KEY, type SerializedAssetGroup, type SerializedComponentGroup, type SerializedConfig, type SerializedFontAssetGroup, type SerializedIconAssetGroup, type SerializedPlaygroundOptions, type SerializedTokenGroup, type SlotInfo, type SlotMarker, type SlotMotion, type SlotRef, type SlotValueKind, type SlotValueType, type StringMarker, StyleProp, type StylePropDefinition, type StylePropInfo, type StylePropKeyword, type StylePropMetadata, type StylePropName, type StylePropProperty, type StylePropRef, type StylePropTokenUsage, type TagName, type TagRef, Token, type TokenDefinition, TokenGroup, type TokenGroupDefinition, type TokenGroupMetadata, type TokenGroupName, type TokenGroupRef, type TokenModifierKey, type TokenModifierValue, type TokenName, type TokenQualifiedName, type TokenRawNameRegistry, type TokenRawValue, type TokenRef, type TokenRefToCss, type TokenType, type TokenValue, type TypedSlotRef, type ValuesEntry, type VariantInfo, type VariantMarker, type VariantMarkerArray, type VariantMarkerObject, alpha, asChild, asset, assetGroup, attachSourcePath, boolean, buildModeBackedModifierLookup, buildNestedModifierUpdate, captureCallerPath, collectFontFaceCss, component, composite, createModeBackedModifierLookup, cssClassName, cssDeclaration, cssSelector, cssVar, defineAssetGroup, defineAssetIcon, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineProvider, defineStyleProp, defineTokenGroup, deriveFontFaceCss, familiesInRawCss, findComponentReferrers, hasElementMarkerDeep, interpolate, isAssetGroupRef, isAssetRef, isBoolMarker, isColorExpression, isComponentRef, isCompositeRef, isElementLikeValue, isElementMarker, isLayerMarker, isLinearGradientExpr, isMixExpr, isModeRef, isMotionMarker, isNumberMarker, isPlaceable, isPreviewAxisMarker, isRadialGradientExpr, isSafeClassNameValue, isSlotMarker, isStringMarker, isStylePropRef, isTagRef, isTokenGroupRef, isTokenRef, isVariantArrayMarker, isVariantMarker, linearGradient, makeTokenRefToCss, matchesPreviewWhen, mergeModifierUpdates, mix, mode, modifierIdToPath, modifierPathToId, modifierTreeToOverrideRows, motion, number, overrideRowsToModifierTree, parseRegistryKey, radialGradient, readSourcePath, rem, resolveAssetRefCss, resolveColorExpression, resolveFontStack, resolveOverrideRowValue, resolvePreviewRules, reviveElementMarkersDeep, slot, string, styleProp, tag, token, tokenGroup, variant };
|
package/dist/index.js
CHANGED
|
@@ -8,13 +8,13 @@ import { asset, assetGroup, component, composite, isAssetGroupRef, isAssetRef, i
|
|
|
8
8
|
import { alpha, isColorExpression, isLinearGradientExpr, isMixExpr, isRadialGradientExpr, linearGradient, mix, radialGradient, resolveColorExpression } from "./colorExpressions.js";
|
|
9
9
|
import { defineAssetGroup, defineAssetIcon } from "./defineAssetGroup.js";
|
|
10
10
|
import { ELEMENT_MARKER_KIND, hasElementMarkerDeep, isElementLikeValue, isElementMarker, reviveElementMarkersDeep } from "./element-marker.js";
|
|
11
|
-
import { PREVIEW_SEED_KEY, isBoolMarker, isLayerMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules } from "./markers.js";
|
|
11
|
+
import { PREVIEW_SEED_KEY, isBoolMarker, isLayerMarker, isMotionMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules } from "./markers.js";
|
|
12
12
|
import { Component, Layer } from "./Component.js";
|
|
13
13
|
import { ComponentGroup } from "./ComponentGroup.js";
|
|
14
14
|
import { CompositeStyle } from "./CompositeStyle.js";
|
|
15
15
|
import { Mode, ModeOption } from "./Mode.js";
|
|
16
16
|
import { Modifier } from "./Modifier.js";
|
|
17
|
-
import { CssMotionDef, JsMotionDef } from "./MotionDef.js";
|
|
17
|
+
import { CSS_MOTION_DEFINITION_KEYS, CssMotionDef, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef } from "./MotionDef.js";
|
|
18
18
|
import { Provider } from "./Provider.js";
|
|
19
19
|
import { StyleProp, isSafeClassNameValue } from "./StyleProp.js";
|
|
20
20
|
import { Token } from "./Token.js";
|
|
@@ -22,10 +22,10 @@ import { TokenGroup } from "./TokenGroup.js";
|
|
|
22
22
|
import { Config, parseRegistryKey } from "./Config.js";
|
|
23
23
|
import { findComponentReferrers } from "./component-referrers.js";
|
|
24
24
|
import { defineProvider } from "./defineProvider.js";
|
|
25
|
-
import { asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, number, slot, string, variant } from "./factories.js";
|
|
25
|
+
import { asChild, boolean, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineStyleProp, defineTokenGroup, motion, number, slot, string, variant } from "./factories.js";
|
|
26
26
|
import { collectFontFaceCss, deriveFontFaceCss, familiesInRawCss } from "./font-face.js";
|
|
27
27
|
import { interpolate } from "./interpolate.js";
|
|
28
28
|
import { buildModeBackedModifierLookup, buildNestedModifierUpdate, createModeBackedModifierLookup, mergeModifierUpdates, modifierIdToPath, modifierPathToId, modifierTreeToOverrideRows, overrideRowsToModifierTree, resolveOverrideRowValue } from "./token-override-rows.js";
|
|
29
29
|
import { CSS_GLOBAL_KEYWORDS, CSS_PROPERTY_KEYWORDS } from "./types/css-property-keywords.js";
|
|
30
30
|
import { rem } from "./units.js";
|
|
31
|
-
export { ASSET_CLASS_CAPABILITIES, AssetGroup, CSS_GLOBAL_KEYWORDS, CSS_PROPERTY_KEYWORDS, Component, ComponentGroup, CompositeStyle, Config, CssMotionDef, ELEMENT_MARKER_KIND, JsMotionDef, Layer, Mode, ModeOption, Modifier, PREVIEW_SEED_KEY, Provider, SOURCE_PATH_KEY, StyleProp, Token, TokenGroup, alpha, asChild, asset, assetGroup, attachSourcePath, boolean, buildModeBackedModifierLookup, buildNestedModifierUpdate, captureCallerPath, collectFontFaceCss, component, composite, createModeBackedModifierLookup, cssClassName, cssDeclaration, cssSelector, cssVar, defineAssetGroup, defineAssetIcon, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineProvider, defineStyleProp, defineTokenGroup, deriveFontFaceCss, familiesInRawCss, findComponentReferrers, hasElementMarkerDeep, interpolate, isAssetGroupRef, isAssetRef, isBoolMarker, isColorExpression, isComponentRef, isCompositeRef, isElementLikeValue, isElementMarker, isLayerMarker, isLinearGradientExpr, isMixExpr, isModeRef, isNumberMarker, isPlaceable, isPreviewAxisMarker, isRadialGradientExpr, isSafeClassNameValue, isSlotMarker, isStringMarker, isStylePropRef, isTagRef, isTokenGroupRef, isTokenRef, isVariantArrayMarker, isVariantMarker, linearGradient, makeTokenRefToCss, matchesPreviewWhen, mergeModifierUpdates, mix, mode, modifierIdToPath, modifierPathToId, modifierTreeToOverrideRows, number, overrideRowsToModifierTree, parseRegistryKey, radialGradient, readSourcePath, rem, resolveAssetRefCss, resolveColorExpression, resolveFontStack, resolveOverrideRowValue, resolvePreviewRules, reviveElementMarkersDeep, slot, string, styleProp, tag, token, tokenGroup, variant };
|
|
31
|
+
export { ASSET_CLASS_CAPABILITIES, AssetGroup, CSS_GLOBAL_KEYWORDS, CSS_MOTION_DEFINITION_KEYS, CSS_PROPERTY_KEYWORDS, Component, ComponentGroup, CompositeStyle, Config, CssMotionDef, ELEMENT_MARKER_KIND, JS_MOTION_DEFINITION_KEYS, JS_MOTION_FIELD_KEYS, JsMotionDef, Layer, Mode, ModeOption, Modifier, PREVIEW_SEED_KEY, Provider, SOURCE_PATH_KEY, StyleProp, Token, TokenGroup, alpha, asChild, asset, assetGroup, attachSourcePath, boolean, buildModeBackedModifierLookup, buildNestedModifierUpdate, captureCallerPath, collectFontFaceCss, component, composite, createModeBackedModifierLookup, cssClassName, cssDeclaration, cssSelector, cssVar, defineAssetGroup, defineAssetIcon, defineComponent, defineComponentGroup, defineCompositeStyle, defineMode, defineModifier, defineMotion, defineProvider, defineStyleProp, defineTokenGroup, deriveFontFaceCss, familiesInRawCss, findComponentReferrers, hasElementMarkerDeep, interpolate, isAssetGroupRef, isAssetRef, isBoolMarker, isColorExpression, isComponentRef, isCompositeRef, isElementLikeValue, isElementMarker, isLayerMarker, isLinearGradientExpr, isMixExpr, isModeRef, isMotionMarker, isNumberMarker, isPlaceable, isPreviewAxisMarker, isRadialGradientExpr, isSafeClassNameValue, isSlotMarker, isStringMarker, isStylePropRef, isTagRef, isTokenGroupRef, isTokenRef, isVariantArrayMarker, isVariantMarker, linearGradient, makeTokenRefToCss, matchesPreviewWhen, mergeModifierUpdates, mix, mode, modifierIdToPath, modifierPathToId, modifierTreeToOverrideRows, motion, number, overrideRowsToModifierTree, parseRegistryKey, radialGradient, readSourcePath, rem, resolveAssetRefCss, resolveColorExpression, resolveFontStack, resolveOverrideRowValue, resolvePreviewRules, reviveElementMarkersDeep, slot, string, styleProp, tag, token, tokenGroup, variant };
|
package/dist/markers.d.ts
CHANGED
|
@@ -161,6 +161,11 @@ interface NumberMarker {
|
|
|
161
161
|
}
|
|
162
162
|
declare function isStringMarker(value: unknown): value is StringMarker;
|
|
163
163
|
declare function isNumberMarker(value: unknown): value is NumberMarker;
|
|
164
|
+
interface MotionMarker {
|
|
165
|
+
readonly __kind: 'motion';
|
|
166
|
+
readonly __required?: boolean;
|
|
167
|
+
}
|
|
168
|
+
declare function isMotionMarker(value: unknown): value is MotionMarker;
|
|
164
169
|
interface LayerMarker {
|
|
165
170
|
readonly __kind: 'layer';
|
|
166
171
|
readonly layer: string;
|
|
@@ -224,4 +229,4 @@ interface PreviewAxisMarker {
|
|
|
224
229
|
}
|
|
225
230
|
declare function isPreviewAxisMarker(value: unknown): value is PreviewAxisMarker;
|
|
226
231
|
//#endregion
|
|
227
|
-
export { BooleanMarker, ComponentSlotMarker, LayerMarker, NumberMarker, PREVIEW_SEED_KEY, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject, isBoolMarker, isLayerMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules };
|
|
232
|
+
export { BooleanMarker, ComponentSlotMarker, LayerMarker, MotionMarker, NumberMarker, PREVIEW_SEED_KEY, PreviewAxisMarker, PreviewPropsRule, RequiredBrand, SlotMarker, SlotRef, SlotValueType, StringMarker, VariantMarker, VariantMarkerArray, VariantMarkerObject, isBoolMarker, isLayerMarker, isMotionMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules };
|
package/dist/markers.js
CHANGED
|
@@ -30,6 +30,9 @@ function isStringMarker(value) {
|
|
|
30
30
|
function isNumberMarker(value) {
|
|
31
31
|
return typeof value === "object" && value !== null && value.__kind === "number";
|
|
32
32
|
}
|
|
33
|
+
function isMotionMarker(value) {
|
|
34
|
+
return typeof value === "object" && value !== null && value.__kind === "motion";
|
|
35
|
+
}
|
|
33
36
|
function isLayerMarker(value) {
|
|
34
37
|
return typeof value === "object" && value !== null && value.__kind === "layer";
|
|
35
38
|
}
|
|
@@ -64,4 +67,4 @@ function isPreviewAxisMarker(value) {
|
|
|
64
67
|
return typeof value === "object" && value !== null && value.__kind === "previewAxis";
|
|
65
68
|
}
|
|
66
69
|
//#endregion
|
|
67
|
-
export { PREVIEW_SEED_KEY, isBoolMarker, isLayerMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules };
|
|
70
|
+
export { PREVIEW_SEED_KEY, isBoolMarker, isLayerMarker, isMotionMarker, isNumberMarker, isPreviewAxisMarker, isSlotMarker, isStringMarker, isVariantArrayMarker, isVariantMarker, matchesPreviewWhen, resolvePreviewRules };
|
package/dist/refs.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ interface RegisteredModes {}
|
|
|
32
32
|
interface RegisteredCompositeStyles {}
|
|
33
33
|
interface RegisteredStyleProps {}
|
|
34
34
|
interface RegisteredComponents {}
|
|
35
|
-
interface
|
|
35
|
+
interface RegisteredMotion {}
|
|
36
36
|
interface RegisteredAssetGroups {}
|
|
37
37
|
interface TokenRawNameRegistry {}
|
|
38
38
|
/** `<groupName>/<tokenName>` for every registered token. */
|
|
@@ -65,6 +65,10 @@ type ModeName = [keyof RegisteredModes] extends [never] ? `${string}/${string}`
|
|
|
65
65
|
type StylePropName = [keyof RegisteredStyleProps] extends [never] ? string : keyof RegisteredStyleProps & string;
|
|
66
66
|
/** Registered component names — `'Box'`, `'Alert'`. */
|
|
67
67
|
type ComponentName = [keyof RegisteredComponents] extends [never] ? string : keyof RegisteredComponents & string;
|
|
68
|
+
/** Registered `registerMotion({...})` preset names — `'fadeIn'`, `'slideUp'`.
|
|
69
|
+
* Falls open to `string` when the registry isn't augmented (this package's
|
|
70
|
+
* own compilation), so a `motion()` prop still typechecks in isolation. */
|
|
71
|
+
type MotionName = [keyof RegisteredMotion] extends [never] ? string : keyof RegisteredMotion & string;
|
|
68
72
|
/** Bare asset-group slugs — `'icons'`, `'fonts'`. */
|
|
69
73
|
type AssetGroupName = [keyof RegisteredAssetGroups] extends [never] ? string : keyof RegisteredAssetGroups & string;
|
|
70
74
|
/**
|
|
@@ -178,4 +182,4 @@ declare function isComponentRef(value: unknown): value is ComponentRef;
|
|
|
178
182
|
declare function isAssetGroupRef(value: unknown): value is AssetGroupRef;
|
|
179
183
|
declare function isAssetRef(value: unknown): value is AssetRef;
|
|
180
184
|
//#endregion
|
|
181
|
-
export { AnyRef, AssetGroupName, AssetGroupRef, AssetName, AssetRef, ComponentName, ComponentRef, CompositeName, CompositeRef, CompositeRefBuilder, ModeName, ModeRef, RegisteredAssetGroups, RegisteredComponents, RegisteredCompositeStyles, RegisteredModes, RegisteredModifiers,
|
|
185
|
+
export { AnyRef, AssetGroupName, AssetGroupRef, AssetName, AssetRef, ComponentName, ComponentRef, CompositeName, CompositeRef, CompositeRefBuilder, ModeName, ModeRef, MotionName, RegisteredAssetGroups, RegisteredComponents, RegisteredCompositeStyles, RegisteredModes, RegisteredModifiers, RegisteredMotion, RegisteredStyleProps, RegisteredTokenGroups, StylePropName, StylePropRef, TagName, TagRef, TokenGroupName, TokenGroupRef, TokenName, TokenQualifiedName, TokenRawNameRegistry, TokenRef, asset, assetGroup, component, composite, isAssetGroupRef, isAssetRef, isComponentRef, isCompositeRef, isModeRef, isStylePropRef, isTagRef, isTokenGroupRef, isTokenRef, mode, styleProp, tag, token, tokenGroup };
|