Skip to content

Commit eed1ede

Browse files
committed
[@mantine/core] Combobox: Fix dropdown not being positioned correctly when element is initially rendered outside the viewport (#8520, #8577)
1 parent 32e70ba commit eed1ede

3 files changed

Lines changed: 26 additions & 2 deletions

File tree

packages/@mantine/core/src/components/Combobox/Combobox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ export function Combobox(_props: ComboboxProps) {
169169
>
170170
<Popover
171171
opened={store.dropdownOpened}
172-
preventPositionChangeWhenVisible
172+
preventPositionChangeWhenVisible={false}
173173
{...others}
174174
onChange={(_opened) => !_opened && onDropdownClose()}
175175
withRoles={false}

packages/@mantine/core/src/components/Popover/use-popover.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ function getPopoverMiddlewares(
104104
const styles = floating.refs.floating.current?.style ?? {};
105105

106106
if (middlewaresOptions.size) {
107-
//If custom apply function is given use that else set defaults
107+
// If custom apply function is given use that else set defaults
108108
if (typeof middlewaresOptions.size === 'object' && !!middlewaresOptions.size.apply) {
109109
middlewaresOptions.size.apply({ rects, availableWidth, availableHeight, ...rest });
110110
} else {

packages/@mantine/core/src/components/Select/Select.story.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,30 @@ export function Usage() {
2929
);
3030
}
3131

32+
export function BottomOfThePage() {
33+
return (
34+
<div style={{ padding: 40 }}>
35+
<div style={{ height: 1200 }} />
36+
<Select
37+
data={[
38+
'React',
39+
'Angular',
40+
'Svelte',
41+
'Vue',
42+
'Ember',
43+
'Backbone',
44+
'Preact',
45+
'Inferno',
46+
'Aurelia',
47+
'Meteor',
48+
]}
49+
placeholder="Select something"
50+
/>
51+
<div style={{ height: 1200 }} />
52+
</div>
53+
);
54+
}
55+
3256
export function ClearButtonWithRightSection() {
3357
const sizes = ['xs', 'sm', 'md', 'lg', 'xl'].map((size) => (
3458
<Select

0 commit comments

Comments
 (0)