@yahoo/uds 3.156.2 → 3.157.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 (144) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +9 -4
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +2 -1
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +2 -1
  4. package/dist/automated-config/dist/generated/autoVariants.js +9 -4
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +3011 -3038
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +143 -140
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +143 -140
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +3011 -3038
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +1227 -501
  10. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +1227 -501
  11. package/dist/automated-config/dist/properties.cjs +1 -1
  12. package/dist/automated-config/dist/properties.d.cts +15 -0
  13. package/dist/automated-config/dist/properties.d.ts +15 -0
  14. package/dist/automated-config/dist/properties.js +1 -1
  15. package/dist/automated-config/dist/types/ComponentConfig.d.cts +77 -4
  16. package/dist/automated-config/dist/types/ComponentConfig.d.ts +77 -4
  17. package/dist/automated-config/dist/types/ConfigSchema.d.cts +14 -2
  18. package/dist/automated-config/dist/types/ConfigSchema.d.ts +14 -2
  19. package/dist/automated-config/dist/types/StateAxis.cjs +90 -0
  20. package/dist/automated-config/dist/types/StateAxis.d.cts +70 -0
  21. package/dist/automated-config/dist/types/StateAxis.d.ts +70 -0
  22. package/dist/automated-config/dist/types/StateAxis.js +84 -0
  23. package/dist/automated-config/dist/utils/buildConfigSchema.cjs +98 -82
  24. package/dist/automated-config/dist/utils/buildConfigSchema.d.cts +32 -10
  25. package/dist/automated-config/dist/utils/buildConfigSchema.d.ts +32 -10
  26. package/dist/automated-config/dist/utils/buildConfigSchema.js +99 -83
  27. package/dist/automated-config/dist/utils/canonicalizeStateKey.cjs +32 -0
  28. package/dist/automated-config/dist/utils/canonicalizeStateKey.d.cts +48 -0
  29. package/dist/automated-config/dist/utils/canonicalizeStateKey.d.ts +48 -0
  30. package/dist/automated-config/dist/utils/canonicalizeStateKey.js +31 -0
  31. package/dist/automated-config/dist/utils/getConfigComponentVariant.d.cts +8 -0
  32. package/dist/automated-config/dist/utils/getConfigComponentVariant.d.ts +8 -0
  33. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +3 -3
  34. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +3 -3
  35. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.cjs +12 -5
  36. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.d.cts +8 -1
  37. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.d.ts +8 -1
  38. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.js +12 -5
  39. package/dist/automated-config/dist/utils/index.cjs +407 -97
  40. package/dist/automated-config/dist/utils/index.d.cts +66 -16
  41. package/dist/automated-config/dist/utils/index.d.ts +66 -16
  42. package/dist/automated-config/dist/utils/index.js +408 -99
  43. package/dist/automated-config/dist/utils/pseudoStateSelectors.cjs +122 -0
  44. package/dist/automated-config/dist/utils/pseudoStateSelectors.d.cts +80 -0
  45. package/dist/automated-config/dist/utils/pseudoStateSelectors.d.ts +80 -0
  46. package/dist/automated-config/dist/utils/pseudoStateSelectors.js +120 -0
  47. package/dist/automated-config/dist/utils/resolvePropertyStates.cjs +131 -0
  48. package/dist/automated-config/dist/utils/resolvePropertyStates.d.cts +49 -0
  49. package/dist/automated-config/dist/utils/resolvePropertyStates.d.ts +49 -0
  50. package/dist/automated-config/dist/utils/resolvePropertyStates.js +130 -0
  51. package/dist/automated-config/dist/utils/resolveSlotByCascade.cjs +118 -0
  52. package/dist/automated-config/dist/utils/resolveSlotByCascade.d.cts +68 -0
  53. package/dist/automated-config/dist/utils/resolveSlotByCascade.d.ts +68 -0
  54. package/dist/automated-config/dist/utils/resolveSlotByCascade.js +117 -0
  55. package/dist/automated-config/dist/utils/variantConfigGuards.d.cts +13 -0
  56. package/dist/automated-config/dist/utils/variantConfigGuards.d.ts +13 -0
  57. package/dist/components/client/Input/Input.cjs +42 -6
  58. package/dist/components/client/Input/Input.d.cts +13 -0
  59. package/dist/components/client/Input/Input.d.ts +13 -0
  60. package/dist/components/client/Input/Input.js +42 -6
  61. package/dist/config/dist/index.cjs +221 -550
  62. package/dist/config/dist/index.js +221 -550
  63. package/dist/css/dist/commands/css.cjs +1 -0
  64. package/dist/css/dist/commands/css.helpers.cjs +6 -0
  65. package/dist/css/dist/commands/css.helpers.js +6 -0
  66. package/dist/css/dist/commands/css.js +1 -0
  67. package/dist/css/dist/css/generate.cjs +4 -2
  68. package/dist/css/dist/css/generate.d.cts +28 -0
  69. package/dist/css/dist/css/generate.d.ts +28 -0
  70. package/dist/css/dist/css/generate.helpers.cjs +5 -1
  71. package/dist/css/dist/css/generate.helpers.js +6 -2
  72. package/dist/css/dist/css/generate.js +4 -2
  73. package/dist/css/dist/css/postcss.cjs +81 -0
  74. package/dist/css/dist/css/postcss.helpers.cjs +60 -0
  75. package/dist/css/dist/css/postcss.helpers.js +59 -1
  76. package/dist/css/dist/css/postcss.js +82 -2
  77. package/dist/css/dist/css/runner.cjs +12 -2
  78. package/dist/css/dist/css/runner.js +12 -2
  79. package/dist/css/dist/css/theme.d.cts +6 -0
  80. package/dist/css/dist/css/theme.d.ts +6 -0
  81. package/dist/css/dist/packages/automated-config/dist/properties.cjs +1 -1
  82. package/dist/css/dist/packages/automated-config/dist/properties.js +1 -1
  83. package/dist/css/dist/packages/automated-config/dist/utils/index.d.cts +6 -0
  84. package/dist/css/dist/packages/automated-config/dist/utils/index.d.ts +6 -0
  85. package/dist/css/dist/packages/config/dist/index.cjs +221 -550
  86. package/dist/css/dist/packages/config/dist/index.js +221 -550
  87. package/dist/css/dist/utils/optimizeCSS.cjs +59 -0
  88. package/dist/css/dist/utils/optimizeCSS.js +59 -0
  89. package/dist/index.cjs +25 -0
  90. package/dist/index.d.cts +10 -3
  91. package/dist/index.d.ts +10 -3
  92. package/dist/index.js +9 -2
  93. package/dist/styles/styler.d.cts +12 -11
  94. package/dist/styles/styler.d.ts +12 -11
  95. package/dist/styles/variants.d.cts +9 -4
  96. package/dist/styles/variants.d.ts +9 -4
  97. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.cjs +3011 -3038
  98. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.js +3011 -3038
  99. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.cjs +1 -1
  100. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.js +1 -1
  101. package/dist/tailwind-internal/dist/packages/automated-config/dist/types/StateAxis.cjs +81 -0
  102. package/dist/tailwind-internal/dist/packages/automated-config/dist/types/StateAxis.js +76 -0
  103. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/canonicalizeStateKey.cjs +33 -0
  104. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/canonicalizeStateKey.js +32 -0
  105. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/componentStatePseudoStates.cjs +0 -7
  106. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/componentStatePseudoStates.js +1 -7
  107. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.cjs +354 -97
  108. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.d.cts +6 -0
  109. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.d.ts +6 -0
  110. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.js +355 -98
  111. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/pseudoStateSelectors.cjs +122 -0
  112. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/pseudoStateSelectors.js +121 -0
  113. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/resolvePropertyStates.cjs +132 -0
  114. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/resolvePropertyStates.js +131 -0
  115. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/resolveSlotByCascade.cjs +95 -0
  116. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/resolveSlotByCascade.js +95 -0
  117. package/dist/tailwind-internal/dist/packages/config/dist/index.cjs +221 -550
  118. package/dist/tailwind-internal/dist/packages/config/dist/index.js +221 -550
  119. package/dist/tailwind-internal/dist/plugins/components.cjs +28 -24
  120. package/dist/tailwind-internal/dist/plugins/components.js +28 -24
  121. package/dist/tailwind-internal/dist/utils/composeTailwindPlugins.d.cts +3 -0
  122. package/dist/tailwind-internal/dist/utils/composeTailwindPlugins.d.ts +3 -0
  123. package/dist/tailwind-internal/dist/utils/getShadowStyles.d.cts +2 -2
  124. package/dist/tailwind-internal/dist/utils/getShadowStyles.d.ts +2 -2
  125. package/dist/tokens/automation/index.cjs +25 -0
  126. package/dist/tokens/automation/index.d.cts +9 -2
  127. package/dist/tokens/automation/index.d.ts +9 -2
  128. package/dist/tokens/automation/index.js +9 -2
  129. package/dist/tokens/index.cjs +25 -0
  130. package/dist/tokens/index.d.cts +10 -3
  131. package/dist/tokens/index.d.ts +10 -3
  132. package/dist/tokens/index.js +9 -2
  133. package/dist/tokens/types.d.cts +1 -1
  134. package/dist/tokens/types.d.ts +1 -1
  135. package/dist/uds/generated/componentData.cjs +2202 -2200
  136. package/dist/uds/generated/componentData.js +2202 -2200
  137. package/dist/uds/generated/migrationSchemaVersion.cjs +1 -1
  138. package/dist/uds/generated/migrationSchemaVersion.js +1 -1
  139. package/dist/uds/generated/tailwindPurge.cjs +79 -78
  140. package/dist/uds/generated/tailwindPurge.js +79 -78
  141. package/generated/componentData.json +2720 -2718
  142. package/generated/migrationSchemaVersion.ts +1 -1
  143. package/generated/tailwindPurge.ts +2 -2
  144. package/package.json +1 -1
@@ -0,0 +1,95 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ import { comparePriority, isAtomicState, isModifierAtomic } from "../types/StateAxis.js";
3
+ import { atomicAndCompoundStateKeys } from "./resolvePropertyStates.js";
4
+ //#region ../tailwind-internal/dist/packages/automated-config/dist/utils/resolveSlotByCascade.js
5
+ /*! © 2026 Yahoo, Inc. UDS Tailwind Internal v0.0.0-development */
6
+ /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
7
+ /**
8
+ * Mirrors `resolvePropertyStates`'s emission order using only the atoms that
9
+ * appear in the property's actual state map, so consumers that need a cascade
10
+ * tie-break can compare these indices (later = stronger). The atom + compound
11
+ * ordering comes from the shared `atomicAndCompoundStateKeys` generator, which
12
+ * keeps this rank identical to the CSS the generator emits.
13
+ */
14
+ function computeCascadeOrder(propertyStates) {
15
+ const presentAtoms = /* @__PURE__ */ new Set();
16
+ for (const stateName of Object.keys(propertyStates)) {
17
+ if (stateName === "rest" || propertyStates[stateName] == null) continue;
18
+ for (const atom of stateName.split("&")) presentAtoms.add(atom);
19
+ }
20
+ const atomics = [...presentAtoms].filter(isAtomicState).sort(comparePriority);
21
+ const order = ["rest"];
22
+ for (const stateKey of atomicAndCompoundStateKeys(atomics)) order.push(stateKey);
23
+ return order;
24
+ }
25
+ /**
26
+ * Resolves a state slot following CSS-cascade semantics: a `rest` slot or a
27
+ * non-rest slot with `isEnabled === true` resolves to itself; an unflagged
28
+ * non-rest slot resolves to the most-specific enabled state whose atoms are a
29
+ * subset of the requested state's atoms. A present-but-disabled single MODIFIER
30
+ * atom is the exception: it participates at the `rest` value (never its own
31
+ * stored value), so a dropped higher-priority modifier (e.g. `invalid`, left
32
+ * flag-less because it equals `rest`) suppresses a lower-priority enabled atom
33
+ * inside a compound rather than letting it brighten through — an invalid field
34
+ * shouldn't get the hover color when `invalid` resets to `rest`. A disabled
35
+ * INTERACTIVE atom does NOT participate: it contributes no rule of its own, so
36
+ * an enabled lower-priority interactive survives (e.g. `focus-within` styling
37
+ * persists while `hover`/`pressed`, left at `rest`, is active). Disabled
38
+ * COMPOUNDS and absent atoms do not participate either.
39
+ *
40
+ * Same-size candidates are tie-broken by the cascade emission order from
41
+ * `resolvePropertyStates` — i.e. the rule that the browser would have applied
42
+ * last under equal specificity. The single rule is: later in emission order =
43
+ * stronger. At the 1-atom level that makes the higher-`STATE_PRIORITY` atom
44
+ * win, so modifiers (`invalid`, `readonly`) beat interactives (`hover`,
45
+ * `pressed`) because they sit later in `STATE_PRIORITY`. At the 2-atom level a
46
+ * pure-modifier compound from subset `[m1, m2]` beats any modifier+interactive
47
+ * compound built from an *earlier* single-modifier subset (e.g.
48
+ * `invalid&readonly` beats `invalid&hover`), since `modifierSubsets` emits the
49
+ * size-2 subset after the size-1 subsets that precede it; compounds from a
50
+ * *later* single-modifier subset (e.g. `readonly&hover`) still emit afterward
51
+ * and win. Falls back to `rest` when no enabled subset exists.
52
+ *
53
+ * Two consumers rely on this:
54
+ * - `generateDeclaration` (exhaustive emission for `atomicStates` layers) resolves
55
+ * the value for every declared state — including the many compounds the
56
+ * sparse stored config never persists — so each emitted rule carries the
57
+ * value the cascade would have produced, with no gap a nested foreign theme
58
+ * could fill.
59
+ * - The Figma plugin emits a single library variable value per (component,
60
+ * layer, property, state) matching that same CSS, so disabled slots don't
61
+ * show up as orphaned customizations in the Figma library.
62
+ */
63
+ function resolveSlotByCascade(stateName, propertyStates) {
64
+ const direct = propertyStates[stateName];
65
+ if (stateName === "rest") return direct;
66
+ if (direct?.isEnabled === true) return direct;
67
+ const cascadeOrder = computeCascadeOrder(propertyStates);
68
+ const rankOf = /* @__PURE__ */ new Map();
69
+ cascadeOrder.forEach((s, i) => rankOf.set(s, i));
70
+ const targetAtoms = new Set(stateName.split("&"));
71
+ let best = null;
72
+ const restSlot = propertyStates.rest;
73
+ for (const [candidateKey, slot] of Object.entries(propertyStates)) {
74
+ if (!slot) continue;
75
+ if (candidateKey === stateName) continue;
76
+ const atoms = candidateKey === "rest" ? [] : candidateKey.split("&");
77
+ if (!atoms.every((a) => targetAtoms.has(a))) continue;
78
+ const enabled = candidateKey === "rest" || slot.isEnabled === true;
79
+ let effectiveSlot;
80
+ if (enabled) effectiveSlot = slot;
81
+ else if (atoms.length === 1 && isModifierAtomic(atoms[0])) effectiveSlot = restSlot;
82
+ else continue;
83
+ if (!effectiveSlot) continue;
84
+ const rank = rankOf.get(candidateKey) ?? -1;
85
+ const size = atoms.length;
86
+ if (!best || size > best.size || size === best.size && rank > best.rank) best = {
87
+ rank,
88
+ size,
89
+ slot: effectiveSlot
90
+ };
91
+ }
92
+ return best?.slot ?? propertyStates.rest;
93
+ }
94
+ //#endregion
95
+ export { resolveSlotByCascade };