Skip to content

Commit 7c46c26

Browse files
committed
fix(combobox): disable floating-ui in multi-select always-open mode
1 parent 6c28bfb commit 7c46c26

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

packages/pluggableWidgets/combobox-web/src/components/MultiSelection/MultiSelection.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,13 @@ export function MultiSelection({
3636
setSelectedItems,
3737
toggleSelectedItem
3838
} = useDownshiftMultiSelectProps(selector, options, inputRef, a11yConfig.a11yStatusMessage);
39-
const { refs, floatingStyles } = useFloatingMenu(isOpen);
39+
// Guard keepMenuOpen so floating-ui (and its autoUpdate scroll/resize listeners) stay disabled
40+
// in always-open mode, matching SingleSelection. keepMenuOpen is only set by the editor preview,
41+
// which renders SingleSelection exclusively, so MultiSelection never receives it at runtime or in
42+
// preview; this is a defensive guard. The inline always-open branch (alwaysOpen on the menu wrapper)
43+
// is intentionally not threaded through MultiSelectionMenu because it is unreachable for multi-select.
44+
const keepMenuOpen = options.keepMenuOpen;
45+
const { refs, floatingStyles } = useFloatingMenu(keepMenuOpen === true ? false : isOpen);
4046
const isSelectedItemsBoxStyle = selector.selectedItemsStyle === "boxes";
4147
const isOptionsSelected = selector.isOptionsSelected();
4248
const inputLabel = getInputLabel(options.inputId);

0 commit comments

Comments
 (0)