@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.
- package/dist/automated-config/dist/generated/generatedConfigs.cjs +67 -51
- package/dist/automated-config/dist/generated/generatedConfigs.d.cts +15 -1
- package/dist/automated-config/dist/generated/generatedConfigs.d.ts +15 -1
- package/dist/automated-config/dist/generated/generatedConfigs.js +67 -51
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +1 -1
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +4 -1
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +4 -1
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +1 -1
- package/dist/automated-config/dist/properties.cjs +8 -1
- package/dist/automated-config/dist/properties.d.cts +8 -0
- package/dist/automated-config/dist/properties.d.ts +8 -0
- package/dist/automated-config/dist/properties.js +8 -1
- package/dist/automated-config/dist/utils/buildConfigSchema.cjs +7 -0
- package/dist/automated-config/dist/utils/buildConfigSchema.d.cts +10 -3
- package/dist/automated-config/dist/utils/buildConfigSchema.d.ts +10 -3
- package/dist/automated-config/dist/utils/buildConfigSchema.js +7 -0
- package/dist/automated-config/dist/utils/getButtonControlHeight.cjs +129 -0
- package/dist/automated-config/dist/utils/getButtonControlHeight.d.cts +133 -0
- package/dist/automated-config/dist/utils/getButtonControlHeight.d.ts +133 -0
- package/dist/automated-config/dist/utils/getButtonControlHeight.js +122 -0
- package/dist/automated-config/dist/utils/getButtonControlHeightPx.cjs +114 -0
- package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.cts +78 -0
- package/dist/automated-config/dist/utils/getButtonControlHeightPx.d.ts +78 -0
- package/dist/automated-config/dist/utils/getButtonControlHeightPx.js +108 -0
- package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
- package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
- package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +110 -0
- package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.cts +19 -0
- package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.d.ts +19 -0
- package/dist/automated-config/dist/utils/iconButtonMatchButtonHeight.js +108 -0
- package/dist/automated-config/dist/utils/index.cjs +85 -28
- package/dist/automated-config/dist/utils/index.d.cts +15 -4
- package/dist/automated-config/dist/utils/index.d.ts +15 -4
- package/dist/automated-config/dist/utils/index.js +85 -28
- package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.cjs +15 -0
- package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.cts +20 -0
- package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.d.ts +20 -0
- package/dist/automated-config/dist/utils/isConfiguratorPropertyVisible.js +15 -0
- package/dist/components/client/Button.cjs +3 -3
- package/dist/components/client/Button.js +3 -3
- package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
- package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +1 -1
- package/dist/config/dist/index.cjs +5 -5
- package/dist/config/dist/index.js +5 -5
- package/dist/css/dist/packages/automated-config/dist/properties.cjs +8 -1
- package/dist/css/dist/packages/automated-config/dist/properties.js +8 -1
- package/dist/css/dist/packages/config/dist/index.cjs +5 -5
- package/dist/css/dist/packages/config/dist/index.js +5 -5
- package/dist/css-tokens/dist/index.cjs +2 -0
- package/dist/css-tokens/dist/index.d.cts +2 -1
- package/dist/css-tokens/dist/index.d.ts +2 -1
- package/dist/css-tokens/dist/index.js +2 -1
- package/dist/index.cjs +23 -0
- package/dist/index.d.cts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/styles/styler.d.cts +12 -12
- package/dist/styles/styler.d.ts +12 -12
- package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.cjs +67 -51
- package/dist/tailwind-internal/dist/packages/automated-config/dist/generated/generatedConfigs.js +67 -51
- package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.cjs +8 -1
- package/dist/tailwind-internal/dist/packages/automated-config/dist/properties.js +8 -1
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.cjs +126 -0
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/getButtonControlHeight.js +123 -0
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.cjs +20 -0
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/iconButtonMatchButtonHeight.js +20 -0
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.cjs +82 -28
- package/dist/tailwind-internal/dist/packages/automated-config/dist/utils/index.js +82 -28
- package/dist/tailwind-internal/dist/packages/config/dist/index.cjs +5 -5
- package/dist/tailwind-internal/dist/packages/config/dist/index.js +5 -5
- package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.cjs +2 -0
- package/dist/tailwind-internal/dist/packages/css-tokens/dist/index.js +2 -1
- package/dist/tailwind-internal/dist/plugins/components.cjs +1 -1
- package/dist/tailwind-internal/dist/plugins/components.js +1 -1
- package/dist/tokens/automation/index.cjs +22 -0
- package/dist/tokens/automation/index.d.cts +5 -1
- package/dist/tokens/automation/index.d.ts +5 -1
- package/dist/tokens/automation/index.js +5 -1
- package/dist/tokens/consts/cssTokens.cjs +1 -0
- package/dist/tokens/consts/cssTokens.d.cts +2 -2
- package/dist/tokens/consts/cssTokens.d.ts +2 -2
- package/dist/tokens/consts/cssTokens.js +2 -2
- package/dist/tokens/index.cjs +23 -0
- package/dist/tokens/index.d.cts +6 -2
- package/dist/tokens/index.d.ts +6 -2
- package/dist/tokens/index.js +6 -2
- package/dist/uds/generated/componentData.cjs +133 -130
- package/dist/uds/generated/componentData.js +133 -130
- package/dist/uds/generated/migrationSchemaVersion.cjs +1 -1
- package/dist/uds/generated/migrationSchemaVersion.js +1 -1
- package/dist/uds/generated/tailwindPurge.cjs +5 -5
- package/dist/uds/generated/tailwindPurge.js +5 -5
- package/generated/componentData.json +191 -188
- package/generated/migrationSchemaVersion.ts +1 -1
- package/generated/tailwindPurge.ts +1 -1
- 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
|
-
*
|
|
131
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
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
|
|
127
|
-
}, emit?: EmitMode
|
|
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;
|
|
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
|
|
127
|
-
}, emit?: EmitMode
|
|
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;
|
|
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
|
-
*
|
|
130
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
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 };
|