@yahoo/uds 3.157.0 → 3.157.1

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 (96) hide show
  1. package/dist/automated-config/dist/generated/generatedConfigs.cjs +67 -51
  2. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +15 -1
  3. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +15 -1
  4. package/dist/automated-config/dist/generated/generatedConfigs.js +67 -51
  5. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +1 -1
  6. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +4 -1
  7. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +4 -1
  8. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +1 -1
  9. package/dist/automated-config/dist/properties.cjs +8 -1
  10. package/dist/automated-config/dist/properties.d.cts +8 -0
  11. package/dist/automated-config/dist/properties.d.ts +8 -0
  12. package/dist/automated-config/dist/properties.js +8 -1
  13. package/dist/automated-config/dist/utils/buildConfigSchema.cjs +7 -0
  14. package/dist/automated-config/dist/utils/buildConfigSchema.d.cts +10 -3
  15. package/dist/automated-config/dist/utils/buildConfigSchema.d.ts +10 -3
  16. package/dist/automated-config/dist/utils/buildConfigSchema.js +7 -0
  17. package/dist/automated-config/dist/utils/getButtonControlHeight.cjs +129 -0
  18. package/dist/automated-config/dist/utils/getButtonControlHeight.d.cts +133 -0
  19. package/dist/automated-config/dist/utils/getButtonControlHeight.d.ts +133 -0
  20. package/dist/automated-config/dist/utils/getButtonControlHeight.js +122 -0
  21. package/dist/automated-config/dist/utils/getButtonControlHeightPx.cjs +114 -0
  22. package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.cts +78 -0
  23. package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.ts +78 -0
  24. package/dist/automated-config/dist/utils/getButtonControlHeightPx.js +108 -0
  25. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  26. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  27. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +110 -0
  28. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.cts +19 -0
  29. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.ts +19 -0
  30. package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.js +108 -0
  31. package/dist/automated-config/dist/utils/index.cjs +85 -28
  32. package/dist/automated-config/dist/utils/index.d.cts +15 -4
  33. package/dist/automated-config/dist/utils/index.d.ts +15 -4
  34. package/dist/automated-config/dist/utils/index.js +85 -28
  35. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.cjs +15 -0
  36. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.cts +20 -0
  37. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.ts +20 -0
  38. package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.js +15 -0
  39. package/dist/components/client/Button.cjs +3 -3
  40. package/dist/components/client/Button.js +3 -3
  41. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
  42. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +1 -1
  43. package/dist/config/dist/index.cjs +5 -5
  44. package/dist/config/dist/index.js +5 -5
  45. package/dist/css/dist/packages/automated-config/dist/properties.cjs +8 -1
  46. package/dist/css/dist/packages/automated-config/dist/properties.js +8 -1
  47. package/dist/css/dist/packages/config/dist/index.cjs +5 -5
  48. package/dist/css/dist/packages/config/dist/index.js +5 -5
  49. package/dist/css-tokens/dist/index.cjs +2 -0
  50. package/dist/css-tokens/dist/index.d.cts +2 -1
  51. package/dist/css-tokens/dist/index.d.ts +2 -1
  52. package/dist/css-tokens/dist/index.js +2 -1
  53. package/dist/index.cjs +23 -0
  54. package/dist/index.d.cts +6 -2
  55. package/dist/index.d.ts +6 -2
  56. package/dist/index.js +6 -2
  57. package/dist/styles/styler.d.cts +12 -12
  58. package/dist/styles/styler.d.ts +12 -12
  59. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.cjs +67 -51
  60. package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.js +67 -51
  61. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.cjs +8 -1
  62. package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.js +8 -1
  63. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.cjs +126 -0
  64. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.js +123 -0
  65. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +20 -0
  66. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.js +20 -0
  67. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.cjs +82 -28
  68. package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.js +82 -28
  69. package/dist/tailwind-internal/dist/packages/config/dist/index.cjs +5 -5
  70. package/dist/tailwind-internal/dist/packages/config/dist/index.js +5 -5
  71. package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.cjs +2 -0
  72. package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.js +2 -1
  73. package/dist/tailwind-internal/dist/plugins/components.cjs +1 -1
  74. package/dist/tailwind-internal/dist/plugins/components.js +1 -1
  75. package/dist/tokens/automation/index.cjs +22 -0
  76. package/dist/tokens/automation/index.d.cts +5 -1
  77. package/dist/tokens/automation/index.d.ts +5 -1
  78. package/dist/tokens/automation/index.js +5 -1
  79. package/dist/tokens/consts/cssTokens.cjs +1 -0
  80. package/dist/tokens/consts/cssTokens.d.cts +2 -2
  81. package/dist/tokens/consts/cssTokens.d.ts +2 -2
  82. package/dist/tokens/consts/cssTokens.js +2 -2
  83. package/dist/tokens/index.cjs +23 -0
  84. package/dist/tokens/index.d.cts +6 -2
  85. package/dist/tokens/index.d.ts +6 -2
  86. package/dist/tokens/index.js +6 -2
  87. package/dist/uds/generated/componentData.cjs +133 -130
  88. package/dist/uds/generated/componentData.js +133 -130
  89. package/dist/uds/generated/migrationSchemaVersion.cjs +1 -1
  90. package/dist/uds/generated/migrationSchemaVersion.js +1 -1
  91. package/dist/uds/generated/tailwindPurge.cjs +5 -5
  92. package/dist/uds/generated/tailwindPurge.js +5 -5
  93. package/generated/componentData.json +191 -188
  94. package/generated/migrationSchemaVersion.ts +1 -1
  95. package/generated/tailwindPurge.ts +1 -1
  96. package/package.json +1 -1
@@ -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 */
@@ -127,15 +131,9 @@ function buildStateRecord(transform) {
127
131
  }
128
132
  const statePseudoMapDocsMode = buildStateRecord(require_pseudoStateSelectors.getStateDocsClass);
129
133
  /**
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
134
+ * Layout line-height for button root: icon size only (not textVariant line-height).
135
+ * @see getButtonContentLineHeight
133
136
  */
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
137
  /**
140
138
  * Shared pagination control content size: max(icon size, text line-height).
141
139
  * Keeps page numbers and prev/next icons vertically centered when typography exceeds icon height.
@@ -317,8 +315,16 @@ function selectiveEmittedStates(stateMap, orderedStateKeys, emittableStates) {
317
315
  }
318
316
  return emitted;
319
317
  }
320
- function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity }) {
318
+ function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity, buttonHeightReferenceSchema }) {
321
319
  const shouldUseExhaustive = (emit ?? "exhaustive") === "exhaustive" && layerUsesAtomicStates;
320
+ const { cssProperties: configuredCssProperties, extendedProperties: configuredExtendedGetter } = require_properties.configurableProperties[originalPropertyDefinition.name];
321
+ const configuredExtendedProperties = (0, lodash_es.isFunction)(configuredExtendedGetter) ? configuredExtendedGetter({
322
+ componentName,
323
+ subComponentName,
324
+ layer,
325
+ propertyKey
326
+ }) : configuredExtendedGetter;
327
+ if (!(typeof configuredCssProperties === "string" && configuredCssProperties.length > 0 || Array.isArray(configuredCssProperties) && configuredCssProperties.length > 0 || Array.isArray(configuredExtendedProperties) && configuredExtendedProperties.length > 0)) return {};
322
328
  const schemaKey = require_generateSchemaKey.generateSchemaKey({
323
329
  variantKey,
324
330
  variantValue,
@@ -453,6 +459,28 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
453
459
  */
454
460
  if (componentName === "button" && layer === "root") {
455
461
  if (propertyKey === CSS_GAP) cssDeclarations[require_index.BUTTON_GAP_VAR] = cssDeclarations[CSS_GAP];
462
+ if (propertyKey === "spacingVertical") {
463
+ const paddingVertical = cssDeclarations["padding-top"];
464
+ if (paddingVertical) require_getButtonControlHeight.applyButtonControlHeightDeclarations({
465
+ cssDeclarations,
466
+ paddingVertical,
467
+ schema,
468
+ rootLayerKey: require_generateSchemaKey.generateSchemaKey({
469
+ variantKey,
470
+ variantValue,
471
+ layer: "root",
472
+ subComponentName
473
+ }),
474
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
475
+ variantKey,
476
+ variantValue,
477
+ layer: "icon",
478
+ subComponentName
479
+ }),
480
+ state: propertyState,
481
+ theme
482
+ });
483
+ }
456
484
  if (propertyKey === "scaleEffect" && propertyState === "hover") {
457
485
  const rootClassName = `.${className}`;
458
486
  const renderValue = (schemaValue) => require_properties.configurableProperties.scaleEffect.customValueRenderer?.(schemaValue, schema, () => "") ?? "1";
@@ -461,17 +489,39 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
461
489
  if (propertyStateMap.hover) styles[rootClassName][require_index.BUTTON_SCALE_EFFECT_HOVER] = renderValue(propertyStateMap.hover);
462
490
  if (propertyStateMap.pressed) styles[rootClassName][require_index.BUTTON_SCALE_EFFECT_PRESSED] = renderValue(propertyStateMap.pressed);
463
491
  }
464
- if (cssDeclarations[CSS_LINE_HEIGHT]) {
465
- const iconLayerKey = require_generateSchemaKey.generateSchemaKey({
492
+ if (cssDeclarations[CSS_LINE_HEIGHT]) cssDeclarations[CSS_LINE_HEIGHT] = require_getButtonControlHeight.getButtonContentLineHeight({
493
+ schema,
494
+ rootLayerKey: require_generateSchemaKey.generateSchemaKey({
495
+ variantKey,
496
+ variantValue,
497
+ layer: "root",
498
+ subComponentName
499
+ }),
500
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
466
501
  variantKey,
467
502
  variantValue,
468
503
  layer: "icon",
469
504
  subComponentName
470
- });
471
- cssDeclarations[CSS_LINE_HEIGHT] = getButtonLineHeightWithIconMinimum({
472
- lineHeight: cssDeclarations[CSS_LINE_HEIGHT],
473
- schema,
474
- iconLayerKey,
505
+ }),
506
+ state: propertyState,
507
+ theme
508
+ });
509
+ }
510
+ if (componentName === "iconbutton" && layer === "root") {
511
+ if (propertyKey === "spacing") {
512
+ const paddingVertical = cssDeclarations[CSS_PADDING];
513
+ if (paddingVertical) require_getButtonControlHeight.applyIconButtonControlHeightDeclarations({
514
+ cssDeclarations,
515
+ paddingVertical,
516
+ iconButtonSchema: schema,
517
+ buttonHeightReferenceSchema,
518
+ variantValue,
519
+ iconLayerKey: require_generateSchemaKey.generateSchemaKey({
520
+ variantKey,
521
+ variantValue,
522
+ layer: "icon",
523
+ subComponentName
524
+ }),
475
525
  state: propertyState,
476
526
  theme
477
527
  });
@@ -650,7 +700,7 @@ function emitSchemaOverrideStyles({ componentName, subComponentName, variantKey,
650
700
  * layers express the variant's universal baseline, with per-state overrides
651
701
  * winning via class-compound specificity).
652
702
  */
653
- function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity }) {
703
+ function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity, buttonHeightReferenceSchema }) {
654
704
  let styles = currentStyles;
655
705
  const variables = schema.variables;
656
706
  for (const layerKey in layers) {
@@ -681,14 +731,15 @@ function emitUniversalLayers({ componentName, subComponentName, variantKey, vari
681
731
  currentStyles: styles,
682
732
  previewOptions,
683
733
  emit,
684
- bumpRootSpecificity
734
+ bumpRootSpecificity,
735
+ buttonHeightReferenceSchema
685
736
  });
686
737
  styles = deepMerge(styles, declarations);
687
738
  }
688
739
  }
689
740
  return styles;
690
741
  }
691
- function generateConfigStyles(config, schema, theme, previewOptions, emit) {
742
+ function generateConfigStyles(config, schema, theme, previewOptions, emit, generateStylesContext) {
692
743
  const componentName = config.label.toLowerCase();
693
744
  let styles = {};
694
745
  for (const variantKey in config.variants) {
@@ -704,7 +755,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
704
755
  previewOptions,
705
756
  emit,
706
757
  currentStyles: styles,
707
- bumpRootSpecificity: true
758
+ bumpRootSpecificity: true,
759
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
708
760
  });
709
761
  const componentStates = variantConfig.componentStates;
710
762
  for (const componentStateKey in componentStates) {
@@ -732,7 +784,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
732
784
  currentStyles: styles,
733
785
  previewOptions,
734
786
  excludedPseudoStates,
735
- emit
787
+ emit,
788
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
736
789
  });
737
790
  styles = deepMerge(styles, declarations);
738
791
  }
@@ -759,7 +812,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
759
812
  theme,
760
813
  previewOptions,
761
814
  emit,
762
- currentStyles: styles
815
+ currentStyles: styles,
816
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
763
817
  });
764
818
  }
765
819
  if (config.subComponents) {
@@ -778,7 +832,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
778
832
  previewOptions,
779
833
  emit,
780
834
  currentStyles: styles,
781
- bumpRootSpecificity: true
835
+ bumpRootSpecificity: true,
836
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
782
837
  });
783
838
  const componentStates = variantConfig.componentStates;
784
839
  for (const componentStateKey in componentStates) {
@@ -807,7 +862,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
807
862
  currentStyles: styles,
808
863
  previewOptions,
809
864
  excludedPseudoStates,
810
- emit
865
+ emit,
866
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
811
867
  });
812
868
  styles = deepMerge(styles, declarations);
813
869
  }
@@ -836,7 +892,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
836
892
  theme,
837
893
  previewOptions,
838
894
  emit,
839
- currentStyles: styles
895
+ currentStyles: styles,
896
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
840
897
  });
841
898
  }
842
899
  }
@@ -870,8 +927,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
870
927
  * @param previewOptions - Options for generating preview mode class modifiers
871
928
  * @returns CSS styles object with grouped selectors for default aliases
872
929
  */
873
- const generateStylesInner = (config, schema, theme, previewOptions) => {
874
- const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive");
930
+ const generateStylesInner = (config, schema, theme, previewOptions, generateStylesContext) => {
931
+ const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive", generateStylesContext);
875
932
  if (!config.variants && !config.subComponents) return styles;
876
933
  const componentName = config.label.toLowerCase();
877
934
  if (componentName !== "button" && componentName !== "iconbutton") return styles;
@@ -952,7 +1009,7 @@ const generateStylesInner = (config, schema, theme, previewOptions) => {
952
1009
  * list, so minifiers leave their specificity intact. (gzip already collapses the
953
1010
  * repeated declaration blocks, so the shipped-size cost is minimal.)
954
1011
  */
955
- const generateStyles = (config, schema, theme, previewOptions) => generateStylesInner(config, schema, theme, previewOptions);
1012
+ const generateStyles = (config, schema, theme, previewOptions, generateStylesContext) => generateStylesInner(config, schema, theme, previewOptions, generateStylesContext);
956
1013
  /**
957
1014
  * Throws if `values` contains a duplicate entry. Runs at config-import time so
958
1015
  * 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;
@@ -12,12 +12,16 @@ import { getConfigDefaultValue, isConfigDefaultValue } from "./defaults.js";
12
12
  import { generateDefaultClassName } from "./generateDefaultClassName.js";
13
13
  import { generateKeyFromFlatConfigPath } from "./generateKeyFromFlatConfigPath.js";
14
14
  import { generateSchemaKey } from "./generateSchemaKey.js";
15
+ import { IconButtonMatchButtonHeightConfig, IconButtonMatchButtonHeightSize, disableIconButtonMatchButtonHeight, enableIconButtonMatchButtonHeight, isIconButtonMatchButtonHeightEnabled } from "./iconButtonMatchButtonHeight.js";
16
+ import { ButtonControlSchema, SHARED_BUTTON_ICONBUTTON_SIZES, applyButtonControlHeightDeclarations, applyIconButtonControlHeightDeclarations, getButtonContentLineHeight, getButtonControlContentSize, getButtonControlHeight, getButtonIconSizeVar, getIconButtonControlHeight } from "./getButtonControlHeight.js";
17
+ import { getButtonControlHeightPx, getIconButtonControlHeightPx, getIconButtonOnlyControlHeightPx, syncButtonControlHeightVarForSize, syncIconButtonControlHeightVarForSize, syncIconButtonOnlyControlHeightVarForSize } from "./getButtonControlHeightPx.js";
15
18
  import { getConfigComponentVariant } from "./getConfigComponentVariant.js";
16
19
  import { getConfigVariantComponentStates, getConfigVariantComponentStatesMatrix } from "./getConfigVariantComponentStatesMatrix.js";
17
20
  import { getConfigVariantProperties } from "./getConfigVariantProperties.js";
18
21
  import { getConfigVariantPseudoStates } from "./getConfigVariantPseudoStates.js";
19
22
  import { getConfigVariants } from "./getConfigVariants.js";
20
23
  import { PaginationWidthConfig, getPaginationControlWidthPx, syncPaginationWidthVarForSize } from "./getPaginationControlWidthPx.js";
24
+ import { isConfiguratorPropertyVisible } from "./isConfiguratorPropertyVisible.js";
21
25
  import { getStateDocsClass, getStateSelector, isKnownStateAtom } from "./pseudoStateSelectors.js";
22
26
  import { resolvePropertyStates } from "./resolvePropertyStates.js";
23
27
  import { PropertyStates, StateSlot, propertyUsesPerStateEnabled, resolveSlotByCascade } from "./resolveSlotByCascade.js";
@@ -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;
@@ -10,6 +10,9 @@ import { atomicAndCompoundStateKeys, resolvePropertyStates } from "./resolveProp
10
10
  import { isVariantConfigWithComponentStates, isVariantConfigWithProperties } from "./variantConfigGuards.js";
11
11
  import { findFixtureTypeForValue } from "./buildConfigSchema.js";
12
12
  import { generateDefaultClassName } from "./generateDefaultClassName.js";
13
+ import { applyButtonControlHeightDeclarations, applyIconButtonControlHeightDeclarations, getButtonContentLineHeight } from "./getButtonControlHeight.js";
14
+ import "./iconButtonMatchButtonHeight.js";
15
+ import "./getButtonControlHeightPx.js";
13
16
  import { getStateDocsClass, getStateSelector } from "./pseudoStateSelectors.js";
14
17
  import { resolveSlotByCascade } from "./resolveSlotByCascade.js";
15
18
  import "./cartesianProduct.js";
@@ -23,6 +26,7 @@ import "./getConfigVariantProperties.js";
23
26
  import "./getConfigVariantPseudoStates.js";
24
27
  import "./getConfigVariants.js";
25
28
  import "./getPaginationControlWidthPx.js";
29
+ import "./isConfiguratorPropertyVisible.js";
26
30
  import { isFunction, mergeWith } from "lodash-es";
27
31
  //#region ../automated-config/dist/utils/index.js
28
32
  /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
@@ -126,15 +130,9 @@ function buildStateRecord(transform) {
126
130
  }
127
131
  const statePseudoMapDocsMode = buildStateRecord(getStateDocsClass);
128
132
  /**
129
- * Generates button line-height with icon size minimum.
130
- * Ensures button line-height is at least as tall as the icon to prevent clipping.
131
- * @returns Enhanced line-height CSS value with max(), or original value if icon size unavailable
133
+ * Layout line-height for button root: icon size only (not textVariant line-height).
134
+ * @see getButtonContentLineHeight
132
135
  */
133
- function getButtonLineHeightWithIconMinimum({ lineHeight, schema, iconLayerKey, state, theme }) {
134
- const iconSizeValue = schema.variables?.[iconLayerKey]?.size?.[state]?.value;
135
- if (iconSizeValue) return `max(${lineHeight}, ${theme(configurableProperties.iconSize.twThemePath("iconSizes", iconSizeValue))})`;
136
- return lineHeight;
137
- }
138
136
  /**
139
137
  * Shared pagination control content size: max(icon size, text line-height).
140
138
  * Keeps page numbers and prev/next icons vertically centered when typography exceeds icon height.
@@ -316,8 +314,16 @@ function selectiveEmittedStates(stateMap, orderedStateKeys, emittableStates) {
316
314
  }
317
315
  return emitted;
318
316
  }
319
- function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity }) {
317
+ function generateDeclaration({ componentName, subComponentName, variantKey, variantValue, layer, layerOptionalPseudoSelector, componentStateKey, componentStateValue, schema, propertyKey, originalPropertyDefinition, declaredStates, layerUsesAtomicStates, theme, currentStyles, previewOptions, excludedPseudoStates = [], emit, fallbackStateMap, bumpRootSpecificity, buttonHeightReferenceSchema }) {
320
318
  const shouldUseExhaustive = (emit ?? "exhaustive") === "exhaustive" && layerUsesAtomicStates;
319
+ const { cssProperties: configuredCssProperties, extendedProperties: configuredExtendedGetter } = configurableProperties[originalPropertyDefinition.name];
320
+ const configuredExtendedProperties = isFunction(configuredExtendedGetter) ? configuredExtendedGetter({
321
+ componentName,
322
+ subComponentName,
323
+ layer,
324
+ propertyKey
325
+ }) : configuredExtendedGetter;
326
+ if (!(typeof configuredCssProperties === "string" && configuredCssProperties.length > 0 || Array.isArray(configuredCssProperties) && configuredCssProperties.length > 0 || Array.isArray(configuredExtendedProperties) && configuredExtendedProperties.length > 0)) return {};
321
327
  const schemaKey = generateSchemaKey({
322
328
  variantKey,
323
329
  variantValue,
@@ -452,6 +458,28 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
452
458
  */
453
459
  if (componentName === "button" && layer === "root") {
454
460
  if (propertyKey === CSS_GAP) cssDeclarations[BUTTON_GAP_VAR] = cssDeclarations[CSS_GAP];
461
+ if (propertyKey === "spacingVertical") {
462
+ const paddingVertical = cssDeclarations["padding-top"];
463
+ if (paddingVertical) applyButtonControlHeightDeclarations({
464
+ cssDeclarations,
465
+ paddingVertical,
466
+ schema,
467
+ rootLayerKey: generateSchemaKey({
468
+ variantKey,
469
+ variantValue,
470
+ layer: "root",
471
+ subComponentName
472
+ }),
473
+ iconLayerKey: generateSchemaKey({
474
+ variantKey,
475
+ variantValue,
476
+ layer: "icon",
477
+ subComponentName
478
+ }),
479
+ state: propertyState,
480
+ theme
481
+ });
482
+ }
455
483
  if (propertyKey === "scaleEffect" && propertyState === "hover") {
456
484
  const rootClassName = `.${className}`;
457
485
  const renderValue = (schemaValue) => configurableProperties.scaleEffect.customValueRenderer?.(schemaValue, schema, () => "") ?? "1";
@@ -460,17 +488,39 @@ function generateDeclaration({ componentName, subComponentName, variantKey, vari
460
488
  if (propertyStateMap.hover) styles[rootClassName][BUTTON_SCALE_EFFECT_HOVER] = renderValue(propertyStateMap.hover);
461
489
  if (propertyStateMap.pressed) styles[rootClassName][BUTTON_SCALE_EFFECT_PRESSED] = renderValue(propertyStateMap.pressed);
462
490
  }
463
- if (cssDeclarations[CSS_LINE_HEIGHT]) {
464
- const iconLayerKey = generateSchemaKey({
491
+ if (cssDeclarations[CSS_LINE_HEIGHT]) cssDeclarations[CSS_LINE_HEIGHT] = getButtonContentLineHeight({
492
+ schema,
493
+ rootLayerKey: generateSchemaKey({
494
+ variantKey,
495
+ variantValue,
496
+ layer: "root",
497
+ subComponentName
498
+ }),
499
+ iconLayerKey: generateSchemaKey({
465
500
  variantKey,
466
501
  variantValue,
467
502
  layer: "icon",
468
503
  subComponentName
469
- });
470
- cssDeclarations[CSS_LINE_HEIGHT] = getButtonLineHeightWithIconMinimum({
471
- lineHeight: cssDeclarations[CSS_LINE_HEIGHT],
472
- schema,
473
- iconLayerKey,
504
+ }),
505
+ state: propertyState,
506
+ theme
507
+ });
508
+ }
509
+ if (componentName === "iconbutton" && layer === "root") {
510
+ if (propertyKey === "spacing") {
511
+ const paddingVertical = cssDeclarations[CSS_PADDING];
512
+ if (paddingVertical) applyIconButtonControlHeightDeclarations({
513
+ cssDeclarations,
514
+ paddingVertical,
515
+ iconButtonSchema: schema,
516
+ buttonHeightReferenceSchema,
517
+ variantValue,
518
+ iconLayerKey: generateSchemaKey({
519
+ variantKey,
520
+ variantValue,
521
+ layer: "icon",
522
+ subComponentName
523
+ }),
474
524
  state: propertyState,
475
525
  theme
476
526
  });
@@ -649,7 +699,7 @@ function emitSchemaOverrideStyles({ componentName, subComponentName, variantKey,
649
699
  * layers express the variant's universal baseline, with per-state overrides
650
700
  * winning via class-compound specificity).
651
701
  */
652
- function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity }) {
702
+ function emitUniversalLayers({ componentName, subComponentName, variantKey, variantOption, layers, schema, theme, previewOptions, emit, currentStyles, bumpRootSpecificity, buttonHeightReferenceSchema }) {
653
703
  let styles = currentStyles;
654
704
  const variables = schema.variables;
655
705
  for (const layerKey in layers) {
@@ -680,14 +730,15 @@ function emitUniversalLayers({ componentName, subComponentName, variantKey, vari
680
730
  currentStyles: styles,
681
731
  previewOptions,
682
732
  emit,
683
- bumpRootSpecificity
733
+ bumpRootSpecificity,
734
+ buttonHeightReferenceSchema
684
735
  });
685
736
  styles = deepMerge(styles, declarations);
686
737
  }
687
738
  }
688
739
  return styles;
689
740
  }
690
- function generateConfigStyles(config, schema, theme, previewOptions, emit) {
741
+ function generateConfigStyles(config, schema, theme, previewOptions, emit, generateStylesContext) {
691
742
  const componentName = config.label.toLowerCase();
692
743
  let styles = {};
693
744
  for (const variantKey in config.variants) {
@@ -703,7 +754,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
703
754
  previewOptions,
704
755
  emit,
705
756
  currentStyles: styles,
706
- bumpRootSpecificity: true
757
+ bumpRootSpecificity: true,
758
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
707
759
  });
708
760
  const componentStates = variantConfig.componentStates;
709
761
  for (const componentStateKey in componentStates) {
@@ -731,7 +783,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
731
783
  currentStyles: styles,
732
784
  previewOptions,
733
785
  excludedPseudoStates,
734
- emit
786
+ emit,
787
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
735
788
  });
736
789
  styles = deepMerge(styles, declarations);
737
790
  }
@@ -758,7 +811,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
758
811
  theme,
759
812
  previewOptions,
760
813
  emit,
761
- currentStyles: styles
814
+ currentStyles: styles,
815
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
762
816
  });
763
817
  }
764
818
  if (config.subComponents) {
@@ -777,7 +831,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
777
831
  previewOptions,
778
832
  emit,
779
833
  currentStyles: styles,
780
- bumpRootSpecificity: true
834
+ bumpRootSpecificity: true,
835
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
781
836
  });
782
837
  const componentStates = variantConfig.componentStates;
783
838
  for (const componentStateKey in componentStates) {
@@ -806,7 +861,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
806
861
  currentStyles: styles,
807
862
  previewOptions,
808
863
  excludedPseudoStates,
809
- emit
864
+ emit,
865
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
810
866
  });
811
867
  styles = deepMerge(styles, declarations);
812
868
  }
@@ -835,7 +891,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
835
891
  theme,
836
892
  previewOptions,
837
893
  emit,
838
- currentStyles: styles
894
+ currentStyles: styles,
895
+ buttonHeightReferenceSchema: generateStylesContext?.buttonHeightReferenceSchema
839
896
  });
840
897
  }
841
898
  }
@@ -869,8 +926,8 @@ function generateConfigStyles(config, schema, theme, previewOptions, emit) {
869
926
  * @param previewOptions - Options for generating preview mode class modifiers
870
927
  * @returns CSS styles object with grouped selectors for default aliases
871
928
  */
872
- const generateStylesInner = (config, schema, theme, previewOptions) => {
873
- const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive");
929
+ const generateStylesInner = (config, schema, theme, previewOptions, generateStylesContext) => {
930
+ const styles = generateConfigStyles(config, schema, theme, previewOptions, previewOptions.emit ?? "exhaustive", generateStylesContext);
874
931
  if (!config.variants && !config.subComponents) return styles;
875
932
  const componentName = config.label.toLowerCase();
876
933
  if (componentName !== "button" && componentName !== "iconbutton") return styles;
@@ -951,7 +1008,7 @@ const generateStylesInner = (config, schema, theme, previewOptions) => {
951
1008
  * list, so minifiers leave their specificity intact. (gzip already collapses the
952
1009
  * repeated declaration blocks, so the shipped-size cost is minimal.)
953
1010
  */
954
- const generateStyles = (config, schema, theme, previewOptions) => generateStylesInner(config, schema, theme, previewOptions);
1011
+ const generateStyles = (config, schema, theme, previewOptions, generateStylesContext) => generateStylesInner(config, schema, theme, previewOptions, generateStylesContext);
955
1012
  /**
956
1013
  * Throws if `values` contains a duplicate entry. Runs at config-import time so
957
1014
  * a typo like `atomicStates: ['hover', 'hover']` fails the UDS build instead
@@ -0,0 +1,15 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ //#region ../automated-config/dist/utils/isConfiguratorPropertyVisible.js
3
+ /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
4
+ /**
5
+ * Opt-in schema properties (`optionalInDefaultSchema`) are written at runtime
6
+ * (e.g. IconButton `controlHeight` when match-button-height is enabled) for
7
+ * CSS/Figma sync — not for direct editing in the configurator. Hide them so the
8
+ * sidebar never calls `getConfigPseudoStateVariables` on slots that may exist
9
+ * on `branch.config` before `resolvedConfig` catches up.
10
+ */
11
+ function isConfiguratorPropertyVisible(_config, _componentName, _variableKey, _propertyKey, property) {
12
+ return property.optionalInDefaultSchema !== true;
13
+ }
14
+ //#endregion
15
+ exports.isConfiguratorPropertyVisible = isConfiguratorPropertyVisible;
@@ -0,0 +1,20 @@
1
+
2
+ import { UniversalTokensConfigAuto } from "../generated/universalTokensConfigAuto.cjs";
3
+
4
+ //#region ../automated-config/dist/utils/isConfiguratorPropertyVisible.d.ts
5
+ //#region src/utils/isConfiguratorPropertyVisible.d.ts
6
+ type ConfigWithComponentVariables = { [K in keyof UniversalTokensConfigAuto]?: {
7
+ variables?: Record<string, Record<string, unknown>>;
8
+ } };
9
+ /**
10
+ * Opt-in schema properties (`optionalInDefaultSchema`) are written at runtime
11
+ * (e.g. IconButton `controlHeight` when match-button-height is enabled) for
12
+ * CSS/Figma sync — not for direct editing in the configurator. Hide them so the
13
+ * sidebar never calls `getConfigPseudoStateVariables` on slots that may exist
14
+ * on `branch.config` before `resolvedConfig` catches up.
15
+ */
16
+ declare function isConfiguratorPropertyVisible(_config: Readonly<ConfigWithComponentVariables>, _componentName: keyof UniversalTokensConfigAuto, _variableKey: string, _propertyKey: string, property: {
17
+ optionalInDefaultSchema?: boolean;
18
+ }): boolean; //#endregion
19
+ //#endregion
20
+ export { isConfiguratorPropertyVisible };
@@ -0,0 +1,20 @@
1
+
2
+ import { UniversalTokensConfigAuto } from "../generated/universalTokensConfigAuto.js";
3
+
4
+ //#region ../automated-config/dist/utils/isConfiguratorPropertyVisible.d.ts
5
+ //#region src/utils/isConfiguratorPropertyVisible.d.ts
6
+ type ConfigWithComponentVariables = { [K in keyof UniversalTokensConfigAuto]?: {
7
+ variables?: Record<string, Record<string, unknown>>;
8
+ } };
9
+ /**
10
+ * Opt-in schema properties (`optionalInDefaultSchema`) are written at runtime
11
+ * (e.g. IconButton `controlHeight` when match-button-height is enabled) for
12
+ * CSS/Figma sync — not for direct editing in the configurator. Hide them so the
13
+ * sidebar never calls `getConfigPseudoStateVariables` on slots that may exist
14
+ * on `branch.config` before `resolvedConfig` catches up.
15
+ */
16
+ declare function isConfiguratorPropertyVisible(_config: Readonly<ConfigWithComponentVariables>, _componentName: keyof UniversalTokensConfigAuto, _variableKey: string, _propertyKey: string, property: {
17
+ optionalInDefaultSchema?: boolean;
18
+ }): boolean; //#endregion
19
+ //#endregion
20
+ export { isConfiguratorPropertyVisible };