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