@yahoo/uds-v5-wip 1.42.0 → 1.44.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.
Files changed (33) hide show
  1. package/dist/config/dist/Props.d.ts +5 -0
  2. package/dist/config/dist/component-config.d.ts +14 -0
  3. package/dist/config/dist/component-refs.d.ts +13 -0
  4. package/dist/config/dist/component-resolution.d.ts +1 -1
  5. package/dist/config/dist/consts/defaultColors.d.ts +2 -1
  6. package/dist/config/dist/createConfig.d.ts +13 -1
  7. package/dist/config/dist/createConfig.js +3 -1
  8. package/dist/config/dist/defineComponent.d.ts +7 -0
  9. package/dist/config/dist/defineStyleProp.d.ts +31 -1
  10. package/dist/config/dist/index.d.ts +1 -1
  11. package/dist/config/dist/preset-merge.js +5 -0
  12. package/dist/config/dist/resolveStyleProp.d.ts +7 -0
  13. package/dist/config/dist/resolveStyleProp.js +20 -8
  14. package/dist/config/dist/runtime-registry.js +9 -0
  15. package/dist/config/dist/serialize.d.ts +2 -1
  16. package/dist/config/dist/types/css-values.d.ts +2 -1
  17. package/dist/config/dist/types.d.ts +2 -1
  18. package/dist/core/dist/color-opacity-map.d.ts +2 -1
  19. package/dist/core/dist/compositeStyles.d.ts +2 -1
  20. package/dist/core/dist/configurable-prop-helpers.d.ts +2 -1
  21. package/dist/core/dist/createComponent.d.ts +2 -1
  22. package/dist/core/dist/createComponentExample.d.ts +2 -1
  23. package/dist/core/dist/createProvider.d.ts +2 -1
  24. package/dist/core/dist/generated/stylePropsTwMap.d.ts +2 -1
  25. package/dist/core/dist/getComponentStyles.d.ts +2 -1
  26. package/dist/core/dist/getStyles.d.ts +2 -1
  27. package/dist/core/dist/modifier-mappings.d.ts +2 -1
  28. package/dist/core/dist/resolveMotionState.d.ts +2 -1
  29. package/dist/core/dist/style-prop-data.d.ts +2 -1
  30. package/dist/core/dist/transformPreset.d.ts +2 -1
  31. package/dist/core/dist/withDefaultStyleProps.d.ts +2 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +3 -3
@@ -3,6 +3,7 @@ import { ComponentConfigValue, HtmlTag, LayerInput, PropBinding } from "./compon
3
3
  import { ComponentPropsWithoutRef, HTMLAttributes, JSX } from "react";
4
4
 
5
5
  //#region ../config/dist/Props.d.ts
6
+ //#region src/Props.d.ts
6
7
  /**
7
8
  * Resolve the native HTML-attribute surface for the config's root tag.
8
9
  *
@@ -65,5 +66,9 @@ interface DataAttrs {
65
66
  type Props<TConfig extends ComponentConfigValue<Record<string, LayerInput>, Record<string, PropBinding>, HtmlTag | undefined>> = TConfig extends ComponentConfigValue<Record<string, LayerInput>, infer TProps extends Record<string, PropBinding>, infer TTag extends HtmlTag | undefined> ? Prettify<PropsFromConfig<TProps> & Omit<ElementProps<TTag>, keyof TProps> & DataAttrs & {
66
67
  as?: string;
67
68
  }> : never;
69
+ /**
70
+ * `Props<typeof boxConfig>` for the common 'use the config's inferred
71
+ * type' invocation. Keeps `box.tsx` from having to repeat the generic.
72
+ */
68
73
  //#endregion
69
74
  export { Props };
@@ -2,6 +2,7 @@ import { ComponentRef, CompositeRef, RegisteredComponents, StylePropRef } from "
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region ../config/dist/component-config.d.ts
5
+ //#region src/component-config.d.ts
5
6
  /**
6
7
  * HTML tag literal. The TypeScript type is `string` (any tag name);
7
8
  * runtime renders it via `React.createElement(tag, ...)`.
@@ -158,6 +159,14 @@ type PrimitivePropBinding = StylePropShorthand | VerbosePropBinding;
158
159
  * tighter `VerbosePropBinding`.
159
160
  */
160
161
  type PropBinding = PrimitivePropBinding;
162
+ /**
163
+ * Marker for a boolean JSX prop. Use inside the `props` block:
164
+ *
165
+ * props: {
166
+ * loading: bool(),
167
+ * disabled: bool(),
168
+ * }
169
+ */
161
170
  /**
162
171
  * Branded shape returned by `defineComponent({...})`. Carries `layers`,
163
172
  * `props`, AND a phantom `__tag` slot as const-narrowed types so
@@ -183,5 +192,10 @@ interface ComponentConfigValue<TLayers extends Record<string, LayerInput>, TProp
183
192
  readonly props?: TProps;
184
193
  readonly defaultProps?: Record<string, unknown>;
185
194
  }
195
+ /**
196
+ * The bundle passed to the render function for each layer — a ready-to-
197
+ * spread object with `className` and any forwarded attrs. The render
198
+ * function destructures `props.<layerName>` into the JSX position.
199
+ */
186
200
  //#endregion
187
201
  export { BoolMarker, ComponentConfigValue, ComposedLayer, CompositeBinding, EnumMarker, HtmlTag, LayerInput, PrimitiveLayer, PrimitivePropBinding, PropBinding, RootTag, SingleLayerCompositeBinding, StylePropBinding, StylePropShorthand, SurfaceForward, VerbosePropBinding };
@@ -1,4 +1,5 @@
1
1
  //#region ../config/dist/component-refs.d.ts
2
+ //#region src/component-refs.d.ts
2
3
  /**
3
4
  * Augmentable registries + template-literal ref types for the
4
5
  * component-API surface.
@@ -63,6 +64,14 @@ interface RegisteredStyleProps {}
63
64
  * call.
64
65
  */
65
66
  interface RegisteredComposites {}
67
+ /**
68
+ * Registered motion-preset names. Each key is the preset identifier
69
+ * (`'{fadeIn}'`); value is `void`.
70
+ *
71
+ * Populated by codegen from `uds.config.ts`'s `.defineMotion({...})`
72
+ * (motion has no separate `.registerMotion` step today; the entries
73
+ * come directly from `defineMotion` keys).
74
+ */
66
75
  /**
67
76
  * Brace-wrapped reference to a registered React component. Falls open
68
77
  * to `'{${string}}'` when the registry is unaugmented (e.g. inside
@@ -81,5 +90,9 @@ type StylePropRef = [keyof RegisteredStyleProps] extends [never] ? `{${string}}`
81
90
  * when unaugmented.
82
91
  */
83
92
  type CompositeRef = [keyof RegisteredComposites] extends [never] ? `{${string}}` : `{${Extract<keyof RegisteredComposites, string>}}`;
93
+ /**
94
+ * Brace-wrapped reference to a registered motion preset. Falls open
95
+ * when unaugmented.
96
+ */
84
97
  //#endregion
85
98
  export { ComponentRef, CompositeRef, RegisteredComponents, RegisteredComposites, RegisteredStyleProps, StylePropRef };
@@ -1 +1 @@
1
- import { ComponentsConfig } from "@uds/types";
1
+ export { };
@@ -1,4 +1,5 @@
1
1
  //#region ../config/dist/consts/defaultColors.d.ts
2
+ //#region src/consts/defaultColors.d.ts
2
3
  declare const defaultColors: {
3
4
  inherit: string;
4
5
  current: string;
@@ -247,6 +248,6 @@ declare const defaultColors: {
247
248
  'rose-800': string;
248
249
  'rose-900': string;
249
250
  'rose-950': string;
250
- };
251
+ }; //#endregion
251
252
  //#endregion
252
253
  export { defaultColors };
@@ -1,11 +1,12 @@
1
1
  import { ComponentConfigValue } from "./component-config.js";
2
2
  import { BoundComponent } from "./defineComponent.js";
3
3
  import { AnyStyleProp } from "./defineStyleProp.js";
4
- import { ResolvedStyleProp } from "./resolveStyleProp.js";
5
4
  import { TokenType, VarsConfig } from "./types.js";
5
+ import { ResolvedStyleProp } from "./resolveStyleProp.js";
6
6
  import { BaseModifierProp, ComponentsConfig, CompositeStylesConfig, ConfigurableProp, ModifierProp, MotionPreset, RemotionComponentDef, RemotionConfig, RemotionTransitionDef } from "@uds/types";
7
7
 
8
8
  //#region ../config/dist/createConfig.d.ts
9
+ //#region src/createConfig.d.ts
9
10
  type MotionPresetsDef = Record<string, MotionPreset>;
10
11
  type MotionAliasValue<TMotion> = TMotion extends Record<string, infer V> ? Extract<V, string> : never;
11
12
  type EmptyMotion = {};
@@ -78,6 +79,12 @@ type GetModifierFromInput<I extends ModesInput> = { [SetKey in keyof I]: { [OptK
78
79
  } ? M extends ModifierNameShape ? M : never : OptKey extends string ? `_${OptKey}` : never }[keyof I[SetKey]['options']] }[keyof I];
79
80
  /** Reject any input whose derived/explicit modifiers collide with reserved names. */
80
81
  type CheckForReservedModifiersInput<I extends ModesInput> = true extends HasReservedModifier<GetModifierFromInput<I>> ? 'ERROR: Cannot use reserved modifier names from ModifierProp. Please use a different modifier name.' : I;
82
+ /**
83
+ * Convert the authored object-keyed input into the internal `ModeGroup[]` shape.
84
+ * Derives `_${optionKey}` modifiers when no explicit `modifier` is provided.
85
+ * Never sets `default: true` — the new API has no concept of a default option;
86
+ * downstream consumers treat "no option active" as the implicit default.
87
+ */
81
88
  interface ModifierDef {
82
89
  modifier: ModifierNameShape;
83
90
  selector: string;
@@ -157,6 +164,7 @@ type VarsToTokens<TVars extends VarsConfig> = { [K in keyof TVars]: { [T in Excl
157
164
  type MergeTokens<A, B> = { [K in keyof A | keyof B]: K extends keyof B ? K extends keyof A ? A[K] & B[K] : B[K] : K extends keyof A ? A[K] : never };
158
165
  /** Build a structured token reference object from atomic tokens */
159
166
  declare function buildTokenReference(atomic: AtomicToken<ModifierNameShape>[], configPrefix: string): Record<string, Record<string, string>>;
167
+ /** Build a structured composite-styles reference object for use in defineModifiers context */
160
168
  /** Global styles definition — CSS selector → style props */
161
169
  type GlobalStylesDef = Record<string, Record<string, any>>;
162
170
  /** CSS properties for the example wrapper element */
@@ -349,6 +357,10 @@ interface UdsConfig<TModifier extends ModifierNameShape = ModifierProp, TTokens
349
357
  type AnyUdsConfig = UdsConfig<ModifierNameShape, any, any, any, any, any, any>;
350
358
  /** Extract the raw config data from a builder instance */
351
359
  declare function resolveConfig(config: AnyUdsConfig): UdsConfigData;
360
+ /**
361
+ * Resolve configuration with all token references replaced by their raw values.
362
+ * Useful for tools that need the actual values (e.g. anatomy generation).
363
+ */
352
364
  declare function createConfigBuilder<TModifier extends ModifierNameShape = ModifierProp, TTokens = EmptyTokens, TMotion = EmptyMotion, TExt extends Record<string, any> = {}, TCompositeStyles = EmptyCompositeStyles, TModeModifiers extends ModifierNameShape = never, TVars extends VarsConfig = EmptyVars>(data: UdsConfigData, extensions?: TExt): UdsConfig<TModifier, TTokens, TMotion, TExt, TCompositeStyles, TModeModifiers, TVars> & TExt;
353
365
  interface InterpolateMarker {
354
366
  __type: 'interpolate';
@@ -4,9 +4,10 @@ import "../../utils/dist/index.js";
4
4
  import { getConfigurablePropMapping } from "../../core/dist/configurable-prop-helpers.js";
5
5
  import "../../core/dist/index.js";
6
6
  import { buildMotionReference, resolveComponentMotionAliases, validateComponentVariants } from "./component-resolution.js";
7
- import { applyPresetToData, deepMerge, mergeAtomic } from "./preset-merge.js";
7
+ import { setRegisteredStyleProps } from "./runtime-registry.js";
8
8
  import { resolveTokenType, sniffTokenTypeFromValue } from "./resolveTokenTypes.js";
9
9
  import { resolveStyleProp } from "./resolveStyleProp.js";
10
+ import { applyPresetToData, deepMerge, mergeAtomic } from "./preset-merge.js";
10
11
  //#region ../config/dist/createConfig.js
11
12
  /** biome-ignore-all lint/suspicious/noExplicitAny: necessary for dynamic builder to work correctly */
12
13
  /**
@@ -239,6 +240,7 @@ function resolveConfig(config) {
239
240
  resolvedStyleProps: resolved
240
241
  };
241
242
  }
243
+ if (configData.styleProps) setRegisteredStyleProps(configData.styleProps);
242
244
  }
243
245
  return configData;
244
246
  }
@@ -3,6 +3,7 @@ import { Props } from "./Props.js";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region ../config/dist/defineComponent.d.ts
6
+ //#region src/defineComponent.d.ts
6
7
  /**
7
8
  * A React component bound to a `defineComponent` config, with the
8
9
  * source config attached as a phantom type slot. Tools (codegen,
@@ -13,5 +14,11 @@ import { ReactNode } from "react";
13
14
  type BoundComponent<TConfig extends ComponentConfigValue<Record<string, LayerInput>, any, HtmlTag | undefined>, TExtra extends Record<string, unknown> = {}> = React.FC<Props<TConfig> & TExtra> & {
14
15
  readonly __config: TConfig;
15
16
  };
17
+ /**
18
+ * A `defineComponent({...})` config value with a `.render(fn)` builder
19
+ * method bolted on. The builder is non-enumerable so JSON serialization
20
+ * still produces pure data — codegen can read `__kind`, `layers`,
21
+ * `props`, and `defaultProps` without seeing the render hook.
22
+ */
16
23
  //#endregion
17
24
  export { BoundComponent };
@@ -1,4 +1,4 @@
1
- import { CssValue, CssValueTypeName } from "./types/css-values.js";
1
+ import { CssValueTypeName } from "./types/css-values.js";
2
2
 
3
3
  //#region ../config/dist/defineStyleProp.d.ts
4
4
  /** Runtime input type for `toCss` based on the entry's `type`. */
@@ -22,10 +22,31 @@ type ArbitraryEntry = { [T in CssValueTypeName]: {
22
22
  * - An array of {@link ArbitraryEntry} for multi-shape acceptance.
23
23
  */
24
24
  type ArbitrarySpec = CssValueTypeName | readonly ArbitraryEntry[];
25
+ /**
26
+ * The literal-keyword subset of values a property accepts, derived from
27
+ * {@link CssPropertyValues}[P]. For custom CSS properties (`--*`) the value
28
+ * type is governed by the required `cssType` field instead, so any string
29
+ * is accepted at the type level.
30
+ */
25
31
  type StylePropMetadata = {
26
32
  label?: string;
27
33
  description?: string;
28
34
  };
35
+ /**
36
+ * A finalized style prop. Returned by `defineStyleProp(spec)` (or the
37
+ * `.metadata({...})` chain). Consumers wrap these in
38
+ * `uds.registerStyleProps({ <propName>: ... })`.
39
+ *
40
+ * `cssProperty` is passed through verbatim from the authored input:
41
+ * - **string** — a direct prop writing one CSS property.
42
+ * - **`readonly string[]`** — a fan-out prop writing every CSS
43
+ * property in the list (e.g. `borderRadiusStart` covering both
44
+ * start-side corners).
45
+ *
46
+ * Readers that need iteration normalize at the call site
47
+ * (`Array.isArray(p) ? p : [p]`); readers that only need the primary
48
+ * use the string directly or `Array.isArray(p) ? p[0] : p`.
49
+ */
29
50
  /**
30
51
  * Structurally-loose form of {@link StyleProp}. Any concrete `StyleProp<P>`
31
52
  * is assignable to this. Used at registration / resolution boundaries where
@@ -41,5 +62,14 @@ interface AnyStyleProp {
41
62
  readonly cssType?: CssValueTypeName;
42
63
  readonly metadata: StylePropMetadata;
43
64
  }
65
+ /**
66
+ * Return shape of {@link defineStyleProp}. The `metadata` field doubles as
67
+ * a callable chain: read it to access `{ label?, description? }` (both
68
+ * optional, so an unset metadata reads `undefined` for either field) or
69
+ * call it as `.metadata({ label, description })` to attach metadata and
70
+ * get back a plain {@link StyleProp}. A function satisfies the
71
+ * {@link StylePropMetadata} structural shape because both fields are
72
+ * optional, so the dual nature is type-safe.
73
+ */
44
74
  //#endregion
45
75
  export { AnyStyleProp, ArbitraryEntry, ArbitrarySpec, StylePropMetadata };
@@ -4,9 +4,9 @@ import { Props } from "./Props.js";
4
4
  import { BoundComponent } from "./defineComponent.js";
5
5
  import { ColorFn, ColorKeyword, CssAngle, CssColor, CssLength, CssPercentage, CssRatio, CssTime, CssValue, CssValueTypeName, HexColor, HslColor, RgbColor } from "./types/css-values.js";
6
6
  import { AnyStyleProp, ArbitraryEntry, ArbitrarySpec, StylePropMetadata } from "./defineStyleProp.js";
7
- import { ResolvedStyleProp, ResolvedToken } from "./resolveStyleProp.js";
8
7
  import { TokenType, VarGroupDef, VarTokenDef, VarsConfig } from "./types.js";
9
8
  import { AtomicToken, BuildOptions, CheckForReservedModifiersInput, ComponentConfig, DefineComponentInput, DefineComponentMotionInput, ExampleDef, ExampleEntryDef, ExampleLayoutStyles, GetModifierFromInput, GlobalStylesDef, InterpolateMarker, ModeGroup, ModeOption, ModeOptionInput, ModeSetInput, ModesInput, ModifierDef, MotionPresetsDef, SingleComponentDef, UdsConfig, UdsConfigData, buildTokenReference, createConfigBuilder, darker, lighter, resolveConfig } from "./createConfig.js";
9
+ import { ResolvedStyleProp, ResolvedToken } from "./resolveStyleProp.js";
10
10
  import { defaultColors } from "./consts/defaultColors.js";
11
11
  import { SerializedConfig, TokenRef, buildReverseMap, deserializeConfig, serializeConfig } from "./serialize.js";
12
12
  import { ComponentsConfig as ComponentsConfig$1 } from "@uds/types";
@@ -149,6 +149,10 @@ function applyPresetToData(base, preset, strategy) {
149
149
  const mergedExamples = base.examples || preset.examples ? mergeRecordByKey(base.examples ?? {}, preset.examples ?? {}, s.examples) : void 0;
150
150
  const mergedPrinciples = base.designPrinciples || preset.designPrinciples ? [...base.designPrinciples ?? [], ...preset.designPrinciples ?? []] : void 0;
151
151
  const mergedVars = base.vars || preset.vars ? mergeRecordByKey(base.vars ?? {}, preset.vars ?? {}, "merge") : void 0;
152
+ const mergedStyleProps = base.styleProps || preset.styleProps ? {
153
+ ...base.styleProps ?? {},
154
+ ...preset.styleProps ?? {}
155
+ } : void 0;
152
156
  const merged = {
153
157
  ...base,
154
158
  modes: mergeModes(base.modes, preset.modes, s.modes),
@@ -165,6 +169,7 @@ function applyPresetToData(base, preset, strategy) {
165
169
  examples: mergedExamples,
166
170
  designPrinciples: mergedPrinciples,
167
171
  vars: mergedVars,
172
+ styleProps: mergedStyleProps,
168
173
  presetTokenNames: mergePresetTokenNames(base, preset)
169
174
  };
170
175
  validateComponentVariants(merged.components);
@@ -1,6 +1,7 @@
1
1
  import { CssValueTypeName } from "./types/css-values.js";
2
2
  import { ArbitrarySpec, StylePropMetadata } from "./defineStyleProp.js";
3
3
  //#region ../config/dist/resolveStyleProp.d.ts
4
+ //#region src/resolveStyleProp.d.ts
4
5
  interface ResolvedToken {
5
6
  /** The token's raw key, e.g. `'brand'`. */
6
7
  readonly name: string;
@@ -63,5 +64,11 @@ interface ResolvedStyleProp {
63
64
  readonly arbitrary: ArbitrarySpec | undefined;
64
65
  readonly metadata: StylePropMetadata;
65
66
  }
67
+ /**
68
+ * Structurally-loose input shape for the resolver. Any `StyleProp<P>` from
69
+ * `defineStyleProp` is assignable to this. Defined locally so the
70
+ * resolver's signature doesn't expand `ValuesEntry<P>` over the full CSS
71
+ * property union (TS2590).
72
+ */
66
73
  //#endregion
67
74
  export { ResolvedStyleProp, ResolvedToken };
@@ -54,21 +54,33 @@ function looksLikeShadow(value) {
54
54
  /**
55
55
  * Detect a token's CSS value type. Resolution order:
56
56
  * 1. Per-token `type` override.
57
- * 2. Group-level `type`.
58
- * 3. Value sniff via {@link sniffTokenTypeFromValue}.
57
+ * 2. Value sniff via {@link sniffTokenTypeFromValue}.
58
+ * 3. Group-level `type`.
59
59
  *
60
60
  * When the resolved type is `'length-percentage'` and the raw value ends in
61
61
  * `%`, narrow to `'percentage'`; otherwise narrow to `'length'`. When the
62
- * resolved type is `'string'` but the value looks like a shadow expression,
63
- * narrow to `'shadow'`.
62
+ * resolved type is `'string'`, narrow shadow-like values to `'shadow'` and
63
+ * ratio-shaped values to `'ratio'`.
64
+ *
65
+ * Exported so Studio (and any other runtime consumer) can resolve a cell's
66
+ * effective `CssValueTypeName` with the same sniff-before-group policy used
67
+ * for `RegisteredTokenGroupMeta`. UDS-1600 tracks removing the remaining
68
+ * mirrored codegen resolver once the token type API settles.
69
+ *
70
+ * The input shapes ({@link DetectTokenValueTypeInput} /
71
+ * {@link DetectTokenValueTypeGroup}) are intentionally minimal: the resolver
72
+ * reads only `token.value`, `token.type`, and `group.type` — never walks
73
+ * `group.tokens`, never checks that `token` is inside `group`. Typing them
74
+ * as full `AtomicToken` would force trimmed-shape consumers (Studio's
75
+ * `TokenEntry`) to either round-trip back to the source group or `as`-assert
76
+ * past the type system.
64
77
  */
65
78
  function detectTokenValueType(token, group) {
66
- const explicit = token.type ?? group.type;
67
79
  let resolved;
68
- if (explicit) resolved = tokenTypeToValueType(explicit);
80
+ if (token.type) resolved = tokenTypeToValueType(token.type);
69
81
  else {
70
82
  const sniffed = sniffTokenTypeFromValue(token.value);
71
- resolved = sniffed ? tokenTypeToValueType(sniffed) : void 0;
83
+ resolved = sniffed ? tokenTypeToValueType(sniffed) : group.type ? tokenTypeToValueType(group.type) : void 0;
72
84
  }
73
85
  if (resolved === "length-percentage") {
74
86
  const trimmed = token.value.trim();
@@ -214,4 +226,4 @@ function resolveStyleProp(propName, styleProp, config) {
214
226
  };
215
227
  }
216
228
  //#endregion
217
- export { resolveStyleProp };
229
+ export { detectTokenValueType, resolveStyleProp };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Replace the active style-prop registry. Called by `resolveConfig`
3
+ * with the full `config.styleProps` map (keyed by JSX prop name).
4
+ */
5
+ function setRegisteredStyleProps(entries) {
6
+ new Map(Object.entries(entries));
7
+ }
8
+ //#endregion
9
+ export { setRegisteredStyleProps };
@@ -3,6 +3,7 @@ import { AtomicToken, ExampleDef, ModeGroup, ModifierDef, MotionPresetsDef, UdsC
3
3
  import { CompositeStylesConfig } from "@uds/types";
4
4
 
5
5
  //#region ../config/dist/serialize.d.ts
6
+ //#region src/serialize.d.ts
6
7
  type ModifierNameShape = `_${string}`;
7
8
  type TokenRef = {
8
9
  $ref: string;
@@ -67,6 +68,6 @@ declare function serializeConfig(config: UdsConfig): SerializedConfig;
67
68
  * Resolves `$ref` markers back to `var()` strings using the atomic token
68
69
  * definitions, then reconstructs the builder chain.
69
70
  */
70
- declare function deserializeConfig(data: SerializedConfig): UdsConfig;
71
+ declare function deserializeConfig(data: SerializedConfig): UdsConfig; //#endregion
71
72
  //#endregion
72
73
  export { SerializedConfig, TokenRef, buildReverseMap, deserializeConfig, serializeConfig };
@@ -1,4 +1,5 @@
1
1
  //#region ../config/dist/types/css-values.d.ts
2
+ //#region src/types/css-values.d.ts
2
3
  /**
3
4
  * CSS value-type primitives — building blocks used by {@link CssPropertyValues}
4
5
  * in `./css-properties` and by `defineStyleProp` to constrain authored values.
@@ -55,6 +56,6 @@ type CssValue = {
55
56
  ident: string;
56
57
  string: string;
57
58
  };
58
- type CssValueTypeName = keyof CssValue;
59
+ type CssValueTypeName = keyof CssValue; //#endregion
59
60
  //#endregion
60
61
  export { ColorFn, ColorKeyword, CssAngle, CssColor, CssLength, CssPercentage, CssRatio, CssTime, CssValue, CssValueTypeName, HexColor, HslColor, RgbColor };
@@ -1,4 +1,5 @@
1
1
  //#region ../config/dist/types.d.ts
2
+ //#region src/types.d.ts
2
3
  /**
3
4
  * Scalar DTCG-aligned token types. Composite types (shadow, gradient,
4
5
  * typography, border, transition, cubicBezier) are intentionally deferred
@@ -59,6 +60,6 @@ type VarGroupDef<M extends `_${string}` = `_${string}`> = {
59
60
  * spacing: { $type: 'dimension', 1: { value: '0.25rem' }, 2: { value: '0.5rem' } },
60
61
  * }
61
62
  */
62
- type VarsConfig<M extends `_${string}` = `_${string}`> = Record<string, VarGroupDef<M>>;
63
+ type VarsConfig<M extends `_${string}` = `_${string}`> = Record<string, VarGroupDef<M>>; //#endregion
63
64
  //#endregion
64
65
  export { TokenType, VarGroupDef, VarTokenDef, VarsConfig };
@@ -1,4 +1,5 @@
1
1
  //#region ../core/dist/color-opacity-map.d.ts
2
+ //#region src/color-opacity-map.d.ts
2
3
  /**
3
4
  * Maps each color prop name to its corresponding opacity prop name.
4
5
  * Used by the runtime (`getStyles`) and loader (`style-transform`) to merge
@@ -7,6 +8,6 @@
7
8
  * @example
8
9
  * `bg="primary"` + `bgOpacity="75"` → class `bg-primary_75`
9
10
  */
10
- declare const colorPropToOpacityProp: Record<string, string>;
11
+ declare const colorPropToOpacityProp: Record<string, string>; //#endregion
11
12
  //#endregion
12
13
  export { colorPropToOpacityProp };
@@ -1,6 +1,7 @@
1
1
  import { CompositeStylesConfig } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/compositeStyles.d.ts
4
+ //#region src/compositeStyles.d.ts
4
5
  /** Set the composite-styles config (called by loader at build time) */
5
6
  declare function setCompositeStylesConfig(config: CompositeStylesConfig): void;
6
7
  /** Get the current composite-styles config */
@@ -16,6 +17,6 @@ declare function getCompositeStylesConfig(): CompositeStylesConfig;
16
17
  declare function expandCompositeStyles(props: Record<string, unknown>, config?: CompositeStylesConfig): {
17
18
  expanded: Record<string, unknown>;
18
19
  markerClasses: string[];
19
- };
20
+ }; //#endregion
20
21
  //#endregion
21
22
  export { expandCompositeStyles, getCompositeStylesConfig, setCompositeStylesConfig };
@@ -2,6 +2,7 @@ import { PropMapping } from "./style-prop-data.js";
2
2
  import { ConfigurableProp } from "@uds/types";
3
3
 
4
4
  //#region ../core/dist/configurable-prop-helpers.d.ts
5
+ //#region src/configurable-prop-helpers.d.ts
5
6
  /** Look up a {@link PropMapping} by ConfigurableProp name. */
6
7
  declare function getConfigurablePropMapping(prop: ConfigurableProp): PropMapping | undefined;
7
8
  interface ConfigurablePropertyEntry {
@@ -26,6 +27,6 @@ interface CssVariablePrefixEntry {
26
27
  * Only includes props that have both `cssProperty` and `defaultVarPrefix`.
27
28
  * Deduplicates by `defaultVarPrefix` so each namespace appears once.
28
29
  */
29
- declare function getCssVariablePrefixes(): CssVariablePrefixEntry[];
30
+ declare function getCssVariablePrefixes(): CssVariablePrefixEntry[]; //#endregion
30
31
  //#endregion
31
32
  export { ConfigurablePropertyEntry, CssVariablePrefixEntry, getConfigurablePropMapping, getConfigurableProperties, getCssVariablePrefixes };
@@ -1,6 +1,7 @@
1
1
  import { CreateComponentConfig, CreateComponentProps, CreateComponentRenderFn, CreateComponentSlotTagConfig, CreateComponentTypeInput } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/createComponent.d.ts
4
+ //#region src/createComponent.d.ts
4
5
  type PrimitiveTag = keyof React.JSX.IntrinsicElements;
5
6
  type SpecConfig<TSpec> = TSpec extends {
6
7
  config: infer TConfig extends CreateComponentTypeInput;
@@ -51,6 +52,6 @@ declare function createComponent<TSpecOrProps = {}>(tag: PrimitiveTag): React.FC
51
52
  props: infer TOwnProps;
52
53
  } ? CreateComponentProps<TConfig, TOwnProps, PrimitiveTag> : PrimitiveOwnProps<TSpecOrProps>>;
53
54
  declare function createComponent<TSpec>(renderFn: CreateComponentRenderFn<SpecConfig<TSpec>, SpecOwnProps<TSpec>, SpecSlotConfig<TSpec>>): React.FC<CreateComponentProps<SpecConfig<TSpec>, SpecOwnProps<TSpec>, SpecSlotConfig<TSpec>>>;
54
- declare function createComponent(config: CreateComponentConfig<string>, renderFn: CreateComponentRenderFn<any, any, any>): React.FC<any>;
55
+ declare function createComponent(config: CreateComponentConfig<string>, renderFn: CreateComponentRenderFn<any, any, any>): React.FC<any>; //#endregion
55
56
  //#endregion
56
57
  export { createComponent };
@@ -1,6 +1,7 @@
1
1
  import { ComponentProps, ComponentType } from "react";
2
2
 
3
3
  //#region ../core/dist/createComponentExample.d.ts
4
+ //#region src/createComponentExample.d.ts
4
5
  /**
5
6
  * Extracts variant fixtures from a Component's props type.
6
7
  * If Button has `variant?: 'brand' | 'outline'` and `size?: 'sm' | 'md'`,
@@ -36,6 +37,6 @@ type ExamplesResult<TComponent extends ComponentType<any>> = {
36
37
  * }));
37
38
  * ```
38
39
  */
39
- declare function createComponentExample<TComponent extends ComponentType<any>, T extends Record<string, ExampleFn<TComponent>>>(Component: TComponent, examplesFn: (fixtures: VariantFixtures<TComponent>) => ExamplesResult<TComponent>): ComponentExample<T>;
40
+ declare function createComponentExample<TComponent extends ComponentType<any>, T extends Record<string, ExampleFn<TComponent>>>(Component: TComponent, examplesFn: (fixtures: VariantFixtures<TComponent>) => ExamplesResult<TComponent>): ComponentExample<T>; //#endregion
40
41
  //#endregion
41
42
  export { ComponentExample, createComponentExample };
@@ -1,4 +1,5 @@
1
1
  //#region ../core/dist/createProvider.d.ts
2
+ //#region src/createProvider.d.ts
2
3
  type ProviderRenderFn<TContext, TProps = Record<never, never>> = (props: {
3
4
  children: React.ReactNode;
4
5
  } & TProps) => {
@@ -7,6 +8,6 @@ type ProviderRenderFn<TContext, TProps = Record<never, never>> = (props: {
7
8
  };
8
9
  declare function createProvider<TContext, TProps = Record<never, never>>(name: string, renderFn: ProviderRenderFn<TContext, TProps>): [React.FC<{
9
10
  children: React.ReactNode;
10
- } & TProps>, () => TContext];
11
+ } & TProps>, () => TContext]; //#endregion
11
12
  //#endregion
12
13
  export { createProvider };
@@ -1,4 +1,5 @@
1
1
  //#region ../core/dist/generated/stylePropsTwMap.d.ts
2
+ //#region src/generated/stylePropsTwMap.d.ts
2
3
  declare const stylePropsTwMap: {
3
4
  readonly "border-boolean": {
4
5
  readonly border: "boolean";
@@ -1695,6 +1696,6 @@ declare const stylePropsTwMap: {
1695
1696
  readonly "hyphens-manual": {
1696
1697
  readonly hyphens: "manual";
1697
1698
  };
1698
- };
1699
+ }; //#endregion
1699
1700
  //#endregion
1700
1701
  export { stylePropsTwMap };
@@ -1,6 +1,7 @@
1
1
  import { ComponentRegistry, ComponentSlotsOf, ComponentVariantsOf } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/getComponentStyles.d.ts
4
+ //#region src/getComponentStyles.d.ts
4
5
  type ResolveSlots<Name extends string> = Name extends keyof ComponentRegistry ? ComponentSlotsOf<Name> : string;
5
6
  type ResolveVariants<Name extends string> = Name extends keyof ComponentRegistry ? ComponentVariantsOf<Name> : Record<string, string>;
6
7
  interface UdsRuntimeMeta {
@@ -44,6 +45,6 @@ interface ComponentStyler<Name extends string> {
44
45
  * @param slots - Array of slot names
45
46
  * @param element - Optional HTML element tag for element-specific prop forwarding
46
47
  */
47
- declare function createComponentStyler<Name extends string>(componentName: Name, slots: readonly string[], element?: string, variants?: readonly string[]): ComponentStyler<Name>;
48
+ declare function createComponentStyler<Name extends string>(componentName: Name, slots: readonly string[], element?: string, variants?: readonly string[]): ComponentStyler<Name>; //#endregion
48
49
  //#endregion
49
50
  export { createComponentStyler };
@@ -2,6 +2,7 @@ import { ClassValue } from "clsx";
2
2
  import { ModifierProp, ModifierProps, StyleAndModifierProps, StyleProps } from "@uds/types";
3
3
 
4
4
  //#region ../core/dist/getStyles.d.ts
5
+ //#region src/getStyles.d.ts
5
6
  /** Convert kebab-case CSS property to camelCase for React inline styles.
6
7
  * CSS custom properties (--*) are kept as-is since React supports them verbatim. */
7
8
  declare function toCamelCase(str: string): string;
@@ -37,6 +38,6 @@ interface GetStylesParams extends StyleProps, ModifierProps {
37
38
  * so they can be included in the CSS safelist.
38
39
  */
39
40
  declare function getStyles(props: GetStylesParams): string;
40
- declare function getVariantClassName(componentName: string, variant: string | undefined): string;
41
+ declare function getVariantClassName(componentName: string, variant: string | undefined): string; //#endregion
41
42
  //#endregion
42
43
  export { createVariants, cx, getStyles, getVariantClassName, processStyleProps, toCamelCase };
@@ -1,12 +1,13 @@
1
1
  import { ModifierProp } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/modifier-mappings.d.ts
4
+ //#region src/modifier-mappings.d.ts
4
5
  declare const modifierMappings: Record<ModifierProp, string>;
5
6
  interface ModifierEntry {
6
7
  prop: string;
7
8
  cssSelector: string;
8
9
  category: string;
9
10
  description: string;
10
- }
11
+ } //#endregion
11
12
  //#endregion
12
13
  export { ModifierEntry, modifierMappings };
@@ -1,4 +1,5 @@
1
1
  //#region ../core/dist/resolveMotionState.d.ts
2
- declare function resolveMotionState(stateKeyframe: Record<string, unknown>, index: number): Record<string, number>;
2
+ //#region src/resolveMotionState.d.ts
3
+ declare function resolveMotionState(stateKeyframe: Record<string, unknown>, index: number): Record<string, number>; //#endregion
3
4
  //#endregion
4
5
  export { resolveMotionState };
@@ -1,6 +1,7 @@
1
1
  import { StyleProp } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/style-prop-data.d.ts
4
+ //#region src/style-prop-data.d.ts
4
5
  interface PropMapping {
5
6
  /** Class name prefix for runtime class generation. 'no-prefix' means value IS the class. */
6
7
  classPrefix: string;
@@ -27,6 +28,6 @@ interface PropMapping {
27
28
  }
28
29
  /** Exclude className — it's passed through, not mapped to a utility class */
29
30
  type MappedStyleProp = Exclude<StyleProp, 'className'>;
30
- declare const propMappings: Record<MappedStyleProp, PropMapping>;
31
+ declare const propMappings: Record<MappedStyleProp, PropMapping>; //#endregion
31
32
  //#endregion
32
33
  export { PropMapping, propMappings };
@@ -1,6 +1,7 @@
1
1
  import { MotionPreset } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/transformPreset.d.ts
4
+ //#region src/transformPreset.d.ts
4
5
  interface TransformedMotionProps {
5
6
  initial?: Record<string, unknown>;
6
7
  animate?: Record<string, unknown>;
@@ -12,6 +13,6 @@ interface TransformedMotionProps {
12
13
  /**
13
14
  * Convert a JS-runtime MotionPreset to a motion/react-compatible props object.
14
15
  */
15
- declare function transformPreset(preset: MotionPreset): TransformedMotionProps;
16
+ declare function transformPreset(preset: MotionPreset): TransformedMotionProps; //#endregion
16
17
  //#endregion
17
18
  export { TransformedMotionProps, transformPreset };
@@ -1,6 +1,7 @@
1
1
  import { BorderRadius, GridSpan, GridStartEnd, GridTemplate, StyleAndModifierProps } from "@uds/types";
2
2
 
3
3
  //#region ../core/dist/withDefaultStyleProps.d.ts
4
+ //#region src/withDefaultStyleProps.d.ts
4
5
  interface StackDefaultsInput extends StyleAndModifierProps {
5
6
  gap?: StyleAndModifierProps['gap'];
6
7
  }
@@ -38,6 +39,6 @@ declare const withDefaultStyleProps: {
38
39
  shape?: BorderRadius;
39
40
  }) => StyleAndModifierProps;
40
41
  Svg: (props: SvgDefaultsInput) => StyleAndModifierProps;
41
- };
42
+ }; //#endregion
42
43
  //#endregion
43
44
  export { withDefaultStyleProps };