@yahoo/uds 3.157.0 → 3.158.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 (220) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +26 -0
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +17 -0
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +17 -0
  4. package/dist/automated-config/dist/generated/autoVariants.js +26 -0
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +3287 -596
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +350 -12
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +350 -12
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +3285 -597
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +276 -45
  10. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +8 -2
  11. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +8 -2
  12. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +276 -45
  13. package/dist/automated-config/dist/properties.cjs +8 -1
  14. package/dist/automated-config/dist/properties.d.cts +8 -0
  15. package/dist/automated-config/dist/properties.d.ts +8 -0
  16. package/dist/automated-config/dist/properties.js +8 -1
  17. package/dist/automated-config/dist/types/ComponentConfig.d.cts +3 -1
  18. package/dist/automated-config/dist/types/ComponentConfig.d.ts +3 -1
  19. package/dist/automated-config/dist/utils/buildConfigSchema.cjs +48 -33
  20. package/dist/automated-config/dist/utils/buildConfigSchema.d.cts +14 -4
  21. package/dist/automated-config/dist/utils/buildConfigSchema.d.ts +14 -4
  22. package/dist/automated-config/dist/utils/buildConfigSchema.js +49 -34
  23. package/dist/automated-config/dist/utils/componentStatePseudoStates.cjs +4 -0
  24. package/dist/automated-config/dist/utils/componentStatePseudoStates.js +4 -1
  25. package/dist/automated-config/dist/utils/getButtonControlHeight.cjs +129 -0
  26. package/dist/automated-config/dist/utils/getButtonControlHeight.d.cts +133 -0
  27. package/dist/automated-config/dist/utils/getButtonControlHeight.d.ts +133 -0
  28. package/dist/automated-config/dist/utils/getButtonControlHeight.js +122 -0
  29. package/dist/automated-config/dist/utils/getButtonControlHeightPx.cjs +114 -0
  30. package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.cts +78 -0
  31. package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.ts +78 -0
  32. package/dist/automated-config/dist/utils/getButtonControlHeightPx.js +108 -0
  33. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  34. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  35. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.cjs +5 -2
  36. package/dist/automated-config/dist/utils/getConfigVariantPseudoStates.js +6 -3
  37. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +110 -0
  38. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.cts +19 -0
  39. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.ts +19 -0
  40. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.js +108 -0
  41. package/dist/automated-config/dist/utils/index.cjs +106 -33
  42. package/dist/automated-config/dist/utils/index.d.cts +16 -4
  43. package/dist/automated-config/dist/utils/index.d.ts +16 -4
  44. package/dist/automated-config/dist/utils/index.js +107 -34
  45. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.cjs +15 -0
  46. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.cts +20 -0
  47. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.ts +20 -0
  48. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.js +15 -0
  49. package/dist/automated-config/dist/utils/pseudoStateSelectors.cjs +6 -3
  50. package/dist/automated-config/dist/utils/pseudoStateSelectors.d.cts +1 -1
  51. package/dist/automated-config/dist/utils/pseudoStateSelectors.d.ts +1 -1
  52. package/dist/automated-config/dist/utils/pseudoStateSelectors.js +6 -3
  53. package/dist/components/client/Button.cjs +3 -3
  54. package/dist/components/client/Button.js +3 -3
  55. package/dist/components/client/Input/Input.cjs +1 -1
  56. package/dist/components/client/Input/Input.js +1 -1
  57. package/dist/components/client/Menu/Menu.Item.cjs +1 -0
  58. package/dist/components/client/Menu/Menu.Item.js +1 -0
  59. package/dist/components/client/Select/Select.cjs +179 -0
  60. package/dist/components/client/Select/Select.d.cts +55 -0
  61. package/dist/components/client/Select/Select.d.ts +56 -0
  62. package/dist/components/client/Select/Select.js +176 -0
  63. package/dist/components/client/Select/SelectContent.cjs +75 -0
  64. package/dist/components/client/Select/SelectContent.d.cts +44 -0
  65. package/dist/components/client/Select/SelectContent.d.ts +45 -0
  66. package/dist/components/client/Select/SelectContent.js +73 -0
  67. package/dist/components/client/Select/SelectDivider.cjs +63 -0
  68. package/dist/components/client/Select/SelectDivider.d.cts +44 -0
  69. package/dist/components/client/Select/SelectDivider.d.ts +45 -0
  70. package/dist/components/client/Select/SelectDivider.js +61 -0
  71. package/dist/components/client/Select/SelectHelpText.cjs +51 -0
  72. package/dist/components/client/Select/SelectHelpText.d.cts +27 -0
  73. package/dist/components/client/Select/SelectHelpText.d.ts +28 -0
  74. package/dist/components/client/Select/SelectHelpText.js +48 -0
  75. package/dist/components/client/Select/SelectItem.cjs +172 -0
  76. package/dist/components/client/Select/SelectItem.d.cts +29 -0
  77. package/dist/components/client/Select/SelectItem.d.ts +30 -0
  78. package/dist/components/client/Select/SelectItem.js +170 -0
  79. package/dist/components/client/Select/SelectTrigger.cjs +138 -0
  80. package/dist/components/client/Select/SelectTrigger.d.cts +27 -0
  81. package/dist/components/client/Select/SelectTrigger.d.ts +28 -0
  82. package/dist/components/client/Select/SelectTrigger.js +136 -0
  83. package/dist/components/client/Select/SelectValue.cjs +28 -0
  84. package/dist/components/client/Select/SelectValue.d.cts +19 -0
  85. package/dist/components/client/Select/SelectValue.d.ts +20 -0
  86. package/dist/components/client/Select/SelectValue.js +26 -0
  87. package/dist/components/client/Select/index.cjs +11 -0
  88. package/dist/components/client/Select/index.d.cts +6 -0
  89. package/dist/components/client/Select/index.d.ts +7 -0
  90. package/dist/components/client/Select/index.js +7 -0
  91. package/dist/components/client/Select/selectContext.cjs +20 -0
  92. package/dist/components/client/Select/selectContext.d.cts +23 -0
  93. package/dist/components/client/Select/selectContext.d.ts +24 -0
  94. package/dist/components/client/Select/selectContext.js +16 -0
  95. package/dist/components/client/Select/selectFieldStyles.cjs +85 -0
  96. package/dist/components/client/Select/selectFieldStyles.d.cts +37 -0
  97. package/dist/components/client/Select/selectFieldStyles.d.ts +38 -0
  98. package/dist/components/client/Select/selectFieldStyles.js +75 -0
  99. package/dist/components/client/index.cjs +8 -0
  100. package/dist/components/client/index.d.cts +5 -1
  101. package/dist/components/client/index.d.ts +5 -1
  102. package/dist/components/client/index.js +5 -1
  103. package/dist/components/index.cjs +8 -0
  104. package/dist/components/index.d.cts +5 -1
  105. package/dist/components/index.d.ts +5 -1
  106. package/dist/components/index.js +5 -1
  107. package/dist/config/dist/index.cjs +383 -73
  108. package/dist/config/dist/index.js +383 -73
  109. package/dist/css/dist/css/utils.cjs +3 -0
  110. package/dist/css/dist/css/utils.js +3 -0
  111. package/dist/css/dist/packages/automated-config/dist/properties.cjs +8 -1
  112. package/dist/css/dist/packages/automated-config/dist/properties.js +8 -1
  113. package/dist/css/dist/packages/config/dist/index.cjs +383 -73
  114. package/dist/css/dist/packages/config/dist/index.js +383 -73
  115. package/dist/css-tokens/dist/index.cjs +2 -0
  116. package/dist/css-tokens/dist/index.d.cts +2 -1
  117. package/dist/css-tokens/dist/index.d.ts +2 -1
  118. package/dist/css-tokens/dist/index.js +2 -1
  119. package/dist/index.cjs +34 -0
  120. package/dist/index.d.cts +12 -4
  121. package/dist/index.d.ts +12 -4
  122. package/dist/index.js +11 -3
  123. package/dist/styles/styler.d.cts +29 -12
  124. package/dist/styles/styler.d.ts +29 -12
  125. package/dist/styles/variants.d.cts +54 -0
  126. package/dist/styles/variants.d.ts +54 -0
  127. package/dist/tailwind/utils/index.cjs +3 -0
  128. package/dist/tailwind/utils/index.d.cts +2 -1
  129. package/dist/tailwind/utils/index.d.ts +2 -1
  130. package/dist/tailwind/utils/index.js +2 -1
  131. package/dist/tailwind-internal/dist/base/addColorModeVars.cjs +1 -1
  132. package/dist/tailwind-internal/dist/base/addColorModeVars.js +1 -1
  133. package/dist/tailwind-internal/dist/base/addColorModeVarsV2.cjs +1 -1
  134. package/dist/tailwind-internal/dist/base/addColorModeVarsV2.js +1 -1
  135. package/dist/tailwind-internal/dist/components/getFocusRingStyles.cjs +74 -6
  136. package/dist/tailwind-internal/dist/components/getFocusRingStyles.d.cts +14 -0
  137. package/dist/tailwind-internal/dist/components/getFocusRingStyles.d.ts +14 -0
  138. package/dist/tailwind-internal/dist/components/getFocusRingStyles.js +74 -7
  139. package/dist/tailwind-internal/dist/components/getResponsiveTextStyles.cjs +1 -1
  140. package/dist/tailwind-internal/dist/components/getResponsiveTextStyles.js +1 -1
  141. package/dist/tailwind-internal/dist/index.d.cts +1 -0
  142. package/dist/tailwind-internal/dist/index.d.ts +1 -0
  143. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.cjs +3287 -596
  144. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.js +3285 -597
  145. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.cjs +8 -1
  146. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.js +8 -1
  147. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/componentStatePseudoStates.cjs +4 -0
  148. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/componentStatePseudoStates.js +4 -1
  149. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.cjs +126 -0
  150. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.js +123 -0
  151. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +20 -0
  152. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.js +20 -0
  153. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.cjs +103 -33
  154. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.js +104 -34
  155. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/pseudoStateSelectors.cjs +6 -3
  156. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/pseudoStateSelectors.js +6 -3
  157. package/dist/tailwind-internal/dist/packages/config/dist/index.cjs +383 -73
  158. package/dist/tailwind-internal/dist/packages/config/dist/index.js +383 -73
  159. package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.cjs +12 -10
  160. package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.js +3 -2
  161. package/dist/tailwind-internal/dist/plugins/a11y.cjs +6 -2
  162. package/dist/tailwind-internal/dist/plugins/a11y.js +6 -2
  163. package/dist/tailwind-internal/dist/plugins/blurBgFallback.cjs +1 -1
  164. package/dist/tailwind-internal/dist/plugins/blurBgFallback.js +1 -1
  165. package/dist/tailwind-internal/dist/plugins/borderRadius.cjs +1 -1
  166. package/dist/tailwind-internal/dist/plugins/borderRadius.js +1 -1
  167. package/dist/tailwind-internal/dist/plugins/borderWidth.cjs +1 -1
  168. package/dist/tailwind-internal/dist/plugins/borderWidth.js +1 -1
  169. package/dist/tailwind-internal/dist/plugins/colors.cjs +2 -2
  170. package/dist/tailwind-internal/dist/plugins/colors.js +2 -2
  171. package/dist/tailwind-internal/dist/plugins/components.cjs +5 -2
  172. package/dist/tailwind-internal/dist/plugins/components.js +6 -3
  173. package/dist/tailwind-internal/dist/plugins/elevation.cjs +1 -1
  174. package/dist/tailwind-internal/dist/plugins/elevation.js +1 -1
  175. package/dist/tailwind-internal/dist/plugins/shadows.cjs +1 -1
  176. package/dist/tailwind-internal/dist/plugins/shadows.js +1 -1
  177. package/dist/tailwind-internal/dist/plugins/typography.cjs +2 -2
  178. package/dist/tailwind-internal/dist/plugins/typography.js +2 -2
  179. package/dist/tailwind-internal/dist/utils/getElevationStyles.cjs +1 -1
  180. package/dist/tailwind-internal/dist/utils/getElevationStyles.js +1 -1
  181. package/dist/tailwind-internal/dist/utils/getFontStyles.cjs +1 -1
  182. package/dist/tailwind-internal/dist/utils/getFontStyles.js +1 -1
  183. package/dist/tailwind-internal/dist/utils/getMotionStyles.cjs +1 -1
  184. package/dist/tailwind-internal/dist/utils/getMotionStyles.js +1 -1
  185. package/dist/tailwind-internal/dist/utils/getShadowPresetValues.cjs +1 -1
  186. package/dist/tailwind-internal/dist/utils/getShadowPresetValues.js +1 -1
  187. package/dist/tailwind-internal/dist/utils/getShadowStyles.cjs +1 -1
  188. package/dist/tailwind-internal/dist/utils/getShadowStyles.js +1 -1
  189. package/dist/tailwind-internal/dist/utils/parseTokens.cjs +2 -2
  190. package/dist/tailwind-internal/dist/utils/parseTokens.js +2 -2
  191. package/dist/tokens/automation/configs/index.cjs +3 -0
  192. package/dist/tokens/automation/configs/index.d.cts +2 -2
  193. package/dist/tokens/automation/configs/index.d.ts +2 -2
  194. package/dist/tokens/automation/configs/index.js +2 -2
  195. package/dist/tokens/automation/index.cjs +25 -0
  196. package/dist/tokens/automation/index.d.cts +6 -2
  197. package/dist/tokens/automation/index.d.ts +6 -2
  198. package/dist/tokens/automation/index.js +6 -2
  199. package/dist/tokens/consts/cssTokens.cjs +1 -0
  200. package/dist/tokens/consts/cssTokens.d.cts +2 -2
  201. package/dist/tokens/consts/cssTokens.d.ts +2 -2
  202. package/dist/tokens/consts/cssTokens.js +2 -2
  203. package/dist/tokens/index.cjs +26 -0
  204. package/dist/tokens/index.d.cts +8 -4
  205. package/dist/tokens/index.d.ts +8 -4
  206. package/dist/tokens/index.js +7 -3
  207. package/dist/tokens/types.d.cts +2 -2
  208. package/dist/tokens/types.d.ts +2 -2
  209. package/dist/types/dist/index.d.cts +36 -1
  210. package/dist/types/dist/index.d.ts +36 -1
  211. package/dist/uds/generated/componentData.cjs +718 -308
  212. package/dist/uds/generated/componentData.js +718 -308
  213. package/dist/uds/generated/migrationSchemaVersion.cjs +1 -1
  214. package/dist/uds/generated/migrationSchemaVersion.js +1 -1
  215. package/dist/uds/generated/tailwindPurge.cjs +1501 -315
  216. package/dist/uds/generated/tailwindPurge.js +1501 -315
  217. package/generated/componentData.json +897 -398
  218. package/generated/migrationSchemaVersion.ts +1 -1
  219. package/generated/tailwindPurge.ts +4 -4
  220. package/package.json +1 -1
@@ -0,0 +1,110 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ const require_getButtonControlHeight = require("./getButtonControlHeight.cjs");
3
+ const require_getButtonControlHeightPx = require("./getButtonControlHeightPx.cjs");
4
+ //#region ../automated-config/dist/utils/iconButtonMatchButtonHeight.js
5
+ /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
6
+ function asMatchButtonHeightConfig(config) {
7
+ return config;
8
+ }
9
+ function getMatchButtonHeightMap(config) {
10
+ return config.iconButton?.matchButtonHeight ?? config.matchButtonHeight;
11
+ }
12
+ function getIconButtonVariables(config) {
13
+ return config.iconButton?.variables ?? config.variables;
14
+ }
15
+ function isMatchButtonHeightSize(size) {
16
+ return require_getButtonControlHeight.SHARED_BUTTON_ICONBUTTON_SIZES.has(size);
17
+ }
18
+ function isIconButtonMatchButtonHeightEnabled(config, size) {
19
+ if (!isMatchButtonHeightSize(size)) return false;
20
+ return getMatchButtonHeightMap(asMatchButtonHeightConfig(config))?.[size] === true;
21
+ }
22
+ function getIconButtonSpacingRestValue(config, size) {
23
+ const rootKey = `size/${size}/root`;
24
+ const value = (getIconButtonVariables(config)?.[rootKey]?.spacing)?.rest?.value;
25
+ return typeof value === "string" ? value : void 0;
26
+ }
27
+ function setIconButtonSpacingRestValue(config, size, spacing) {
28
+ const matchConfig = asMatchButtonHeightConfig(config);
29
+ const rootKey = `size/${size}/root`;
30
+ const iconButton = matchConfig.iconButton ?? { variables: {} };
31
+ const existingRoot = iconButton.variables?.[rootKey] ?? {};
32
+ return {
33
+ ...config,
34
+ iconButton: {
35
+ ...iconButton,
36
+ variables: {
37
+ ...iconButton.variables,
38
+ [rootKey]: {
39
+ ...existingRoot,
40
+ spacing: { rest: {
41
+ type: "spacingAliases",
42
+ value: spacing,
43
+ valueType: "alias"
44
+ } }
45
+ }
46
+ }
47
+ }
48
+ };
49
+ }
50
+ function removeIconButtonControlHeight(config, size) {
51
+ const matchConfig = asMatchButtonHeightConfig(config);
52
+ const rootKey = `size/${size}/root`;
53
+ const iconButton = matchConfig.iconButton;
54
+ const rootLayer = iconButton?.variables?.[rootKey];
55
+ if (!rootLayer?.controlHeight) return config;
56
+ const { controlHeight: _, ...restRoot } = rootLayer;
57
+ return {
58
+ ...config,
59
+ iconButton: {
60
+ ...iconButton,
61
+ variables: {
62
+ ...iconButton?.variables,
63
+ [rootKey]: restRoot
64
+ }
65
+ }
66
+ };
67
+ }
68
+ function enableIconButtonMatchButtonHeight(config, size) {
69
+ const matchConfig = asMatchButtonHeightConfig(config);
70
+ const currentSpacing = getIconButtonSpacingRestValue(matchConfig, size);
71
+ const iconButton = {
72
+ ...matchConfig.iconButton,
73
+ matchButtonHeight: {
74
+ ...matchConfig.iconButton?.matchButtonHeight,
75
+ [size]: true
76
+ }
77
+ };
78
+ if (currentSpacing !== void 0) iconButton.spacingBeforeMatchButtonHeight = {
79
+ ...matchConfig.iconButton?.spacingBeforeMatchButtonHeight,
80
+ [size]: currentSpacing
81
+ };
82
+ let nextConfig = {
83
+ ...config,
84
+ iconButton
85
+ };
86
+ nextConfig = require_getButtonControlHeightPx.syncButtonControlHeightVarForSize(nextConfig, size);
87
+ return nextConfig;
88
+ }
89
+ function disableIconButtonMatchButtonHeight(config, size) {
90
+ const spacingSnapshot = asMatchButtonHeightConfig(config).iconButton?.spacingBeforeMatchButtonHeight?.[size];
91
+ let nextConfig = removeIconButtonControlHeight(config, size);
92
+ if (spacingSnapshot !== void 0) nextConfig = setIconButtonSpacingRestValue(nextConfig, size, spacingSnapshot);
93
+ nextConfig = require_getButtonControlHeightPx.syncIconButtonOnlyControlHeightVarForSize(nextConfig, size);
94
+ const nextMatchConfig = asMatchButtonHeightConfig(nextConfig);
95
+ const { [size]: _removedFlag, ...remainingMatchButtonHeight } = nextMatchConfig.iconButton?.matchButtonHeight ?? {};
96
+ const { [size]: _removedSnapshot, ...remainingSpacingSnapshot } = nextMatchConfig.iconButton?.spacingBeforeMatchButtonHeight ?? {};
97
+ const iconButton = { ...nextMatchConfig.iconButton };
98
+ if (Object.keys(remainingMatchButtonHeight).length > 0) iconButton.matchButtonHeight = remainingMatchButtonHeight;
99
+ else delete iconButton.matchButtonHeight;
100
+ if (Object.keys(remainingSpacingSnapshot).length > 0) iconButton.spacingBeforeMatchButtonHeight = remainingSpacingSnapshot;
101
+ else delete iconButton.spacingBeforeMatchButtonHeight;
102
+ return {
103
+ ...nextConfig,
104
+ iconButton
105
+ };
106
+ }
107
+ //#endregion
108
+ exports.disableIconButtonMatchButtonHeight = disableIconButtonMatchButtonHeight;
109
+ exports.enableIconButtonMatchButtonHeight = enableIconButtonMatchButtonHeight;
110
+ exports.isIconButtonMatchButtonHeightEnabled = isIconButtonMatchButtonHeightEnabled;
@@ -0,0 +1,19 @@
1
+
2
+ import { ButtonSize } from "../../../types/dist/index.cjs";
3
+
4
+ //#region ../automated-config/dist/utils/iconButtonMatchButtonHeight.d.ts
5
+ //#region src/utils/iconButtonMatchButtonHeight.d.ts
6
+ type IconButtonMatchButtonHeightSize = ButtonSize;
7
+ type IconButtonMatchButtonHeightConfig = {
8
+ iconButton?: {
9
+ matchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, true>>;
10
+ spacingBeforeMatchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, string>>;
11
+ variables?: Record<string, Record<string, unknown>>;
12
+ };
13
+ matchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, true>>;
14
+ };
15
+ declare function isIconButtonMatchButtonHeightEnabled(config: object, size: string): boolean;
16
+ declare function enableIconButtonMatchButtonHeight<T extends object>(config: T, size: IconButtonMatchButtonHeightSize): T;
17
+ declare function disableIconButtonMatchButtonHeight<T extends object>(config: T, size: IconButtonMatchButtonHeightSize): T; //#endregion
18
+ //#endregion
19
+ export { IconButtonMatchButtonHeightConfig, IconButtonMatchButtonHeightSize, disableIconButtonMatchButtonHeight, enableIconButtonMatchButtonHeight, isIconButtonMatchButtonHeightEnabled };
@@ -0,0 +1,19 @@
1
+
2
+ import { ButtonSize } from "../../../types/dist/index.js";
3
+
4
+ //#region ../automated-config/dist/utils/iconButtonMatchButtonHeight.d.ts
5
+ //#region src/utils/iconButtonMatchButtonHeight.d.ts
6
+ type IconButtonMatchButtonHeightSize = ButtonSize;
7
+ type IconButtonMatchButtonHeightConfig = {
8
+ iconButton?: {
9
+ matchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, true>>;
10
+ spacingBeforeMatchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, string>>;
11
+ variables?: Record<string, Record<string, unknown>>;
12
+ };
13
+ matchButtonHeight?: Partial<Record<IconButtonMatchButtonHeightSize, true>>;
14
+ };
15
+ declare function isIconButtonMatchButtonHeightEnabled(config: object, size: string): boolean;
16
+ declare function enableIconButtonMatchButtonHeight<T extends object>(config: T, size: IconButtonMatchButtonHeightSize): T;
17
+ declare function disableIconButtonMatchButtonHeight<T extends object>(config: T, size: IconButtonMatchButtonHeightSize): T; //#endregion
18
+ //#endregion
19
+ export { IconButtonMatchButtonHeightConfig, IconButtonMatchButtonHeightSize, disableIconButtonMatchButtonHeight, enableIconButtonMatchButtonHeight, isIconButtonMatchButtonHeightEnabled };
@@ -0,0 +1,108 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ import { SHARED_BUTTON_ICONBUTTON_SIZES } from "./getButtonControlHeight.js";
3
+ import { syncButtonControlHeightVarForSize, syncIconButtonOnlyControlHeightVarForSize } from "./getButtonControlHeightPx.js";
4
+ //#region ../automated-config/dist/utils/iconButtonMatchButtonHeight.js
5
+ /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
6
+ function asMatchButtonHeightConfig(config) {
7
+ return config;
8
+ }
9
+ function getMatchButtonHeightMap(config) {
10
+ return config.iconButton?.matchButtonHeight ?? config.matchButtonHeight;
11
+ }
12
+ function getIconButtonVariables(config) {
13
+ return config.iconButton?.variables ?? config.variables;
14
+ }
15
+ function isMatchButtonHeightSize(size) {
16
+ return SHARED_BUTTON_ICONBUTTON_SIZES.has(size);
17
+ }
18
+ function isIconButtonMatchButtonHeightEnabled(config, size) {
19
+ if (!isMatchButtonHeightSize(size)) return false;
20
+ return getMatchButtonHeightMap(asMatchButtonHeightConfig(config))?.[size] === true;
21
+ }
22
+ function getIconButtonSpacingRestValue(config, size) {
23
+ const rootKey = `size/${size}/root`;
24
+ const value = (getIconButtonVariables(config)?.[rootKey]?.spacing)?.rest?.value;
25
+ return typeof value === "string" ? value : void 0;
26
+ }
27
+ function setIconButtonSpacingRestValue(config, size, spacing) {
28
+ const matchConfig = asMatchButtonHeightConfig(config);
29
+ const rootKey = `size/${size}/root`;
30
+ const iconButton = matchConfig.iconButton ?? { variables: {} };
31
+ const existingRoot = iconButton.variables?.[rootKey] ?? {};
32
+ return {
33
+ ...config,
34
+ iconButton: {
35
+ ...iconButton,
36
+ variables: {
37
+ ...iconButton.variables,
38
+ [rootKey]: {
39
+ ...existingRoot,
40
+ spacing: { rest: {
41
+ type: "spacingAliases",
42
+ value: spacing,
43
+ valueType: "alias"
44
+ } }
45
+ }
46
+ }
47
+ }
48
+ };
49
+ }
50
+ function removeIconButtonControlHeight(config, size) {
51
+ const matchConfig = asMatchButtonHeightConfig(config);
52
+ const rootKey = `size/${size}/root`;
53
+ const iconButton = matchConfig.iconButton;
54
+ const rootLayer = iconButton?.variables?.[rootKey];
55
+ if (!rootLayer?.controlHeight) return config;
56
+ const { controlHeight: _, ...restRoot } = rootLayer;
57
+ return {
58
+ ...config,
59
+ iconButton: {
60
+ ...iconButton,
61
+ variables: {
62
+ ...iconButton?.variables,
63
+ [rootKey]: restRoot
64
+ }
65
+ }
66
+ };
67
+ }
68
+ function enableIconButtonMatchButtonHeight(config, size) {
69
+ const matchConfig = asMatchButtonHeightConfig(config);
70
+ const currentSpacing = getIconButtonSpacingRestValue(matchConfig, size);
71
+ const iconButton = {
72
+ ...matchConfig.iconButton,
73
+ matchButtonHeight: {
74
+ ...matchConfig.iconButton?.matchButtonHeight,
75
+ [size]: true
76
+ }
77
+ };
78
+ if (currentSpacing !== void 0) iconButton.spacingBeforeMatchButtonHeight = {
79
+ ...matchConfig.iconButton?.spacingBeforeMatchButtonHeight,
80
+ [size]: currentSpacing
81
+ };
82
+ let nextConfig = {
83
+ ...config,
84
+ iconButton
85
+ };
86
+ nextConfig = syncButtonControlHeightVarForSize(nextConfig, size);
87
+ return nextConfig;
88
+ }
89
+ function disableIconButtonMatchButtonHeight(config, size) {
90
+ const spacingSnapshot = asMatchButtonHeightConfig(config).iconButton?.spacingBeforeMatchButtonHeight?.[size];
91
+ let nextConfig = removeIconButtonControlHeight(config, size);
92
+ if (spacingSnapshot !== void 0) nextConfig = setIconButtonSpacingRestValue(nextConfig, size, spacingSnapshot);
93
+ nextConfig = syncIconButtonOnlyControlHeightVarForSize(nextConfig, size);
94
+ const nextMatchConfig = asMatchButtonHeightConfig(nextConfig);
95
+ const { [size]: _removedFlag, ...remainingMatchButtonHeight } = nextMatchConfig.iconButton?.matchButtonHeight ?? {};
96
+ const { [size]: _removedSnapshot, ...remainingSpacingSnapshot } = nextMatchConfig.iconButton?.spacingBeforeMatchButtonHeight ?? {};
97
+ const iconButton = { ...nextMatchConfig.iconButton };
98
+ if (Object.keys(remainingMatchButtonHeight).length > 0) iconButton.matchButtonHeight = remainingMatchButtonHeight;
99
+ else delete iconButton.matchButtonHeight;
100
+ if (Object.keys(remainingSpacingSnapshot).length > 0) iconButton.spacingBeforeMatchButtonHeight = remainingSpacingSnapshot;
101
+ else delete iconButton.spacingBeforeMatchButtonHeight;
102
+ return {
103
+ ...nextConfig,
104
+ iconButton
105
+ };
106
+ }
107
+ //#endregion
108
+ export { disableIconButtonMatchButtonHeight, enableIconButtonMatchButtonHeight, isIconButtonMatchButtonHeightEnabled };
@@ -11,6 +11,9 @@ const require_resolvePropertyStates = require("./resolvePropertyStates.cjs");
11
11
  const require_variantConfigGuards = require("./variantConfigGuards.cjs");
12
12
  const require_buildConfigSchema = require("./buildConfigSchema.cjs");
13
13
  const require_generateDefaultClassName = require("./generateDefaultClassName.cjs");
14
+ const require_getButtonControlHeight = require("./getButtonControlHeight.cjs");
15
+ require("./iconButtonMatchButtonHeight.cjs");
16
+ require("./getButtonControlHeightPx.cjs");
14
17
  const require_pseudoStateSelectors = require("./pseudoStateSelectors.cjs");
15
18
  const require_resolveSlotByCascade = require("./resolveSlotByCascade.cjs");
16
19
  require("./cartesianProduct.cjs");
@@ -24,6 +27,7 @@ require("./getConfigVariantProperties.cjs");
24
27
  require("./getConfigVariantPseudoStates.cjs");
25
28
  require("./getConfigVariants.cjs");
26
29
  require("./getPaginationControlWidthPx.cjs");
30
+ require("./isConfiguratorPropertyVisible.cjs");
27
31
  let lodash_es = require("lodash-es");
28
32
  //#region ../automated-config/dist/utils/index.js
29
33
  /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
@@ -86,7 +90,8 @@ const COMPONENTS_WITH_SHADOW_BORDERS = [
86
90
  const LEGACY_STATE_KEYS = [
87
91
  "disabled",
88
92
  "focused",
89
- "focused-keyboard"
93
+ "focused-keyboard",
94
+ "selected"
90
95
  ];
91
96
  /**
92
97
  * Enumerates every canonical state key the system supports: rest, every atom,
@@ -127,15 +132,9 @@ function buildStateRecord(transform) {
127
132
  }
128
133
  const statePseudoMapDocsMode = buildStateRecord(require_pseudoStateSelectors.getStateDocsClass);
129
134
  /**
130
- * Generates button line-height with icon size minimum.
131
- * Ensures button line-height is at least as tall as the icon to prevent clipping.
132
- * @returns Enhanced line-height CSS value with max(), or original value if icon size unavailable
135
+ * Layout line-height for button root: icon size only (not textVariant line-height).
136
+ * @see getButtonContentLineHeight
133
137
  */
134
- function getButtonLineHeightWithIconMinimum({ lineHeight, schema, iconLayerKey, state, theme }) {
135
- const iconSizeValue = schema.variables?.[iconLayerKey]?.size?.[state]?.value;
136
- if (iconSizeValue) return `max(${lineHeight}, ${theme(require_properties.configurableProperties.iconSize.twThemePath("iconSizes", iconSizeValue))})`;
137
- return lineHeight;
138
- }
139
138
  /**
140
139
  * Shared pagination control content size: max(icon size, text line-height).
141
140
  * Keeps page numbers and prev/next icons vertically centered when typography exceeds icon height.
@@ -256,6 +255,14 @@ function generateClassName({ componentName, subComponentName, variantKey, varian
256
255
  if (layerOptionalPseudoSelector) className = `${className}${layerOptionalPseudoSelector}`;
257
256
  return className.replaceAll(/\s+/g, "-");
258
257
  }
258
+ /**
259
+ * Select triggers carry `uds-ring-shadow` and draw focus via the focus-ring tokens.
260
+ * Input wrappers still use `focus-within` border styling, so exclude `.uds-ring` and
261
+ * `.uds-select-field-trigger` descendants from those rules.
262
+ */
263
+ function getLayerClassSelector(layer, className, componentName, propertyStateSelector) {
264
+ return componentName === "input" && (layer === "inputWrapperDynamic" || layer === "inputWrapper") && propertyStateSelector.includes("focus-within") ? `.${className}:not(.uds-ring):not(.uds-select-field-trigger)` : `.${className}`;
265
+ }
259
266
  const getTheCssPropertyValue = (schema, theme, propertyName, schemaStateValue, existingValue, originalPropertyDefinition) => {
260
267
  const { value, type } = schemaStateValue;
261
268
  const propertyConfig = require_properties.configurableProperties[propertyName];
@@ -317,8 +324,16 @@ function selectiveEmittedStates(stateMap, orderedStateKeys, emittableStates) {
317
324
  }
318
325
  return emitted;
319
326
  }
320
- function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity }) {
327
+ function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity, buttonHeightReferenceSchema }) {
321
328
  const shouldUseExhaustive = (emit ?? "exhaustive") === "exhaustive" && layerUsesAtomicStates;
329
+ const { cssProperties: configuredCssProperties, extendedProperties: configuredExtendedGetter } = require_properties.configurableProperties[originalPropertyDefinition.name];
330
+ const configuredExtendedProperties = (0, lodash_es.isFunction)(configuredExtendedGetter) ? configuredExtendedGetter({
331
+ componentName,
332
+ subComponentName,
333
+ layer,
334
+ propertyKey
335
+ }) : configuredExtendedGetter;
336
+ if (!(typeof configuredCssProperties === "string" && configuredCssProperties.length > 0 || Array.isArray(configuredCssProperties) && configuredCssProperties.length > 0 || Array.isArray(configuredExtendedProperties) && configuredExtendedProperties.length > 0)) return {};
322
337
  const schemaKey = require_generateSchemaKey.generateSchemaKey({
323
338
  variantKey,
324
339
  variantValue,
@@ -347,7 +362,8 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
347
362
  for (const propStateStr of orderedStateKeys) {
348
363
  if (!emittableStates.has(propStateStr)) continue;
349
364
  const propertyState = propStateStr;
350
- const propertyStateSelector = require_pseudoStateSelectors.getStateSelector(propertyState);
365
+ let propertyStateSelector = require_pseudoStateSelectors.getStateSelector(propertyState);
366
+ if (componentName === "selectitem" && propertyState === "focused") propertyStateSelector = ":is(:focus, [data-active-item])";
351
367
  const schemaValueForState = shouldUseExhaustive || layerUsesAtomicStates ? require_resolveSlotByCascade.resolveSlotByCascade(propStateStr, resolutionStates) : propertyStateMap[propertyState];
352
368
  if (!schemaValueForState) continue;
353
369
  if (!shouldUseExhaustive) {
@@ -406,7 +422,8 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
406
422
  layerOptionalPseudoSelector,
407
423
  subComponentName
408
424
  });
409
- fullClassName = `.${rootVariantClassName}${propertyStateSelector}.${rootVariantClassNameWithComponentState} .${className}`;
425
+ const layerClassSelector = getLayerClassSelector(layer, className, componentName, propertyStateSelector);
426
+ fullClassName = `.${rootVariantClassName}${propertyStateSelector}.${rootVariantClassNameWithComponentState} ${layerClassSelector}`;
410
427
  } else {
411
428
  className = generateClassName({
412
429
  componentName,
@@ -416,7 +433,8 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
416
433
  layerOptionalPseudoSelector,
417
434
  subComponentName
418
435
  });
419
- fullClassName = bumpRootSpecificity ? `.${rootVariantClassName}.${rootVariantClassName}${propertyStateSelector} .${className}` : `.${rootVariantClassName}${propertyStateSelector} .${className}`;
436
+ const layerClassSelector = getLayerClassSelector(layer, className, componentName, propertyStateSelector);
437
+ fullClassName = bumpRootSpecificity ? `.${rootVariantClassName}.${rootVariantClassName}${propertyStateSelector} ${layerClassSelector}` : `.${rootVariantClassName}${propertyStateSelector} ${layerClassSelector}`;
420
438
  }
421
439
  }
422
440
  const { cssProperties, extendedProperties: extendedPropertiesGetter } = require_properties.configurableProperties[originalPropertyDefinition.name];
@@ -453,6 +471,28 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
453
471
  */
454
472
  if (componentName === "button" && layer === "root") {
455
473
  if (propertyKey === CSS_GAP) cssDeclarations[require_index.BUTTON_GAP_VAR] = cssDeclarations[CSS_GAP];
474
+ if (propertyKey === "spacingVertical") {
475
+ const paddingVertical = cssDeclarations["padding-top"];
476
+ if (paddingVertical) require_getButtonControlHeight.applyButtonControlHeightDeclarations({
477
+ cssDeclarations,
478
+ paddingVertical,
479
+ schema,
480
+ rootLayerKey: require_generateSchemaKey.generateSchemaKey({
481
+ variantKey,
482
+ variantValue,
483
+ layer: "root",
484
+ subComponentName
485
+ }),
486
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
487
+ variantKey,
488
+ variantValue,
489
+ layer: "icon",
490
+ subComponentName
491
+ }),
492
+ state: propertyState,
493
+ theme
494
+ });
495
+ }
456
496
  if (propertyKey === "scaleEffect" && propertyState === "hover") {
457
497
  const rootClassName = `.${className}`;
458
498
  const renderValue = (schemaValue) => require_properties.configurableProperties.scaleEffect.customValueRenderer?.(schemaValue, schema, () => "") ?? "1";
@@ -461,17 +501,39 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
461
501
  if (propertyStateMap.hover) styles[rootClassName][require_index.BUTTON_SCALE_EFFECT_HOVER] = renderValue(propertyStateMap.hover);
462
502
  if (propertyStateMap.pressed) styles[rootClassName][require_index.BUTTON_SCALE_EFFECT_PRESSED] = renderValue(propertyStateMap.pressed);
463
503
  }
464
- if (cssDeclarations[CSS_LINE_HEIGHT]) {
465
- const iconLayerKey = require_generateSchemaKey.generateSchemaKey({
504
+ if (cssDeclarations[CSS_LINE_HEIGHT]) cssDeclarations[CSS_LINE_HEIGHT] = require_getButtonControlHeight.getButtonContentLineHeight({
505
+ schema,
506
+ rootLayerKey: require_generateSchemaKey.generateSchemaKey({
507
+ variantKey,
508
+ variantValue,
509
+ layer: "root",
510
+ subComponentName
511
+ }),
512
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
466
513
  variantKey,
467
514
  variantValue,
468
515
  layer: "icon",
469
516
  subComponentName
470
- });
471
- cssDeclarations[CSS_LINE_HEIGHT] = getButtonLineHeightWithIconMinimum({
472
- lineHeight: cssDeclarations[CSS_LINE_HEIGHT],
473
- schema,
474
- iconLayerKey,
517
+ }),
518
+ state: propertyState,
519
+ theme
520
+ });
521
+ }
522
+ if (componentName === "iconbutton" && layer === "root") {
523
+ if (propertyKey === "spacing") {
524
+ const paddingVertical = cssDeclarations[CSS_PADDING];
525
+ if (paddingVertical) require_getButtonControlHeight.applyIconButtonControlHeightDeclarations({
526
+ cssDeclarations,
527
+ paddingVertical,
528
+ iconButtonSchema: schema,
529
+ buttonHeightReferenceSchema,
530
+ variantValue,
531
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
532
+ variantKey,
533
+ variantValue,
534
+ layer: "icon",
535
+ subComponentName
536
+ }),
475
537
  state: propertyState,
476
538
  theme
477
539
  });
@@ -513,8 +575,8 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
513
575
  });
514
576
  }
515
577
  }
578
+ if (propertyKey === "borderRadius" && cssDeclarations[CSS_BORDER_RADIUS] && (componentName === "paddlenav" && layer === "root" || componentName === "input" && layer === "inputWrapperDynamic")) cssDeclarations[NESTED_BORDER_RADIUS_SIZE_VAR] = cssDeclarations[CSS_BORDER_RADIUS];
516
579
  if (componentName === "paddlenav" && layer === "root") {
517
- if (propertyKey === "borderRadius" && cssDeclarations[CSS_BORDER_RADIUS]) cssDeclarations[NESTED_BORDER_RADIUS_SIZE_VAR] = cssDeclarations[CSS_BORDER_RADIUS];
518
580
  if (propertyKey === "borderWidth" && cssDeclarations[CSS_BORDER_WIDTH]) cssDeclarations[NESTED_BORDER_RADIUS_WIDTH_VAR] = cssDeclarations[CSS_BORDER_WIDTH];
519
581
  }
520
582
  if ((componentName === "tabs" || componentName === "tab") && layer === "root") {
@@ -650,7 +712,7 @@ function emitSchemaOverrideStyles({ componentName, subComponentName, variantKey,
650
712
  * layers express the variant's universal baseline, with per-state overrides
651
713
  * winning via class-compound specificity).
652
714
  */
653
- function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity }) {
715
+ function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity, buttonHeightReferenceSchema }) {
654
716
  let styles = currentStyles;
655
717
  const variables = schema.variables;
656
718
  for (const layerKey in layers) {
@@ -681,14 +743,15 @@ function emitUniversalLayers({ componentName, subComponentName, variantKey, vari
681
743
  currentStyles: styles,
682
744
  previewOptions,
683
745
  emit,
684
- bumpRootSpecificity
746
+ bumpRootSpecificity,
747
+ buttonHeightReferenceSchema
685
748
  });
686
749
  styles = deepMerge(styles, declarations);
687
750
  }
688
751
  }
689
752
  return styles;
690
753
  }
691
- function generateConfigStyles(config, schema, theme, previewOptions, emit) {
754
+ function generateConfigStyles(config, schema, theme, previewOptions, emit, generateStylesContext) {
692
755
  const componentName = config.label.toLowerCase();
693
756
  let styles = {};
694
757
  for (const variantKey in config.variants) {
@@ -704,14 +767,17 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
704
767
  previewOptions,
705
768
  emit,
706
769
  currentStyles: styles,
707
- bumpRootSpecificity: true
770
+ bumpRootSpecificity: true,
771
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
708
772
  });
709
773
  const componentStates = variantConfig.componentStates;
710
774
  for (const componentStateKey in componentStates) {
711
775
  const componentState = componentStates[componentStateKey];
712
776
  for (const componentStateOption of componentState.options) {
713
777
  const excludedPseudoStates = require_componentStatePseudoStates.getExcludedPseudoStatesForComponentStateOption(componentState, componentStateOption);
778
+ const excludedLayers = new Set(require_componentStatePseudoStates.getExcludedLayersForComponentStateOption(componentState, componentStateOption));
714
779
  for (const layerKey in componentState.layers) {
780
+ if (excludedLayers.has(layerKey)) continue;
715
781
  const layer = componentState.layers[layerKey];
716
782
  for (const propertyKey in layer.properties) {
717
783
  const originalPropertyDefinition = layer.properties[propertyKey];
@@ -732,7 +798,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
732
798
  currentStyles: styles,
733
799
  previewOptions,
734
800
  excludedPseudoStates,
735
- emit
801
+ emit,
802
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
736
803
  });
737
804
  styles = deepMerge(styles, declarations);
738
805
  }
@@ -759,7 +826,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
759
826
  theme,
760
827
  previewOptions,
761
828
  emit,
762
- currentStyles: styles
829
+ currentStyles: styles,
830
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
763
831
  });
764
832
  }
765
833
  if (config.subComponents) {
@@ -778,14 +846,17 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
778
846
  previewOptions,
779
847
  emit,
780
848
  currentStyles: styles,
781
- bumpRootSpecificity: true
849
+ bumpRootSpecificity: true,
850
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
782
851
  });
783
852
  const componentStates = variantConfig.componentStates;
784
853
  for (const componentStateKey in componentStates) {
785
854
  const componentState = componentStates[componentStateKey];
786
855
  for (const componentStateOption of componentState.options) {
787
856
  const excludedPseudoStates = require_componentStatePseudoStates.getExcludedPseudoStatesForComponentStateOption(componentState, componentStateOption);
857
+ const excludedLayers = new Set(require_componentStatePseudoStates.getExcludedLayersForComponentStateOption(componentState, componentStateOption));
788
858
  for (const layerKey in componentState.layers) {
859
+ if (excludedLayers.has(layerKey)) continue;
789
860
  const layer = componentState.layers[layerKey];
790
861
  for (const propertyKey in layer.properties) {
791
862
  const originalPropertyDefinition = layer.properties[propertyKey];
@@ -807,7 +878,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
807
878
  currentStyles: styles,
808
879
  previewOptions,
809
880
  excludedPseudoStates,
810
- emit
881
+ emit,
882
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
811
883
  });
812
884
  styles = deepMerge(styles, declarations);
813
885
  }
@@ -836,7 +908,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
836
908
  theme,
837
909
  previewOptions,
838
910
  emit,
839
- currentStyles: styles
911
+ currentStyles: styles,
912
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
840
913
  });
841
914
  }
842
915
  }
@@ -870,8 +943,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
870
943
  * @param previewOptions - Options for generating preview mode class modifiers
871
944
  * @returns CSS styles object with grouped selectors for default aliases
872
945
  */
873
- const generateStylesInner = (config, schema, theme, previewOptions) => {
874
- const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive");
946
+ const generateStylesInner = (config, schema, theme, previewOptions, generateStylesContext) => {
947
+ const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive", generateStylesContext);
875
948
  if (!config.variants && !config.subComponents) return styles;
876
949
  const componentName = config.label.toLowerCase();
877
950
  if (componentName !== "button" && componentName !== "iconbutton") return styles;
@@ -952,7 +1025,7 @@ const generateStylesInner = (config, schema, theme, previewOptions) => {
952
1025
  * list, so minifiers leave their specificity intact. (gzip already collapses the
953
1026
  * repeated declaration blocks, so the shipped-size cost is minimal.)
954
1027
  */
955
- const generateStyles = (config, schema, theme, previewOptions) => generateStylesInner(config, schema, theme, previewOptions);
1028
+ const generateStyles = (config, schema, theme, previewOptions, generateStylesContext) => generateStylesInner(config, schema, theme, previewOptions, generateStylesContext);
956
1029
  /**
957
1030
  * Throws if `values` contains a duplicate entry. Runs at config-import time so
958
1031
  * a typo like `atomicStates: ['hover', 'hover']` fails the UDS build instead
@@ -12,12 +12,16 @@ import { getConfigDefaultValue, isConfigDefaultValue } from "./defaults.cjs";
12
12
  import { generateDefaultClassName } from "./generateDefaultClassName.cjs";
13
13
  import { generateKeyFromFlatConfigPath } from "./generateKeyFromFlatConfigPath.cjs";
14
14
  import { generateSchemaKey } from "./generateSchemaKey.cjs";
15
+ import { IconButtonMatchButtonHeightConfig, IconButtonMatchButtonHeightSize, disableIconButtonMatchButtonHeight, enableIconButtonMatchButtonHeight, isIconButtonMatchButtonHeightEnabled } from "./iconButtonMatchButtonHeight.cjs";
16
+ import { ButtonControlSchema, SHARED_BUTTON_ICONBUTTON_SIZES, applyButtonControlHeightDeclarations, applyIconButtonControlHeightDeclarations, getButtonContentLineHeight, getButtonControlContentSize, getButtonControlHeight, getButtonIconSizeVar, getIconButtonControlHeight } from "./getButtonControlHeight.cjs";
17
+ import { getButtonControlHeightPx, getIconButtonControlHeightPx, getIconButtonOnlyControlHeightPx, syncButtonControlHeightVarForSize, syncIconButtonControlHeightVarForSize, syncIconButtonOnlyControlHeightVarForSize } from "./getButtonControlHeightPx.cjs";
15
18
  import { getConfigComponentVariant } from "./getConfigComponentVariant.cjs";
16
19
  import { getConfigVariantComponentStates, getConfigVariantComponentStatesMatrix } from "./getConfigVariantComponentStatesMatrix.cjs";
17
20
  import { getConfigVariantProperties } from "./getConfigVariantProperties.cjs";
18
21
  import { getConfigVariantPseudoStates } from "./getConfigVariantPseudoStates.cjs";
19
22
  import { getConfigVariants } from "./getConfigVariants.cjs";
20
23
  import { PaginationWidthConfig, getPaginationControlWidthPx, syncPaginationWidthVarForSize } from "./getPaginationControlWidthPx.cjs";
24
+ import { isConfiguratorPropertyVisible } from "./isConfiguratorPropertyVisible.cjs";
21
25
  import { getStateDocsClass, getStateSelector, isKnownStateAtom } from "./pseudoStateSelectors.cjs";
22
26
  import { resolvePropertyStates } from "./resolvePropertyStates.cjs";
23
27
  import { PropertyStates, StateSlot, propertyUsesPerStateEnabled, resolveSlotByCascade } from "./resolveSlotByCascade.cjs";
@@ -97,7 +101,8 @@ declare function generateDeclaration({
97
101
  excludedPseudoStates,
98
102
  emit,
99
103
  fallbackStateMap,
100
- bumpRootSpecificity
104
+ bumpRootSpecificity,
105
+ buttonHeightReferenceSchema
101
106
  }: {
102
107
  componentName: string;
103
108
  subComponentName?: string;
@@ -121,10 +126,13 @@ declare function generateDeclaration({
121
126
  emit?: EmitMode;
122
127
  fallbackStateMap?: VariableState;
123
128
  bumpRootSpecificity?: boolean;
129
+ buttonHeightReferenceSchema?: ButtonControlSchema;
124
130
  }): Record<string, Record<string, string>>;
125
131
  declare function generateConfigStyles<C extends ComponentConfig>(config: C, schema: ComponentSchema<ComponentConfig>, theme: ThemeFn, previewOptions?: {
126
- generatePseudoStateClassModifier: boolean;
127
- }, emit?: EmitMode): Record<string, Record<string, string>>;
132
+ generatePseudoStateClassModifier?: boolean;
133
+ }, emit?: EmitMode, generateStylesContext?: {
134
+ buttonHeightReferenceSchema?: ButtonControlSchema;
135
+ }): Record<string, Record<string, string>>;
128
136
  /**
129
137
  * Public entry point. Generates a component's CSS, emitting each declared state
130
138
  * as its own rule (one selector per rule) so the cascade is carried entirely by
@@ -143,6 +151,8 @@ declare function generateConfigStyles<C extends ComponentConfig>(config: C, sche
143
151
  declare const generateStyles: (config: ComponentConfig, schema: ComponentSchema<ComponentConfig>, theme: ThemeFn, previewOptions: {
144
152
  generatePseudoStateClassModifier: boolean;
145
153
  emit?: EmitMode;
154
+ }, generateStylesContext?: {
155
+ buttonHeightReferenceSchema?: ButtonControlSchema;
146
156
  }) => Record<string, Record<string, string>>;
147
157
  declare function createConfigurableProperty<C extends ConfigurablePropertiesName, O extends string, T extends (typeof configurableProperties)[C]['possibleFixtures'], V extends readonly (readonly unknown[])[] = readonly (readonly unknown[])[]>(prop: {
148
158
  name: C;
@@ -150,7 +160,8 @@ declare function createConfigurableProperty<C extends ConfigurablePropertiesName
150
160
  values: V;
151
161
  defaults: { [K in O]: V[number][number] | (Extract<T[number], ArbitraryFixtures> extends never ? never : InferArbitraryType<Extract<T[number], ArbitraryFixtures>>) };
152
162
  label: string;
153
- skipRestState?: boolean; /** @deprecated Prefer layer-level `atomicStates` + `excludeAtomics`. */
163
+ skipRestState?: boolean;
164
+ optionalInDefaultSchema?: boolean; /** @deprecated Prefer layer-level `atomicStates` + `excludeAtomics`. */
154
165
  pseudoStates?: PossibleStates[];
155
166
  excludeAtomics?: AtomicState[];
156
167
  supportsCustom?: boolean;
@@ -189,6 +200,7 @@ declare function createComponentStates<T extends {
189
200
  label: string;
190
201
  options: readonly string[];
191
202
  excludePseudoStatesForOptions?: Partial<Record<string, readonly PossibleStates[]>>;
203
+ excludeLayersForOptions?: Partial<Record<string, readonly string[]>>;
192
204
  layers?: {
193
205
  root: LayerConfig;
194
206
  } & Record<string, LayerConfig>;