@animus-ui/system 0.1.22 → 0.1.24

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 (29) hide show
  1. package/dist/class-resolver.d.ts +2 -2
  2. package/dist/class-resolver.js +1 -1
  3. package/dist/{component-stJhG_A-.d.ts → component-D9Fie8Ci.d.ts} +58 -31
  4. package/dist/component-D9Fie8Ci.d.ts.map +1 -0
  5. package/dist/{compose-BQi7TDtL.d.ts → compose-A-kGRKdR.d.ts} +2 -2
  6. package/dist/{compose-BQi7TDtL.d.ts.map → compose-A-kGRKdR.d.ts.map} +1 -1
  7. package/dist/compose.d.ts +1 -1
  8. package/dist/composeWithContext.d.ts +1 -1
  9. package/dist/composeWithContext.d.ts.map +1 -1
  10. package/dist/composeWithContext.js +4 -4
  11. package/dist/createClassResolver-C-UOgE_d.d.ts +115 -0
  12. package/dist/createClassResolver-C-UOgE_d.d.ts.map +1 -0
  13. package/dist/{createClassResolver-DtHjTYa7.js → createClassResolver-DdrmIC5J.js} +321 -60
  14. package/dist/{createComposedFamily-BbA_d0QH.js → createComposedFamily-BFoaDqk7.js} +25 -8
  15. package/dist/{createComposedFamily-BkrvSsfl.d.ts → createComposedFamily-BJQ5Cn76.d.ts} +3 -3
  16. package/dist/createComposedFamily-BJQ5Cn76.d.ts.map +1 -0
  17. package/dist/groups/index.d.ts +1 -1
  18. package/dist/{index-C1AAiaiJ.d.ts → index-CQ7BFlKp.d.ts} +23 -23
  19. package/dist/index-CQ7BFlKp.d.ts.map +1 -0
  20. package/dist/index.d.ts +6 -6
  21. package/dist/index.js +26 -8
  22. package/dist/runtime-entry.d.ts +3 -3
  23. package/dist/runtime-entry.js +2 -2
  24. package/package.json +2 -2
  25. package/dist/component-stJhG_A-.d.ts.map +0 -1
  26. package/dist/createClassResolver-Do1nmvkf.d.ts +0 -71
  27. package/dist/createClassResolver-Do1nmvkf.d.ts.map +0 -1
  28. package/dist/createComposedFamily-BkrvSsfl.d.ts.map +0 -1
  29. package/dist/index-C1AAiaiJ.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- import { n as ClassResolverAttributes, r as createClassResolver, t as ClassResolver } from "./createClassResolver-Do1nmvkf.js";
2
- export { type ClassResolver, type ClassResolverAttributes, createClassResolver };
1
+ import { i as createClassResolver, n as ClassResolverAttributes, r as ClassResolverProps, t as ClassResolver } from "./createClassResolver-C-UOgE_d.js";
2
+ export { type ClassResolver, type ClassResolverAttributes, type ClassResolverProps, createClassResolver };
@@ -1,2 +1,2 @@
1
- import { t as createClassResolver } from "./createClassResolver-DtHjTYa7.js";
1
+ import { t as createClassResolver } from "./createClassResolver-DdrmIC5J.js";
2
2
  export { createClassResolver };
@@ -1,4 +1,4 @@
1
- import { i as ClassResolverConfig, t as ClassResolver } from "./createClassResolver-Do1nmvkf.js";
1
+ import { a as ClassResolverConfig, t as ClassResolver } from "./createClassResolver-C-UOgE_d.js";
2
2
  import { ComponentPropsWithRef, ComponentType, ForwardRefExoticComponent, JSX, ReactNode } from "react";
3
3
  import { Globals, ObsoleteProperties, StandardProperties, SvgProperties, VendorProperties } from "csstype";
4
4
  //#region src/conditions.d.ts
@@ -122,7 +122,9 @@ type BordersLevel4Properties = {
122
122
  };
123
123
  type AnimusCSSProperties<Overrides = (string & {}) | 0> = StandardProperties<Overrides> & VendorProperties<Overrides> & Pick<ObsoleteProperties<Overrides>, 'WebkitBoxOrient'> & Omit<SvgProperties<Overrides>, keyof StandardProperties> & BordersLevel4Properties;
124
124
  type ColorProperties = 'color' | `${string}Color` | 'fill' | 'stroke';
125
- type ColorGlobals = { [K in Extract<keyof AnimusCSSProperties, ColorProperties>]?: Globals | 'currentColor' | 'transparent' | (string & {}); };
125
+ /** The keywords SVG `<paint>` takes beside a colour, for `fill` and `stroke`. */
126
+ type PaintKeywords = 'none' | 'context-fill' | 'context-stroke';
127
+ type ColorGlobals = { [K in Extract<keyof AnimusCSSProperties, ColorProperties>]?: Globals | 'currentColor' | 'transparent' | (K extends 'fill' | 'stroke' ? PaintKeywords : never) | (string & {}); };
126
128
  type SizeProperties = 'left' | 'right' | 'top' | 'bottom' | 'inset' | 'width' | 'height' | `${string}${'Width' | 'Height'}` | 'inlineSize' | 'blockSize' | `${string}${'InlineSize' | 'BlockSize'}` | `inset${'Inline' | 'Block'}${'' | 'Start' | 'End'}`;
127
129
  type SizeValues = `${number}${'px' | 'rem' | 'vh' | 'vw' | 'vmax' | 'vmin' | '%'}` | `calc(${any})`;
128
130
  type SizeGlobals = { [K in Extract<keyof AnimusCSSProperties, SizeProperties>]?: AnimusCSSProperties[K] | SizeValues | (number & {}); };
@@ -357,17 +359,18 @@ interface AbstractParser {
357
359
  type IsEmpty<T> = [] extends T ? true : false | {} extends T ? true : false;
358
360
  type StrictOrEmpty<Config extends SystemProp, ScaleT> = Config['strict'] extends false ? true : IsEmpty<ScaleT>;
359
361
  type NegateKeys<T> = T extends number ? T extends 0 ? never : `-${T}` extends `${infer N extends number}` ? N : never : never;
360
- type PropertyValues<Property extends SystemProp, IncludeGlobals = false> = Exclude<PropertyTypes<IncludeGlobals extends true ? (string & {}) | 0 : never>[Property['property'] & string], IncludeGlobals extends true ? never : object | any[]>;
362
+ type PropertyValues<Property extends SystemProp, IncludeGlobals = false> = Exclude<PropertyTypes<IncludeGlobals extends true ? (string & {}) | number : never>[Property['property'] & string], IncludeGlobals extends true ? never : object | any[]>;
361
363
  type NegativeOf<Config extends SystemProp, Keys> = Config['negative'] extends true ? NegateKeys<Extract<Keys, number>> : never;
362
364
  /**
363
365
  * What a strict scale admits beside its keys and keywords, as strict
364
- * extraction and the runtime do: the string zero on a property that takes a
365
- * length, and a reference to one of the scale's own tokens. A non-strict scale
366
- * already admits both through its raw values. The numeric zero waits: adding
367
- * a number to every length prop overflows the union TS builds when checking
368
- * keyframe frames against a large prop registry (TS2590).
369
- */
370
- type StrictAdmissions<Config extends SystemProp, Strict, ScaleName, Keys> = Strict extends true ? never : (0 extends PropertyValues<Config, true> ? '0' : never) | (ScaleName extends string ? `{${ScaleName}.${Extract<Keys, string | number>}}` : never);
366
+ * extraction and the runtime do: zero, as a string or a number, on a property
367
+ * that takes a length, and a reference to one of the scale's own tokens. A
368
+ * non-strict scale already admits them through its raw values. The authored
369
+ * style inputs check values through `ThemedCSSInputProps`, whose leaves TS
370
+ * does not infer from, so the numeric zero does not overflow the unions TS
371
+ * builds when inferring a style record against a large prop registry (TS2590).
372
+ */
373
+ type StrictAdmissions<Config extends SystemProp, Strict, ScaleName, Keys> = Strict extends true ? never : (0 extends PropertyValues<Config, true> ? '0' | 0 : never) | (ScaleName extends string ? `{${ScaleName}.${Extract<Keys, string | number>}}` : never);
371
374
  type ScaleValue<Config extends SystemProp, T extends BaseTheme> = Config['scale'] extends keyof TokenScales<T> ? keyof TokenScales<T>[Config['scale']] | NegativeOf<Config, keyof TokenScales<T>[Config['scale']]> | PropertyValues<Config, StrictOrEmpty<Config, TokenScales<T>[Config['scale']]>> | StrictAdmissions<Config, StrictOrEmpty<Config, TokenScales<T>[Config['scale']]>, Config['scale'], keyof TokenScales<T>[Config['scale']]> : Config['scale'] extends MapScale ? keyof Config['scale'] | NegativeOf<Config, keyof Config['scale']> | PropertyValues<Config, StrictOrEmpty<Config, Config['scale']>> | StrictAdmissions<Config, StrictOrEmpty<Config, Config['scale']>, never, never> : Config['scale'] extends ArrayScale ? Config['scale'][number] | PropertyValues<Config, StrictOrEmpty<Config, Config['scale']>> | StrictAdmissions<Config, StrictOrEmpty<Config, Config['scale']>, never, never> : PropertyValues<Config, true>;
372
375
  type Scale<Config extends SystemProp, T extends BaseTheme> = [Config] extends [DeclarationProp] ? ResponsiveProp<DeclarationKey<Extract<Config, DeclarationProp>>> : ResponsiveProp<ScaleValue<Config, T>>;
373
376
  type ParserProps<Config extends Record<string, SystemProp>, T extends BaseTheme> = ThemeProps<{ [P in keyof Config]?: Scale<Config[P], T>; }, T>;
@@ -402,6 +405,19 @@ type UnderscoreBlockMembers<Config extends Record<string, SystemProp>> = { [K in
402
405
  type ThemedBlockBody<Config extends Record<string, SystemProp>> = { [K in Exclude<keyof PropertyTypes, keyof Config>]?: PassThroughProp<K>; } & { [P in keyof Config]?: ThemedScale<Config[P]>; } & { [K in RawSelectorKey | RawAtRuleKey]?: ThemedBlockBody<Config>; } & UnderscoreBlockMembers<Config>;
403
406
  type ThemedCSSProps<Props, Config extends Record<string, SystemProp>> = { [K in keyof Props]?: K extends keyof Config ? ThemedScale<Config[K]> : K extends RawSelectorKey ? ThemedBlockBody<Config> : K extends RawAtRuleKey ? ThemedBlockBody<Config> : K extends KnownUnderscoreKey ? ThemedBlockBody<Config> : K extends keyof PropertyTypes ? PassThroughProp<K> : K extends `_${string}` ? UnknownConditionAlias<K & string> : K extends `@${string}` ? UnknownAtRule<K & string> : Omit<PropertyTypes, keyof Config> & { [P in keyof Config]?: ThemedScale<Config[P]>; }; };
404
407
  type ThemedCSSPropMap<Props, Config extends Record<string, SystemProp>> = { [K in keyof Props]?: ThemedCSSProps<Props[K], Config>; };
408
+ /**
409
+ * What an authored style input accepts: `ThemedCSSProps` key for key, with
410
+ * each registered and raw value wrapped in `NoInfer`, so TS checks a value
411
+ * against its domain without inferring from it. A generic wrapper types its
412
+ * style parameter with this, and what it stores or returns with
413
+ * `ThemedCSSProps`.
414
+ */
415
+ type ThemedCSSInputProps<Props, Config extends Record<string, SystemProp>> = { [K in keyof Props]?: K extends keyof Config ? NoInfer<ThemedScale<Config[K]>> : K extends RawSelectorKey ? ThemedBlockBody<Config> : K extends RawAtRuleKey ? ThemedBlockBody<Config> : K extends KnownUnderscoreKey ? ThemedBlockBody<Config> : K extends keyof PropertyTypes ? NoInfer<PassThroughProp<K>> : K extends `_${string}` ? UnknownConditionAlias<K & string> : K extends `@${string}` ? UnknownAtRule<K & string> : Omit<PropertyTypes, keyof Config> & { [P in keyof Config]?: ThemedScale<Config[P]>; }; };
416
+ /** `ThemedCSSPropMap`'s input counterpart: a style input per key. */
417
+ type ThemedCSSInputPropMap<Props, Config extends Record<string, SystemProp>> = { [K in keyof Props]?: ThemedCSSInputProps<Props[K], Config>; };
418
+ /** A variant's options as stored: its `base` and `variants` as checked
419
+ * style models, and every other field as written. */
420
+ type ThemedVariantModel<Options, Base, Props, Config extends Record<string, SystemProp>> = { [K in keyof Options]: K extends 'base' ? ThemedCSSProps<Base, Config> : K extends 'variants' ? ThemedCSSPropMap<Props, Config> : Options[K]; };
405
421
  interface VariantConfig {
406
422
  prop?: string;
407
423
  defaultVariant?: string;
@@ -486,38 +502,38 @@ declare class AnimusExtendedWithStates<PropRegistry extends Record<string, Syste
486
502
  system<PickedKeys extends keyof GroupRegistry | Extract<keyof PropRegistry, string>>(config: SystemPicks<GroupRegistry, PickedKeys, StylingNames<Variants, States>>): AnimusExtendedWithSystem<PropRegistry, GroupRegistry, BaseStyles, Variants, States, Record<PickedKeys, true> & ActiveGroups, CustomProps>;
487
503
  }
488
504
  declare class AnimusExtendedWithCompounds<PropRegistry extends Record<string, SystemProp>, GroupRegistry extends Record<string, (keyof PropRegistry)[]>, BaseStyles extends CSSProps<AbstractProps, SystemProps<AbstractParser>>, Variants extends Record<string, VariantConfig>, States extends CSSPropMap<AbstractProps, SystemProps<AbstractParser>>, ActiveGroups extends Record<string, true>, CustomProps extends Record<string, SystemProp>> extends AnimusExtendedWithStates<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps> {
489
- compound<Props extends AbstractProps>(condition: { [K in keyof Variants]?: keyof Variants[K]['variants'] | ReadonlyArray<keyof Variants[K]['variants']>; }, styles: ThemedCSSProps<Props, PropRegistry>): AnimusExtendedWithCompounds<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps>;
490
- states<Props extends AbstractProps>(config: ThemedCSSPropMap<Props, PropRegistry> & UnadmittedStates<Props, AdmittedNames<GroupRegistry, ActiveGroups>>): AnimusExtendedWithStates<PropRegistry, GroupRegistry, BaseStyles, Variants, ThemedCSSPropMap<Props, PropRegistry> & UnadmittedStates<Props, AdmittedNames<GroupRegistry, ActiveGroups>> & States, ActiveGroups, CustomProps>;
505
+ compound<Props extends AbstractProps>(condition: { [K in keyof Variants]?: keyof Variants[K]['variants'] | ReadonlyArray<keyof Variants[K]['variants']>; }, styles: ThemedCSSInputProps<Props, PropRegistry>): AnimusExtendedWithCompounds<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps>;
506
+ states<Props extends AbstractProps>(config: ThemedCSSInputPropMap<Props, PropRegistry> & UnadmittedStates<Props, AdmittedNames<GroupRegistry, ActiveGroups>>): AnimusExtendedWithStates<PropRegistry, GroupRegistry, BaseStyles, Variants, ThemedCSSPropMap<Props, PropRegistry> & UnadmittedStates<Props, AdmittedNames<GroupRegistry, ActiveGroups>> & States, ActiveGroups, CustomProps>;
491
507
  }
492
508
  declare class AnimusExtendedWithVariants<PropRegistry extends Record<string, SystemProp>, GroupRegistry extends Record<string, (keyof PropRegistry)[]>, BaseStyles extends CSSProps<AbstractProps, SystemProps<AbstractParser>>, Variants extends Record<string, VariantConfig>, States extends CSSPropMap<AbstractProps, SystemProps<AbstractParser>>, ActiveGroups extends Record<string, true>, CustomProps extends Record<string, SystemProp>> extends AnimusExtendedWithCompounds<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps> {
493
- compound<Props extends AbstractProps>(condition: { [K in keyof Variants]?: keyof Variants[K]['variants'] | ReadonlyArray<keyof Variants[K]['variants']>; }, styles: ThemedCSSProps<Props, PropRegistry>): AnimusExtendedWithCompounds<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps>;
509
+ compound<Props extends AbstractProps>(condition: { [K in keyof Variants]?: keyof Variants[K]['variants'] | ReadonlyArray<keyof Variants[K]['variants']>; }, styles: ThemedCSSInputProps<Props, PropRegistry>): AnimusExtendedWithCompounds<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps>;
494
510
  variant<Keys extends keyof Props, Base extends AbstractProps, Props extends Record<Keys, AbstractProps>, PropKey extends Readonly<string> = 'variant'>(options: {
495
511
  prop?: UnadmittedName<PropKey, AdmittedNames<GroupRegistry, ActiveGroups>>;
496
512
  defaultVariant?: Extract<keyof Props, string> | InheritedOptions<Variants, PropKey>;
497
- base?: ThemedCSSProps<Base, PropRegistry>;
498
- variants: ThemedCSSPropMap<Props, PropRegistry>;
499
- }): AnimusExtendedWithVariants<PropRegistry, GroupRegistry, BaseStyles, Variants & Record<PropKey, {
513
+ base?: ThemedCSSInputProps<Base, PropRegistry>;
514
+ variants: ThemedCSSInputPropMap<Props, PropRegistry>;
515
+ }): AnimusExtendedWithVariants<PropRegistry, GroupRegistry, BaseStyles, Variants & Record<PropKey, ThemedVariantModel<{
500
516
  prop?: UnadmittedName<PropKey, AdmittedNames<GroupRegistry, ActiveGroups>>;
501
517
  defaultVariant?: Extract<keyof Props, string> | InheritedOptions<Variants, PropKey> | undefined;
502
- base?: ThemedCSSProps<Base, PropRegistry>;
503
- variants: ThemedCSSPropMap<Props, PropRegistry>;
504
- }>, States, ActiveGroups, CustomProps>;
518
+ base?: ThemedCSSInputProps<Base, PropRegistry>;
519
+ variants: ThemedCSSInputPropMap<Props, PropRegistry>;
520
+ }, Base, Props, PropRegistry>>, States, ActiveGroups, CustomProps>;
505
521
  }
506
522
  declare class AnimusExtendedWithBase<PropRegistry extends Record<string, SystemProp>, GroupRegistry extends Record<string, (keyof PropRegistry)[]>, BaseStyles extends CSSProps<AbstractProps, SystemProps<AbstractParser>>, Variants extends Record<string, VariantConfig>, States extends CSSPropMap<AbstractProps, SystemProps<AbstractParser>>, ActiveGroups extends Record<string, true>, CustomProps extends Record<string, SystemProp>> extends AnimusExtendedWithVariants<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps> {
507
523
  variant<Keys extends keyof Props, Base extends AbstractProps, Props extends Record<Keys, AbstractProps>, PropKey extends Readonly<string> = 'variant'>(options: {
508
524
  prop?: UnadmittedName<PropKey, AdmittedNames<GroupRegistry, ActiveGroups>>;
509
525
  defaultVariant?: Extract<keyof Props, string> | InheritedOptions<Variants, PropKey>;
510
- base?: ThemedCSSProps<Base, PropRegistry>;
511
- variants: ThemedCSSPropMap<Props, PropRegistry>;
512
- }): AnimusExtendedWithVariants<PropRegistry, GroupRegistry, BaseStyles, Variants & Record<PropKey, {
526
+ base?: ThemedCSSInputProps<Base, PropRegistry>;
527
+ variants: ThemedCSSInputPropMap<Props, PropRegistry>;
528
+ }): AnimusExtendedWithVariants<PropRegistry, GroupRegistry, BaseStyles, Variants & Record<PropKey, ThemedVariantModel<{
513
529
  prop?: UnadmittedName<PropKey, AdmittedNames<GroupRegistry, ActiveGroups>>;
514
530
  defaultVariant?: Extract<keyof Props, string> | InheritedOptions<Variants, PropKey> | undefined;
515
- base?: ThemedCSSProps<Base, PropRegistry>;
516
- variants: ThemedCSSPropMap<Props, PropRegistry>;
517
- }>, States, ActiveGroups, CustomProps>;
531
+ base?: ThemedCSSInputProps<Base, PropRegistry>;
532
+ variants: ThemedCSSInputPropMap<Props, PropRegistry>;
533
+ }, Base, Props, PropRegistry>>, States, ActiveGroups, CustomProps>;
518
534
  }
519
535
  declare class AnimusExtended<PropRegistry extends Record<string, SystemProp>, GroupRegistry extends Record<string, (keyof PropRegistry)[]>, BaseStyles extends CSSProps<AbstractProps, SystemProps<AbstractParser>>, Variants extends Record<string, VariantConfig>, States extends CSSPropMap<AbstractProps, SystemProps<AbstractParser>>, ActiveGroups extends Record<string, true>, CustomProps extends Record<string, SystemProp>> extends AnimusExtendedWithBase<PropRegistry, GroupRegistry, BaseStyles, Variants, States, ActiveGroups, CustomProps> {
520
- styles<Props extends AbstractProps>(config: ThemedCSSProps<Props, PropRegistry>): AnimusExtendedWithBase<PropRegistry, GroupRegistry, ThemedCSSProps<Props, PropRegistry> & BaseStyles, Variants, States, ActiveGroups, CustomProps>;
536
+ styles<Props extends AbstractProps>(config: ThemedCSSInputProps<Props, PropRegistry>): AnimusExtendedWithBase<PropRegistry, GroupRegistry, ThemedCSSProps<Props, PropRegistry> & BaseStyles, Variants, States, ActiveGroups, CustomProps>;
521
537
  }
522
538
  //#endregion
523
539
  //#region src/types/component.d.ts
@@ -533,7 +549,7 @@ type AnyBrandedComponent = ForwardRefExoticComponent<any> & {
533
549
  extend: () => unknown;
534
550
  };
535
551
  type ExtendFn<PR extends Record<string, SystemProp>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP> = {
536
- extend: () => AnimusExtended<PR, GR, BS & CSSProps<AbstractProps, SystemProps<AbstractParser>>, V & Record<string, VariantConfig>, S & CSSPropMap<AbstractProps, SystemProps<AbstractParser>>, AG & Record<string, true>, CP & Record<string, SystemProp>>;
552
+ extend: () => AnimusExtended<PR, GR, BS & CSSProps<AbstractProps, SystemProps<AbstractParser>>, V & Record<string, VariantConfig>, S & Record<string, {}>, AG & Record<string, true>, CP & Record<string, SystemProp>>;
537
553
  };
538
554
  type ActiveGroupPropNames<PR extends Record<string, SystemProp>, GR extends Record<string, (keyof PR)[]>, AG> = GR[Extract<keyof StripIndex<AG>, keyof GR>][number] | Extract<keyof StripIndex<AG>, keyof PR>;
539
555
  type GroupProps<PR extends Record<string, SystemProp>, GR extends Record<string, (keyof PR)[]>, AG> = { [K in ActiveGroupPropNames<PR, GR, AG> as K extends string ? K : never]?: ThemedPropValue<PR[K & keyof PR]> | undefined; };
@@ -599,6 +615,14 @@ type AnimusComponent<El extends keyof JSX.IntrinsicElements, PR extends Record<s
599
615
  };
600
616
  /** `Omit` per union member, so a discriminated-union target keeps each arm. */
601
617
  type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
618
+ /**
619
+ * The target's own `className` type, which can be a callback of its state:
620
+ * the runtime hands a callback through. A target without one takes a string.
621
+ * `undefined` reads as absent, since the target always gets Animus's classes.
622
+ */
623
+ type TargetClassName<P> = P extends {
624
+ className?: infer T;
625
+ } ? unknown extends T ? string | undefined : T | undefined : string | undefined;
602
626
  /**
603
627
  * The wrapped component's own props, with its ref, then exactly what the
604
628
  * builder admitted: the active groups' props, variants, states and custom
@@ -608,7 +632,7 @@ type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K>
608
632
  * a target without them does not offer them.
609
633
  */
610
634
  type AnimusWrappedConsumerProps<C extends ComponentType<any>, PR extends Record<string, SystemProp>, GR extends Record<string, (keyof PR)[]>, V, S, AG, CP extends Record<string, SystemProp>> = DistributiveOmit<ComponentPropsWithRef<C>, Exclude<AnimusManagedKeys<PR, GR, V, S, AG, CP>, 'as' | 'asChild'>> & ResolvedGroupProps<PR, GR, AG> & VariantProps<V> & StateProps<S> & CustomPropValues<CP> & SelectorAliasProps<ResolvedGroupProps<PR, GR, AG>> & {
611
- className?: string | undefined;
635
+ className?: TargetClassName<ComponentPropsWithRef<C>>;
612
636
  children?: ReactNode;
613
637
  };
614
638
  type AnimusWrappedComponent<C extends ComponentType<any>, PR extends Record<string, SystemProp>, GR extends Record<string, (keyof PR)[]>, BS, V, S, AG, CP extends Record<string, SystemProp>> = ForwardRefExoticComponent<AnimusWrappedConsumerProps<C, PR, GR, V, S, AG, CP>> & ExtendFn<PR, GR, BS, V, S, AG, CP> & {
@@ -628,10 +652,13 @@ type VariantPropsOf<C> = VariantProps<ExtractVariantsConfig<C>>;
628
652
  type RootSlot<Slots extends Record<string, unknown>> = 'Root' extends keyof Slots ? Slots['Root'] : never;
629
653
  type RootVariantKeys<Slots extends Record<string, unknown>> = keyof VariantPropsOf<RootSlot<Slots>> & string;
630
654
  type SharedConfig<Slots extends Record<string, unknown>> = { [K in RootVariantKeys<Slots>]?: true; };
655
+ /**
656
+ * An Animus slot's props already carry its `className`, which can be its
657
+ * target's callback; any other component's take a string.
658
+ */
631
659
  type SealedProps<C> = C extends {
632
660
  readonly [ConsumerProps]: infer P;
633
661
  } ? Omit<P, 'extend'> & {
634
- className?: string | undefined;
635
662
  children?: ReactNode;
636
663
  } : C extends ForwardRefExoticComponent<infer P> ? Omit<P, 'extend'> & {
637
664
  className?: string | undefined;
@@ -655,5 +682,5 @@ type BuilderClassProps<B> = B extends {
655
682
  custom: infer CP extends Record<string, SystemProp>;
656
683
  } ? AnimusClassProps<PR, GR, V, S, AG, CP> : never : never;
657
684
  //#endregion
658
- export { SerializedTheme as $, SystemProps as A, ReservedByConditionRegistry as At, ResponsiveProp as B, ParserProps as C, ConditionAliasMap as Ct, ScaleValue as D, NarrowedAliases as Dt, Scale as E, ConditionsOf as Et, VariantConfig as F, CSSColorValue as G, AbstractTheme as H, ArrayScale as I, ContextualVarRegistration as J, ColorModeOptions as K, MapScale as L, ThemedCSSProps as M, SelectorsOf as Mt, ThemedScale as N, UnknownAtRule as Nt, SelectorAliasProps as O, RawAtRuleKey as Ot, ThemedScaleValue as P, UnknownConditionAlias as Pt, ScaleTokenRef as Q, AbstractProps as R, Parser as S, ConditionAlias as St, PropertyValues as T, Conditions as Tt, BaseTheme as U, ThemeProps as V, BrowserColorSchemeConfig as W, EmittedTokenPaths as X, EmittedScales as Y, ModeAliasDefinition as Z, CSSProps as _, KeyframeFrameMap as _t, BuilderClassProps as a, TokenDefinition as at, DeclarationKey as b, AtRuleValue as bt, VariantPropsOf as c, FindPath as ct, StylingNames as d, PathToLiteral as dt, SystemPreferenceConfig as et, SystemPicks as f, PathValue as ft, CSSPropMap as g, Selectors as gt, BuiltInSelectorAlias as h, SelectorAliasMap as ht, AnyBrandedComponent as i, ThemeStructuralKey as it, ThemedCSSPropMap as j, ReservedBySelectorRegistry as jt, SystemProp as k, RegistryBrand as kt, AnimusExtended as l, LiteralPaths as lt, BuiltInConditionAlias as m, SelectorAlias as mt, AnimusComponent as n, ThemeCssFragment as nt, ComposedFamily as o, TokenScales as ot, AbstractParser as p, BUILT_IN_SELECTORS as pt, ColorTokenRef as q, AnimusWrappedComponent as r, ThemeManifest as rt, SharedConfig as s, CSSObject as st, AnimusClassProps as t, Theme as tt, AnimusExtendedWithAll as u, Path as ut, CompoundEntry as v, KeyframeRef as vt, Prop as w, ConditionKind as wt, DeclarationProp as x, BUILT_IN_CONDITIONS as xt, CustomPropConfig as y, Keyframes as yt, MediaQueryMap as z };
659
- //# sourceMappingURL=component-stJhG_A-.d.ts.map
685
+ export { EmittedTokenPaths as $, SystemProps as A, NarrowedAliases as At, MapScale as B, ParserProps as C, AtRuleValue as Ct, ScaleValue as D, ConditionKind as Dt, Scale as E, ConditionAliasMap as Et, ThemedScale as F, SelectorsOf as Ft, AbstractTheme as G, MediaQueryMap as H, ThemedScaleValue as I, UnknownAtRule as It, CSSColorValue as J, BaseTheme as K, ThemedVariantModel as L, UnknownConditionAlias as Lt, ThemedCSSInputProps as M, RegistryBrand as Mt, ThemedCSSPropMap as N, ReservedByConditionRegistry as Nt, SelectorAliasProps as O, Conditions as Ot, ThemedCSSProps as P, ReservedBySelectorRegistry as Pt, EmittedScales as Q, VariantConfig as R, Parser as S, Keyframes as St, PropertyValues as T, ConditionAlias as Tt, ResponsiveProp as U, AbstractProps as V, ThemeProps as W, ColorTokenRef as X, ColorModeOptions as Y, ContextualVarRegistration as Z, CSSProps as _, SelectorAlias as _t, BuilderClassProps as a, ThemeCssFragment as at, DeclarationKey as b, KeyframeFrameMap as bt, VariantPropsOf as c, TokenDefinition as ct, StylingNames as d, FindPath as dt, ModeAliasDefinition as et, SystemPicks as f, LiteralPaths as ft, CSSPropMap as g, BUILT_IN_SELECTORS as gt, BuiltInSelectorAlias as h, PathValue as ht, AnyBrandedComponent as i, Theme as it, ThemedCSSInputPropMap as j, RawAtRuleKey as jt, SystemProp as k, ConditionsOf as kt, AnimusExtended as l, TokenScales as lt, BuiltInConditionAlias as m, PathToLiteral as mt, AnimusComponent as n, SerializedTheme as nt, ComposedFamily as o, ThemeManifest as ot, AbstractParser as p, Path as pt, BrowserColorSchemeConfig as q, AnimusWrappedComponent as r, SystemPreferenceConfig as rt, SharedConfig as s, ThemeStructuralKey as st, AnimusClassProps as t, ScaleTokenRef as tt, AnimusExtendedWithAll as u, CSSObject as ut, CompoundEntry as v, SelectorAliasMap as vt, Prop as w, BUILT_IN_CONDITIONS as wt, DeclarationProp as x, KeyframeRef as xt, CustomPropConfig as y, Selectors as yt, ArrayScale as z };
686
+ //# sourceMappingURL=component-D9Fie8Ci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-D9Fie8Ci.d.ts","names":[],"sources":["../src/conditions.ts","../src/keyframes.ts","../src/selectors.ts","../src/types/properties.ts","../src/theme/flattenScale.ts","../src/types/shared.ts","../src/types/theme.ts","../src/types/props.ts","../src/types/scales.ts","../src/types/utils.ts","../src/types/config.ts","../src/types/styling-names.ts","../src/AnimusExtended.ts","../src/types/component.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { i as AnyBrandedComponent, o as ComposedFamily, s as SharedConfig } from "./component-stJhG_A-.js";
1
+ import { i as AnyBrandedComponent, o as ComposedFamily, s as SharedConfig } from "./component-D9Fie8Ci.js";
2
2
  //#region src/compose.d.ts
3
3
  /**
4
4
  * Shared variants propagate through the CSS cascade, so a slot only inherits
@@ -12,4 +12,4 @@ declare function compose<Slots extends {
12
12
  }): ComposedFamily<Slots>;
13
13
  //#endregion
14
14
  export { compose as t };
15
- //# sourceMappingURL=compose-BQi7TDtL.d.ts.map
15
+ //# sourceMappingURL=compose-A-kGRKdR.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose-BQi7TDtL.d.ts","names":[],"sources":["../src/compose.ts"],"mappings":";;;;;;iBAmBgB,QACd;EAAgB,MAAM;IAAwB,eAE5C,4BAEI,eAAe,aAAa,QAElC,OAAO,OACP;EAAW,QAAQ;EAAQ;IAC1B,eAAe"}
1
+ {"version":3,"file":"compose-A-kGRKdR.d.ts","names":[],"sources":["../src/compose.ts"],"mappings":";;;;;;iBAmBgB,QACd;EAAgB,MAAM;IAAwB,eAE5C,4BAEI,eAAe,aAAa,QAElC,OAAO,OACP;EAAW,QAAQ;EAAQ;IAC1B,eAAe"}
package/dist/compose.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as compose } from "./compose-BQi7TDtL.js";
1
+ import { t as compose } from "./compose-A-kGRKdR.js";
2
2
  export { compose };
@@ -1,4 +1,4 @@
1
- import { i as AnyBrandedComponent, o as ComposedFamily, s as SharedConfig } from "./component-stJhG_A-.js";
1
+ import { i as AnyBrandedComponent, o as ComposedFamily, s as SharedConfig } from "./component-D9Fie8Ci.js";
2
2
  import { ForwardRefExoticComponent } from "react";
3
3
  //#region src/composeWithContext.d.ts
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"composeWithContext.d.ts","names":[],"sources":["../src/composeWithContext.ts"],"mappings":";;;;;;;wBAuBgB,mBACd;EAAgB,MAAM;IAAwB,eAE5C,4BAEI,eAAe,aAAa,QAElC,OAAO,OACP;EAAW,QAAQ;EAAQ;IAC1B,eAAe;;;;;wBA6DF,gCACd,OAAO,eAAe,iCACtB;EAAU;EAAc;IACvB,eAAe"}
1
+ {"version":3,"file":"composeWithContext.d.ts","names":[],"sources":["../src/composeWithContext.ts"],"mappings":";;;;;;;wBAsBgB,mBACd;EAAgB,MAAM;IAAwB,eAE5C,4BAEI,eAAe,aAAa,QAElC,OAAO,OACP;EAAW,QAAQ;EAAQ;IAC1B,eAAe;;;;;wBA2DF,gCACd,OAAO,eAAe,iCACtB;EAAU;EAAc;IACvB,eAAe"}
@@ -22,10 +22,10 @@ function composeWithContext(slots, options) {
22
22
  const value = props[key] ?? rootDefaults?.[key];
23
23
  if (value != null) shared[key] = value;
24
24
  }
25
- return createElement(SourceComponent, {
25
+ return createElement(FamilyCtx.Provider, { value: shared }, createElement(SourceComponent, {
26
26
  ...props,
27
27
  ref
28
- }, createElement(FamilyCtx.Provider, { value: shared }, props.children));
28
+ }));
29
29
  });
30
30
  } else Wrapper = forwardRef((props, ref) => {
31
31
  const inherited = useContext(FamilyCtx);
@@ -64,10 +64,10 @@ function createComposedFamilyWithContext(slots, config) {
64
64
  const value = props[key] ?? rootDefaults?.[key];
65
65
  if (value != null) shared[key] = value;
66
66
  }
67
- return createElement(SourceComponent, {
67
+ return createElement(Ctx.Provider, { value: shared }, createElement(SourceComponent, {
68
68
  ...props,
69
69
  ref
70
- }, createElement(Ctx.Provider, { value: shared }, props.children));
70
+ }));
71
71
  });
72
72
  } else Wrapper = forwardRef((props, ref) => {
73
73
  const inherited = useContext(Ctx);
@@ -0,0 +1,115 @@
1
+ //#region src/runtime/uncompiled.d.ts
2
+ /** A builder terminal that ran without Animus compiling it. */
3
+ interface UncompiledDefinition {
4
+ /** What it renders: `<button>`, a wrapped component, or class names. */
5
+ target: string;
6
+ /** The module that declared it, as the call stack names it. */
7
+ origin: string | undefined;
8
+ reported: boolean;
9
+ }
10
+ //#endregion
11
+ //#region src/runtime/resolveClasses.d.ts
12
+ interface VariantConfig {
13
+ options: string[];
14
+ default?: string;
15
+ }
16
+ interface CompoundConfig {
17
+ conditions: Record<string, string | string[]>;
18
+ className: string;
19
+ }
20
+ interface ClassResolverConfig {
21
+ variants?: Record<string, VariantConfig>;
22
+ compounds?: CompoundConfig[];
23
+ states?: string[];
24
+ systemPropNames?: string[];
25
+ customPropMap?: Record<string, Record<string, string>>;
26
+ customDynamicConfig?: DynamicPropConfig;
27
+ /** Callback props whose `customPropMap` keys are `typedValueKey`s. */
28
+ typedCustomProps?: readonly string[];
29
+ /** System props bound to a configured transform, whose `systemPropMap`
30
+ * keys are `typedValueKey`s. */
31
+ typedSystemProps?: readonly string[];
32
+ /** System prop → the props the system defines after it that write every
33
+ * property it writes. Of props that one element sets on one CSS
34
+ * property, the later-defined takes effect, so a superseded prop applies
35
+ * no class and no slot value. */
36
+ supersededBy?: Record<string, readonly string[]>;
37
+ /** Set only by a builder terminal that ran without Animus compiling it:
38
+ * what each render of the component reports. */
39
+ uncompiled?: UncompiledDefinition | undefined;
40
+ }
41
+ type SystemPropMap = Record<string, Record<string, string>>;
42
+ interface ValueDynamicPropConfig {
43
+ varName: string;
44
+ slotClass: string;
45
+ property?: string;
46
+ properties?: readonly string[];
47
+ /** The bound transform's readable name, for diagnostics. */
48
+ transformName?: string;
49
+ /** The bound definition's key in the generated `transforms` registry. */
50
+ transformId?: string;
51
+ transform?: (value: string | number) => string | number;
52
+ scaleValues?: Record<string, string | number>;
53
+ negative?: boolean;
54
+ /** Values outside `scaleValues` are dropped, not applied raw. */
55
+ strict?: boolean;
56
+ /** The keywords a strict prop admits beside its tokens. */
57
+ keywords?: readonly string[];
58
+ /** The custom property the prop's slot also writes. */
59
+ currentVar?: string;
60
+ /**
61
+ * Development only: the conditions (`_` for the base) at which a
62
+ * production build keeps this prop's slot, empty when it keeps none.
63
+ */
64
+ productionConditions?: readonly string[];
65
+ kind?: never;
66
+ }
67
+ interface DeclarationDynamicPropConfig {
68
+ kind: 'declarations';
69
+ slotClass: string;
70
+ /** Member property → its variable; a breakpoint appends `-{bp}`. */
71
+ memberVars: Record<string, string>;
72
+ /** Scale key → member property → resolved CSS value. */
73
+ declarationScaleValues: Record<string, Record<string, string>>;
74
+ /**
75
+ * Development only: the conditions (`_` for the base) at which a
76
+ * production build keeps this prop's slot, empty when it keeps none.
77
+ */
78
+ productionConditions?: readonly string[];
79
+ }
80
+ type DeclarationConfig = DeclarationDynamicPropConfig & { [K in Exclude<keyof ValueDynamicPropConfig, 'kind' | 'slotClass' | 'productionConditions'>]?: never; };
81
+ type DynamicPropConfig = Record<string, ValueDynamicPropConfig | DeclarationConfig>;
82
+ //#endregion
83
+ //#region src/runtime/createClassResolver.d.ts
84
+ interface ClassResolverAttributes {
85
+ class: string;
86
+ style?: string;
87
+ }
88
+ /**
89
+ * `props()`: the attributes under React's names. The style is an object, the
90
+ * dynamic style's custom properties merged with the caller's style. A type
91
+ * literal, not an interface, so it assigns to an open record such as Base
92
+ * UI's `useRender({ props })`.
93
+ */
94
+ type ClassResolverProps = {
95
+ className: string;
96
+ style?: Record<string, string | number | undefined>;
97
+ };
98
+ /**
99
+ * Input defaults to an open record; a builder's `asClass()` narrows it to the
100
+ * props the builder admitted. `props()` also takes the caller's `className`
101
+ * and `style`. That style is a record of `any`: React's `CSSProperties` is an
102
+ * interface, and an interface assigns to no narrower index signature.
103
+ */
104
+ interface ClassResolver<Props extends object = Record<string, unknown>> {
105
+ (props?: Props): string;
106
+ attrs(props?: Props): ClassResolverAttributes;
107
+ props(props?: Props & {
108
+ className?: string | undefined;
109
+ style?: Record<string, any> | undefined;
110
+ }): ClassResolverProps;
111
+ }
112
+ declare function createClassResolver(className: string, resolverConfig: ClassResolverConfig, systemPropMap?: SystemPropMap, dynamicPropConfig?: DynamicPropConfig): ClassResolver;
113
+ //#endregion
114
+ export { ClassResolverConfig as a, createClassResolver as i, ClassResolverAttributes as n, DynamicPropConfig as o, ClassResolverProps as r, SystemPropMap as s, ClassResolver as t };
115
+ //# sourceMappingURL=createClassResolver-C-UOgE_d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createClassResolver-C-UOgE_d.d.ts","names":[],"sources":["../src/runtime/uncompiled.ts","../src/runtime/resolveClasses.ts","../src/runtime/createClassResolver.ts"],"mappings":";;UAgBiB;;EAEf;;EAEA;EACA;;;;UCrBQ;EACR;EACA;;UAGQ;EACR,YAAY;EACZ;;UAGe;EACf,WAAW,eAAe;EAC1B,YAAY;EACZ;EACA;EACA,gBAAgB,eAAe;EAC/B,sBAAsB;;EAEtB;;;EAGA;;;;;EAKA,eAAe;;;EAGf,aAAa;;KAGH,gBAAgB,eAAe;UAEjC;EACR;EACA;EACA;EACA;;EAEA;;EAEA;EACA,aAAa;EACb,cAAc;EACd;;EAEA;;EAEA;;EAEA;;;;;EAKA;EACA;;UAGQ;EACR;EACA;;EAEA,YAAY;;EAEZ,wBAAwB,eAAe;;;;;EAKvC;;KAGG,oBAAoB,kCAErB,KAAK,cACG;KAMA,oBAAoB,eAE9B,yBAAyB;;;UCzEV;EACf;EACA;;;;;;;;KASU;EACV;EACA,QAAQ;;;;;;;;UASO,cAAc,uBAAuB;GACnD,QAAQ;EACT,MAAM,QAAQ,QAAQ;EACtB,MACE,QAAQ;IACN;IACA,QAAQ;MAET;;iBASW,oBACd,mBACA,gBAAgB,qBAChB,gBAAgB,eAChB,oBAAoB,oBACnB"}