@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.
@@ -117,6 +117,8 @@ type PropInfo = (PropBase & {
117
117
  kind: 'string';
118
118
  }) | (PropBase & {
119
119
  kind: 'number';
120
+ }) | (PropBase & {
121
+ kind: 'motion';
120
122
  }) | (PropBase & {
121
123
  kind: 'styleProp';
122
124
  } & StylePropInfo) | (PropBase & {
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,
@@ -1,4 +1,4 @@
1
- import { CssMotionDefinition, JsMotionDefinition, MotionKeyframes, MotionStateKeyframe, MotionTransition } from "./types.js";
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 animationDuration?: string | number;
12
- readonly animationTimingFunction?: string;
13
- readonly animationDelay?: string | number;
14
- readonly animationIterationCount?: string | number;
15
- readonly animationDirection?: string;
16
- readonly animationFillMode?: string;
17
- readonly animationPlayState?: string;
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 initial?: MotionStateKeyframe;
34
- readonly animate?: MotionStateKeyframe;
35
- readonly exit?: MotionStateKeyframe;
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?: MotionStateKeyframe;
38
- readonly whileTap?: MotionStateKeyframe;
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
- animationDuration;
18
- animationTimingFunction;
19
- animationDelay;
20
- animationIterationCount;
21
- animationDirection;
22
- animationFillMode;
23
- animationPlayState;
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.animationDuration = d.animationDuration;
32
- this.animationTimingFunction = d.animationTimingFunction;
33
- this.animationDelay = d.animationDelay;
34
- this.animationIterationCount = d.animationIterationCount;
35
- this.animationDirection = d.animationDirection;
36
- this.animationFillMode = d.animationFillMode;
37
- this.animationPlayState = d.animationPlayState;
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
- animationDuration: this.animationDuration,
52
- animationTimingFunction: this.animationTimingFunction,
53
- animationDelay: this.animationDelay,
54
- animationIterationCount: this.animationIterationCount,
55
- animationDirection: this.animationDirection,
56
- animationFillMode: this.animationFillMode,
57
- animationPlayState: this.animationPlayState,
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.initial = args.definition.initial;
75
- this.animate = args.definition.animate;
76
- this.exit = args.definition.exit;
77
- this.transition = args.definition.transition;
78
- this.whileHover = args.definition.whileHover;
79
- this.whileTap = args.definition.whileTap;
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>>;
@@ -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, RegisteredMotionDefs, 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";
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 RegisteredMotionDefs, 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, 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 };
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 RegisteredMotionDefs {}
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, RegisteredMotionDefs, 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 };
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 };