diff --git a/.changeset/old-tips-juggle.md b/.changeset/old-tips-juggle.md new file mode 100644 index 0000000000..59a96102e9 --- /dev/null +++ b/.changeset/old-tips-juggle.md @@ -0,0 +1,5 @@ +--- +'@backstage/ui': patch +--- + +Add new `virtualized`, `maxWidth` and `maxHeight` props to `Menu`, `MenuListBox`, `MenuAutocomplete` and `MenuAutocompleteListBox` to allow for virtalization of long lists inside menus. diff --git a/packages/ui/report.api.md b/packages/ui/report.api.md index 1f1664b9e9..3d8518bad7 100644 --- a/packages/ui/report.api.md +++ b/packages/ui/report.api.md @@ -516,6 +516,7 @@ export const componentDefinitions: { readonly item: 'bui-MenuItem'; readonly itemListBox: 'bui-MenuItemListBox'; readonly itemListBoxCheck: 'bui-MenuItemListBoxCheck'; + readonly itemWrapper: 'bui-MenuItemWrapper'; readonly itemContent: 'bui-MenuItemContent'; readonly itemArrow: 'bui-MenuItemArrow'; readonly separator: 'bui-MenuSeparator'; @@ -1277,9 +1278,15 @@ export interface MenuAutocompleteListBoxProps extends ListBoxProps, Omit, 'children'> { // (undocumented) + maxHeight?: string; + // (undocumented) + maxWidth?: string; + // (undocumented) placeholder?: string; // (undocumented) placement?: PopoverProps['placement']; + // (undocumented) + virtualized?: boolean; } // @public (undocumented) @@ -1287,9 +1294,15 @@ export interface MenuAutocompleteProps extends MenuProps_2, Omit, 'children'> { // (undocumented) + maxHeight?: string; + // (undocumented) + maxWidth?: string; + // (undocumented) placeholder?: string; // (undocumented) placement?: PopoverProps['placement']; + // (undocumented) + virtualized?: boolean; } // @public (undocumented) @@ -1326,7 +1339,13 @@ export interface MenuListBoxProps extends ListBoxProps, Omit, 'children'> { // (undocumented) + maxHeight?: string; + // (undocumented) + maxWidth?: string; + // (undocumented) placement?: PopoverProps['placement']; + // (undocumented) + virtualized?: boolean; } // @public (undocumented) @@ -1334,7 +1353,13 @@ export interface MenuProps extends MenuProps_2, Omit, 'children'> { // (undocumented) + maxHeight?: string; + // (undocumented) + maxWidth?: string; + // (undocumented) placement?: PopoverProps['placement']; + // (undocumented) + virtualized?: boolean; } // @public (undocumented)