diff --git a/change/@fluentui-react-positioning-6885ff72-725f-432d-95c5-37ccfe3dba48.json b/change/@fluentui-react-positioning-6885ff72-725f-432d-95c5-37ccfe3dba48.json new file mode 100644 index 0000000000000..a6c43e61905f2 --- /dev/null +++ b/change/@fluentui-react-positioning-6885ff72-725f-432d-95c5-37ccfe3dba48.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "feat: Set overflow on positioned element when `autosize` is applied", + "packageName": "@fluentui/react-positioning", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/react-positioning/src/middleware/maxSize.ts b/packages/react-components/react-positioning/src/middleware/maxSize.ts index 1567df6e28a8e..c37ade24333bf 100644 --- a/packages/react-components/react-positioning/src/middleware/maxSize.ts +++ b/packages/react-components/react-positioning/src/middleware/maxSize.ts @@ -22,16 +22,18 @@ export function maxSize(autoSize: PositioningOptions['autoSize'], options: MaxSi (rects.floating.height > availableHeight && (autoSize === true || autoSize === 'height')); if (applyMaxHeight) { - Object.assign(elements.floating.style, { + Object.assign>(elements.floating.style, { maxHeight: `${availableHeight}px`, boxSizing: 'border-box', + overflowY: 'auto', }); } if (applyMaxWidth) { - Object.assign(elements.floating.style, { + Object.assign>(elements.floating.style, { maxWidth: `${availableWidth}px`, boxSizing: 'border-box', + overflowX: 'auto', }); } },