@yahoo/uds-v5-wip 1.61.0 → 1.62.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 (117) hide show
  1. package/dist/config/dist/AssetGroup.d.ts +75 -0
  2. package/dist/config/dist/AssetGroup.js +114 -0
  3. package/dist/config/dist/Component.d.ts +309 -0
  4. package/dist/config/dist/Component.js +897 -0
  5. package/dist/config/dist/ComponentGroup.d.ts +21 -0
  6. package/dist/config/dist/ComponentGroup.js +46 -0
  7. package/dist/config/dist/CompositeStyle.d.ts +28 -0
  8. package/dist/config/dist/CompositeStyle.js +52 -0
  9. package/dist/config/dist/Config.d.ts +422 -0
  10. package/dist/config/dist/Config.js +1426 -0
  11. package/dist/config/dist/Mode.d.ts +42 -0
  12. package/dist/config/dist/Mode.js +81 -0
  13. package/dist/config/dist/Modifier.d.ts +52 -0
  14. package/dist/config/dist/Modifier.js +97 -0
  15. package/dist/config/dist/MotionDef.d.ts +50 -0
  16. package/dist/config/dist/MotionDef.js +97 -0
  17. package/dist/config/dist/Props.d.ts +235 -126
  18. package/dist/config/dist/Provider.d.ts +21 -0
  19. package/dist/config/dist/Provider.js +14 -0
  20. package/dist/config/dist/StyleProp.d.ts +113 -0
  21. package/dist/config/dist/StyleProp.js +197 -0
  22. package/dist/config/dist/Token.d.ts +56 -0
  23. package/dist/config/dist/Token.js +112 -0
  24. package/dist/config/dist/TokenGroup.d.ts +33 -0
  25. package/dist/config/dist/TokenGroup.js +68 -0
  26. package/dist/config/dist/asset-kind.d.ts +56 -0
  27. package/dist/config/dist/asset-kind.js +29 -0
  28. package/dist/config/dist/brands.d.ts +31 -0
  29. package/dist/config/dist/brands.js +20 -0
  30. package/dist/config/dist/captureCallerPath.d.ts +49 -0
  31. package/dist/config/dist/captureCallerPath.js +95 -0
  32. package/dist/config/dist/colorExpressions.d.ts +132 -0
  33. package/dist/config/dist/colorExpressions.js +148 -0
  34. package/dist/config/dist/defineAssetGroup.d.ts +158 -0
  35. package/dist/config/dist/defineAssetGroup.js +263 -0
  36. package/dist/config/dist/defineProvider.d.ts +30 -0
  37. package/dist/config/dist/defineProvider.js +60 -0
  38. package/dist/config/dist/element-marker.d.ts +55 -0
  39. package/dist/config/dist/element-marker.js +113 -0
  40. package/dist/config/dist/entity-utils.d.ts +27 -0
  41. package/dist/config/dist/entity-utils.js +105 -0
  42. package/dist/config/dist/factories.d.ts +707 -0
  43. package/dist/config/dist/factories.js +393 -0
  44. package/dist/config/dist/foreign-component-name.js +42 -0
  45. package/dist/config/dist/index.d.ts +30 -21
  46. package/dist/config/dist/index.js +26 -14
  47. package/dist/config/dist/interpolate.d.ts +21 -0
  48. package/dist/config/dist/interpolate.js +10 -0
  49. package/dist/config/dist/markers.d.ts +218 -0
  50. package/dist/config/dist/markers.js +67 -0
  51. package/dist/config/dist/refs.d.ts +143 -69
  52. package/dist/config/dist/refs.js +95 -113
  53. package/dist/config/dist/token-override-rows.d.ts +67 -0
  54. package/dist/config/dist/token-override-rows.js +223 -0
  55. package/dist/config/dist/tokenValueType.js +138 -0
  56. package/dist/config/dist/types/css-properties.d.ts +132 -122
  57. package/dist/config/dist/types/css-property-keywords.d.ts +157 -0
  58. package/dist/config/dist/types/css-property-keywords.js +616 -0
  59. package/dist/config/dist/types/css-values.d.ts +18 -16
  60. package/dist/config/dist/types.d.ts +688 -66
  61. package/dist/config/dist/units.d.ts +15 -0
  62. package/dist/config/dist/units.js +16 -0
  63. package/dist/config.d.ts +31 -22
  64. package/dist/config.js +28 -16
  65. package/dist/loader/dist/loader/artifacts.js +26 -9
  66. package/dist/loader/dist/loader.d.ts +11 -23
  67. package/dist/loader/dist/loader.js +54 -99
  68. package/dist/loader/dist/next.js +3 -3
  69. package/dist/loader/dist/transform-runner.js +1 -8
  70. package/dist/loader/dist/unplugin.d.ts +2 -2
  71. package/dist/loader/dist/unplugin.js +2 -2
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/dist/utils/dist/index.js +1 -0
  74. package/dist/utils/dist/motion-utils/resolveMotionState.d.ts +35 -0
  75. package/dist/utils/dist/motion-utils/resolveMotionState.js +33 -0
  76. package/dist/utils/dist/string-utils/componentClassName.d.ts +41 -8
  77. package/dist/utils/dist/string-utils/componentClassName.js +48 -11
  78. package/dist/utils.d.ts +3 -2
  79. package/dist/utils.js +3 -2
  80. package/package.json +3 -3
  81. package/dist/codegen/dist/loader/getLoaderArtifacts.js +0 -2
  82. package/dist/config/dist/bindRender.d.ts +0 -16
  83. package/dist/config/dist/bindRender.js +0 -310
  84. package/dist/config/dist/className.d.ts +0 -54
  85. package/dist/config/dist/className.js +0 -77
  86. package/dist/config/dist/component-config.d.ts +0 -862
  87. package/dist/config/dist/component-config.js +0 -163
  88. package/dist/config/dist/component-refs.d.ts +0 -121
  89. package/dist/config/dist/createConfig.d.ts +0 -456
  90. package/dist/config/dist/createConfig.js +0 -503
  91. package/dist/config/dist/createStyler.d.ts +0 -35
  92. package/dist/config/dist/createStyler.js +0 -93
  93. package/dist/config/dist/defineComponent.d.ts +0 -317
  94. package/dist/config/dist/defineComponent.js +0 -264
  95. package/dist/config/dist/defineCompositeStyle.d.ts +0 -93
  96. package/dist/config/dist/defineCompositeStyle.js +0 -18
  97. package/dist/config/dist/defineMotionConfig.d.ts +0 -152
  98. package/dist/config/dist/definePreview.d.ts +0 -45
  99. package/dist/config/dist/definePreview.js +0 -35
  100. package/dist/config/dist/defineStyleProp.d.ts +0 -289
  101. package/dist/config/dist/defineStyleProp.js +0 -61
  102. package/dist/config/dist/merge-utils.js +0 -51
  103. package/dist/config/dist/propertyAcceptedTypes.d.ts +0 -19
  104. package/dist/config/dist/propertyAcceptedTypes.js +0 -220
  105. package/dist/config/dist/resolveCompoundProps.d.ts +0 -65
  106. package/dist/config/dist/resolveCompoundProps.js +0 -120
  107. package/dist/config/dist/resolveStyleProp.d.ts +0 -157
  108. package/dist/config/dist/resolveStyleProp.js +0 -260
  109. package/dist/config/dist/runtime-registry.js +0 -37
  110. package/dist/config/dist/serialize.d.ts +0 -47
  111. package/dist/config/dist/serialize.js +0 -111
  112. package/dist/config/dist/sniffTokenType.d.ts +0 -7
  113. package/dist/config/dist/sniffTokenType.js +0 -67
  114. package/dist/config/dist/style-prop-runtime.d.ts +0 -75
  115. package/dist/config/dist/style-prop-runtime.js +0 -390
  116. package/dist/loader/dist/loader/internal-meta.js +0 -59
  117. package/dist/loader/dist/loader/lower-new-api-primitive.js +0 -252
@@ -0,0 +1,42 @@
1
+ import { ModeDefinition, ModeOptionDefinition, TokenModifierKey } from "./types.js";
2
+
3
+ //#region ../config/dist/Mode.d.ts
4
+ //#region src/Mode.d.ts
5
+ declare class ModeOption {
6
+ readonly name: string;
7
+ readonly modifier: TokenModifierKey;
8
+ readonly label?: string;
9
+ readonly description?: string;
10
+ readonly css?: string;
11
+ readonly media?: string;
12
+ constructor(args: {
13
+ name: string;
14
+ definition: ModeOptionDefinition;
15
+ });
16
+ /**
17
+ * Human description for when this option surfaces as a style modifier
18
+ * (`_dark`, `_lg`). Distinguishes appearance/theme modes ("in dark mode")
19
+ * from responsive breakpoints ("at the lg breakpoint"), inferred from
20
+ * whether the option activates via `css` or `media`. Prefers the authored
21
+ * `label`, falling back to the option `name`.
22
+ */
23
+ describeAsModifier(): string;
24
+ toJSON(): ModeOptionDefinition & {
25
+ name: string;
26
+ };
27
+ }
28
+ declare class Mode {
29
+ readonly name: string;
30
+ readonly options: ReadonlyMap<string, ModeOption>;
31
+ private _derived?;
32
+ constructor(args: {
33
+ name: string;
34
+ definition: ModeDefinition;
35
+ });
36
+ get derived(): {
37
+ readonly modifierNames: readonly TokenModifierKey[];
38
+ };
39
+ toJSON(): ModeDefinition;
40
+ } //#endregion
41
+ //#endregion
42
+ export { Mode, ModeOption };
@@ -0,0 +1,81 @@
1
+ import { compact } from "./entity-utils.js";
2
+ //#region ../config/dist/Mode.js
3
+ /**
4
+ * `Mode` — a set of mutually-exclusive options each contributing a
5
+ * modifier (`colorMode: { light, dark }` → `_light`, `_dark`).
6
+ *
7
+ * Owns its options and exposes the derived modifier names produced by
8
+ * the option set.
9
+ */
10
+ var ModeOption = class {
11
+ name;
12
+ modifier;
13
+ label;
14
+ description;
15
+ css;
16
+ media;
17
+ constructor(args) {
18
+ this.name = args.name;
19
+ this.modifier = args.definition.modifier ?? `_${args.name}`;
20
+ this.label = args.definition.label;
21
+ this.description = args.definition.description;
22
+ this.css = args.definition.css;
23
+ this.media = args.definition.media;
24
+ }
25
+ /**
26
+ * Human description for when this option surfaces as a style modifier
27
+ * (`_dark`, `_lg`). Distinguishes appearance/theme modes ("in dark mode")
28
+ * from responsive breakpoints ("at the lg breakpoint"), inferred from
29
+ * whether the option activates via `css` or `media`. Prefers the authored
30
+ * `label`, falling back to the option `name`.
31
+ */
32
+ describeAsModifier() {
33
+ const display = this.label ?? this.name;
34
+ if (this.media) return `Conditionally apply styles at the ${display} breakpoint`;
35
+ return `Conditionally apply styles in ${display} mode`;
36
+ }
37
+ toJSON() {
38
+ return {
39
+ name: this.name,
40
+ modifier: this.modifier,
41
+ ...compact({
42
+ label: this.label,
43
+ description: this.description,
44
+ css: this.css,
45
+ media: this.media
46
+ })
47
+ };
48
+ }
49
+ };
50
+ var Mode = class {
51
+ name;
52
+ options;
53
+ _derived;
54
+ constructor(args) {
55
+ this.name = args.name;
56
+ const options = /* @__PURE__ */ new Map();
57
+ for (const [optName, optDef] of Object.entries(args.definition)) options.set(optName, new ModeOption({
58
+ name: optName,
59
+ definition: optDef
60
+ }));
61
+ this.options = options;
62
+ }
63
+ get derived() {
64
+ if (!this._derived) {
65
+ const modifierNames = [];
66
+ for (const option of this.options.values()) modifierNames.push(option.modifier);
67
+ this._derived = { modifierNames };
68
+ }
69
+ return this._derived;
70
+ }
71
+ toJSON() {
72
+ const out = {};
73
+ for (const [name, option] of this.options) {
74
+ const { name: _omit, ...rest } = option.toJSON();
75
+ out[name] = rest;
76
+ }
77
+ return out;
78
+ }
79
+ };
80
+ //#endregion
81
+ export { Mode, ModeOption };
@@ -0,0 +1,52 @@
1
+ import { CompositeRef, ModeRef } from "./refs.js";
2
+ import { ModifierDefinition, TokenModifierKey } from "./types.js";
3
+ import { CssSelector } from "./brands.js";
4
+
5
+ //#region ../config/dist/Modifier.d.ts
6
+ //#region src/Modifier.d.ts
7
+ type CompositeSelectorLookup = (ref: string) => string | undefined;
8
+ type ModeSelectorLookup = (ref: string) => string | undefined;
9
+ declare class Modifier {
10
+ #private;
11
+ readonly name: TokenModifierKey;
12
+ readonly selector?: string | CompositeRef | ModeRef;
13
+ readonly media?: string;
14
+ readonly description?: string;
15
+ /**
16
+ * Tailwind variant prefix a modifier name maps to. Strip the leading
17
+ * underscore, kebab-case the remainder, append `:`. `_focusVisible` →
18
+ * `focus-visible:`, `_hover` → `hover:`. Static so callers that only
19
+ * have the modifier name string (codegen `prepareModifierProps`,
20
+ * className builders) can derive it without spinning up a Modifier.
21
+ *
22
+ * Loader and runtime must agree byte-for-byte on this output — the
23
+ * single source of truth lives here.
24
+ */
25
+ static tailwindPrefix(modifierName: string): string;
26
+ /**
27
+ * Auto-generate a human-readable description from a modifier name —
28
+ * strip the leading `_`, split on camelCase boundaries and digit
29
+ * groups, lowercase. `_onElevation1` → `on elevation 1`. Static so
30
+ * callers with just the name string (and no `Modifier` instance) can
31
+ * reach the same wording; the instance getter
32
+ * `derived.description` uses it as the fallback when the authored
33
+ * `description` is missing.
34
+ */
35
+ static autoDescription(modifierName: string): string;
36
+ constructor(args: {
37
+ name: TokenModifierKey;
38
+ definition: ModifierDefinition;
39
+ compositeLookup: CompositeSelectorLookup;
40
+ modeLookup: ModeSelectorLookup;
41
+ });
42
+ get derived(): {
43
+ readonly cssSelector: CssSelector;
44
+ readonly tailwindPrefix: string;
45
+ readonly description: string;
46
+ };
47
+ toJSON(): ModifierDefinition & {
48
+ name: TokenModifierKey;
49
+ };
50
+ } //#endregion
51
+ //#endregion
52
+ export { Modifier };
@@ -0,0 +1,97 @@
1
+ import { cssSelector } from "./brands.js";
2
+ import { compact, kebabCase } from "./entity-utils.js";
3
+ import { isCompositeRef, isModeRef } from "./refs.js";
4
+ //#region ../config/dist/Modifier.js
5
+ /**
6
+ * `Modifier` — a state or structural variation (`_hover`, `_dark`).
7
+ *
8
+ * Stores the authored `selector` (string, `composite()` marker, or
9
+ * `mode()` marker) and resolves it to a CSS selector on demand via
10
+ * the parent Config's lookup callables.
11
+ *
12
+ * `derived.cssSelector` recomputes on access — the resolved value
13
+ * depends on the Config's composite/mode tables, which can grow after
14
+ * the Modifier is constructed.
15
+ */
16
+ var Modifier = class Modifier {
17
+ name;
18
+ selector;
19
+ media;
20
+ description;
21
+ #compositeLookup;
22
+ #modeLookup;
23
+ #derived;
24
+ /**
25
+ * Tailwind variant prefix a modifier name maps to. Strip the leading
26
+ * underscore, kebab-case the remainder, append `:`. `_focusVisible` →
27
+ * `focus-visible:`, `_hover` → `hover:`. Static so callers that only
28
+ * have the modifier name string (codegen `prepareModifierProps`,
29
+ * className builders) can derive it without spinning up a Modifier.
30
+ *
31
+ * Loader and runtime must agree byte-for-byte on this output — the
32
+ * single source of truth lives here.
33
+ */
34
+ static tailwindPrefix(modifierName) {
35
+ return `${kebabCase(modifierName.slice(1))}:`;
36
+ }
37
+ /**
38
+ * Auto-generate a human-readable description from a modifier name —
39
+ * strip the leading `_`, split on camelCase boundaries and digit
40
+ * groups, lowercase. `_onElevation1` → `on elevation 1`. Static so
41
+ * callers with just the name string (and no `Modifier` instance) can
42
+ * reach the same wording; the instance getter
43
+ * `derived.description` uses it as the fallback when the authored
44
+ * `description` is missing.
45
+ */
46
+ static autoDescription(modifierName) {
47
+ return `Conditionally apply styles ${modifierName.replace(/^_/, "").replace(/([A-Z])/g, " $1").replace(/(\d+)/g, " $1").trim().toLowerCase()}`;
48
+ }
49
+ constructor(args) {
50
+ this.name = args.name;
51
+ this.selector = args.definition.selector;
52
+ this.media = args.definition.media;
53
+ this.description = args.definition.description;
54
+ this.#compositeLookup = args.compositeLookup;
55
+ this.#modeLookup = args.modeLookup;
56
+ }
57
+ get derived() {
58
+ if (!this.#derived) {
59
+ const selector = this.selector;
60
+ const name = this.name;
61
+ const authoredDescription = this.description;
62
+ const compositeLookup = this.#compositeLookup;
63
+ const modeLookup = this.#modeLookup;
64
+ this.#derived = {
65
+ get cssSelector() {
66
+ return cssSelector(resolveSelector(selector, compositeLookup, modeLookup));
67
+ },
68
+ get tailwindPrefix() {
69
+ return Modifier.tailwindPrefix(name);
70
+ },
71
+ get description() {
72
+ return authoredDescription ?? Modifier.autoDescription(name);
73
+ }
74
+ };
75
+ }
76
+ return this.#derived;
77
+ }
78
+ toJSON() {
79
+ return {
80
+ name: this.name,
81
+ ...compact({
82
+ selector: this.selector,
83
+ media: this.media,
84
+ description: this.description
85
+ })
86
+ };
87
+ }
88
+ };
89
+ function resolveSelector(selector, compositeLookup, modeLookup) {
90
+ if (selector === void 0) return "";
91
+ if (typeof selector === "string") return selector;
92
+ if (isCompositeRef(selector)) return compositeLookup(selector.ref) ?? "";
93
+ if (isModeRef(selector)) return modeLookup(selector.ref) ?? "";
94
+ return "";
95
+ }
96
+ //#endregion
97
+ export { Modifier };
@@ -0,0 +1,50 @@
1
+ import { CssMotionDefinition, JsMotionDefinition, MotionKeyframes, MotionStateKeyframe, MotionTransition } from "./types.js";
2
+ import { CssClassName } from "./brands.js";
3
+
4
+ //#region ../config/dist/MotionDef.d.ts
5
+ //#region src/MotionDef.d.ts
6
+ declare class CssMotionDef {
7
+ #private;
8
+ readonly runtime: "css";
9
+ readonly name: string;
10
+ readonly keyframes: MotionKeyframes;
11
+ readonly transition?: MotionTransition;
12
+ readonly animationDuration?: string | number;
13
+ readonly animationTimingFunction?: string;
14
+ readonly animationDelay?: string | number;
15
+ readonly animationIterationCount?: string | number;
16
+ readonly animationDirection?: string;
17
+ readonly animationFillMode?: string;
18
+ readonly animationPlayState?: string;
19
+ readonly reducedMotion?: 'none';
20
+ constructor(args: {
21
+ name: string;
22
+ definition: CssMotionDefinition;
23
+ });
24
+ get derived(): {
25
+ readonly cssClassName: CssClassName;
26
+ };
27
+ toJSON(): CssMotionDefinition & {
28
+ name: string;
29
+ };
30
+ }
31
+ declare class JsMotionDef {
32
+ readonly runtime: "js";
33
+ readonly name: string;
34
+ readonly initial?: MotionStateKeyframe;
35
+ readonly animate?: MotionStateKeyframe;
36
+ readonly exit?: MotionStateKeyframe;
37
+ readonly transition?: MotionTransition;
38
+ readonly whileHover?: MotionStateKeyframe;
39
+ readonly whileTap?: MotionStateKeyframe;
40
+ constructor(args: {
41
+ name: string;
42
+ definition: JsMotionDefinition;
43
+ });
44
+ toJSON(): JsMotionDefinition & {
45
+ name: string;
46
+ };
47
+ }
48
+ type MotionDef = CssMotionDef | JsMotionDef; //#endregion
49
+ //#endregion
50
+ export { CssMotionDef, JsMotionDef, MotionDef };
@@ -0,0 +1,97 @@
1
+ import { cssClassName } from "./brands.js";
2
+ import { compact, kebabCase } from "./entity-utils.js";
3
+ //#region ../config/dist/MotionDef.js
4
+ /**
5
+ * `MotionDef` — animation presets, discriminated by `runtime`.
6
+ *
7
+ * `CssMotionDef` carries the CSS keyframes + transition for the CSS
8
+ * runtime and exposes a derived CSS class name. `JsMotionDef` carries
9
+ * raw keyframe state for a JS animation library (motion-one / framer)
10
+ * and has no `.derived` — the consumer reads authored state directly.
11
+ */
12
+ var CssMotionDef = class {
13
+ runtime = "css";
14
+ name;
15
+ keyframes;
16
+ transition;
17
+ animationDuration;
18
+ animationTimingFunction;
19
+ animationDelay;
20
+ animationIterationCount;
21
+ animationDirection;
22
+ animationFillMode;
23
+ animationPlayState;
24
+ reducedMotion;
25
+ #derived;
26
+ constructor(args) {
27
+ const d = args.definition;
28
+ this.name = args.name;
29
+ this.keyframes = d.keyframes;
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;
38
+ this.reducedMotion = d.reducedMotion === "none" ? "none" : void 0;
39
+ }
40
+ get derived() {
41
+ if (!this.#derived) this.#derived = { cssClassName: cssClassName(`motion-${kebabCase(this.name)}`) };
42
+ return this.#derived;
43
+ }
44
+ toJSON() {
45
+ return {
46
+ name: this.name,
47
+ runtime: "css",
48
+ keyframes: this.keyframes,
49
+ ...compact({
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,
58
+ reducedMotion: this.reducedMotion
59
+ })
60
+ };
61
+ }
62
+ };
63
+ var JsMotionDef = class {
64
+ runtime = "js";
65
+ name;
66
+ initial;
67
+ animate;
68
+ exit;
69
+ transition;
70
+ whileHover;
71
+ whileTap;
72
+ constructor(args) {
73
+ 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;
80
+ }
81
+ toJSON() {
82
+ return {
83
+ name: this.name,
84
+ runtime: "js",
85
+ ...compact({
86
+ initial: this.initial,
87
+ animate: this.animate,
88
+ exit: this.exit,
89
+ transition: this.transition,
90
+ whileHover: this.whileHover,
91
+ whileTap: this.whileTap
92
+ })
93
+ };
94
+ }
95
+ };
96
+ //#endregion
97
+ export { CssMotionDef, JsMotionDef };