diff --git a/packages/@react-spectrum/picker/src/Picker.tsx b/packages/@react-spectrum/picker/src/Picker.tsx index c209e14f2f6..8009589627e 100644 --- a/packages/@react-spectrum/picker/src/Picker.tsx +++ b/packages/@react-spectrum/picker/src/Picker.tsx @@ -123,16 +123,18 @@ function Picker(props: SpectrumPickerProps, ref: DOMRef) { } else { // If quiet, use the default width, otherwise match the width of the button. This can be overridden by the menuWidth prop. // Always have a minimum width of the button width. When quiet, there is an extra offset to add. - let btnWidth = isQuiet ? null : buttonWidth; - let width = menuWidth ? dimensionValue(menuWidth) : btnWidth; - let minWidth = isQuiet ? `calc(${buttonWidth}px + calc(2 * var(--spectrum-dropdown-quiet-offset)))` : buttonWidth; + // Not using style props for this because they don't support `calc`. + let width = isQuiet ? null : buttonWidth; + let style = { + ...overlayProps.style, + width: menuWidth ? dimensionValue(menuWidth) : width, + minWidth: isQuiet ? `calc(${buttonWidth}px + calc(2 * var(--spectrum-dropdown-quiet-offset)))` : buttonWidth + }; overlay = (