@sproutsocial/seeds-react-menu 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +16 -0
- package/dist/esm/index.js +156 -113
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +168 -126
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Autocomplete/MultiAutocomplete.tsx +3 -0
- package/src/Autocomplete/SingleAutocomplete.tsx +3 -7
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +21 -0
- package/src/MenuContent/DefaultMenuEmptyState.tsx +17 -0
- package/src/MenuContent/MenuContent.tsx +15 -2
- package/src/MenuContent/MenuContentTypes.ts +2 -0
- package/src/MenuContent/__tests__/MenuContent.test.tsx +38 -17
- package/src/MenuContext.tsx +14 -0
- package/src/MenuItem/__tests__/MenuItem.test.tsx +11 -14
- package/src/MenuRoot/MenuRoot.tsx +9 -2
- package/src/SingleSelectMenu/SingleSelectMenu.stories.tsx +44 -0
- package/src/menuTestingUtils.tsx +12 -7
package/dist/index.d.mts
CHANGED
|
@@ -113,6 +113,8 @@ interface TypeMenuContextProps extends TypeAllDownshiftProps, TypeMenuContextBas
|
|
|
113
113
|
[key: string]: boolean;
|
|
114
114
|
};
|
|
115
115
|
isListbox?: boolean;
|
|
116
|
+
hasVisibleItems?: boolean;
|
|
117
|
+
autoCloseOnEmpty?: boolean;
|
|
116
118
|
}
|
|
117
119
|
interface TypeMenuContext extends TypeMenuContextProps {
|
|
118
120
|
itemsMap: {
|
|
@@ -120,6 +122,7 @@ interface TypeMenuContext extends TypeMenuContextProps {
|
|
|
120
122
|
};
|
|
121
123
|
isItemSelected: (id: string) => boolean;
|
|
122
124
|
getInputComponentProps: (props: Pick<TypeTokenInputProps, "inputProps"> & Parameters<Required<TypeMenuContextProps>["getInputProps"]>[0]) => Omit<TypeDownshiftMergedInputProps<TypeTokenInputProps>, "onClick">;
|
|
125
|
+
isInitialized?: boolean;
|
|
123
126
|
}
|
|
124
127
|
interface TypeMenuProviderProps {
|
|
125
128
|
children: TypeNotEmptyChildren;
|
|
@@ -148,7 +151,7 @@ declare const checkIfItemSelected: ({ id, selectedItem, selectedItemIds, }: {
|
|
|
148
151
|
/**
|
|
149
152
|
* Hook for initializing Menu context
|
|
150
153
|
*/
|
|
151
|
-
declare const useMenu: ({ items, isListbox, isOpen, itemsMap: itemsMapFromProps, selectedItemIds: selectedItemIdsFromProps, selectedItem, selectedItems, getInputProps, contentRef: contentRefFromProps, ...rest }?: Partial<TypeMenuContextProps>) => TypeMenuContext;
|
|
154
|
+
declare const useMenu: ({ items, isListbox, isOpen, itemsMap: itemsMapFromProps, selectedItemIds: selectedItemIdsFromProps, selectedItem, selectedItems, getInputProps, contentRef: contentRefFromProps, autoCloseOnEmpty, hiddenItemsCount, ...rest }?: Partial<TypeMenuContextProps>) => TypeMenuContext;
|
|
152
155
|
/**
|
|
153
156
|
* MenuToggleContext factory, sets the type and the initial object
|
|
154
157
|
* @description Context for the Menu Toggle
|
|
@@ -292,6 +295,7 @@ declare const MenuHeader: ({ children, title, leftAction, rightAction, ...rest }
|
|
|
292
295
|
|
|
293
296
|
type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<React.ComponentPropsWithoutRef<"ul">, "children"> & {
|
|
294
297
|
innerRef?: React.Ref<HTMLUListElement>;
|
|
298
|
+
emptyStateElement?: React.ReactNode;
|
|
295
299
|
} & TypeChildrenOrItems<I>;
|
|
296
300
|
|
|
297
301
|
/**
|
|
@@ -317,7 +321,7 @@ type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omi
|
|
|
317
321
|
* @see {@link https://seeds.sproutsocial.com/components/seeds-react-menu/#menugroup MenuGroup}
|
|
318
322
|
*/
|
|
319
323
|
declare const MenuContent: {
|
|
320
|
-
<I extends TypeMenuItemProps = TypeMenuItemProps>({ id, children: childrenProp, menuItems, MenuItemComponent, onKeyDown, innerRef, ...rest }: TypeMenuContentProps<I>): react_jsx_runtime.JSX.Element | null;
|
|
324
|
+
<I extends TypeMenuItemProps = TypeMenuItemProps>({ id, children: childrenProp, menuItems, MenuItemComponent, onKeyDown, innerRef, emptyStateElement, ...rest }: TypeMenuContentProps<I>): string | number | boolean | Iterable<React$1.ReactNode> | react_jsx_runtime.JSX.Element | null;
|
|
321
325
|
__MENU_PRIMITIVE_TYPE: string;
|
|
322
326
|
};
|
|
323
327
|
|
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,8 @@ interface TypeMenuContextProps extends TypeAllDownshiftProps, TypeMenuContextBas
|
|
|
113
113
|
[key: string]: boolean;
|
|
114
114
|
};
|
|
115
115
|
isListbox?: boolean;
|
|
116
|
+
hasVisibleItems?: boolean;
|
|
117
|
+
autoCloseOnEmpty?: boolean;
|
|
116
118
|
}
|
|
117
119
|
interface TypeMenuContext extends TypeMenuContextProps {
|
|
118
120
|
itemsMap: {
|
|
@@ -120,6 +122,7 @@ interface TypeMenuContext extends TypeMenuContextProps {
|
|
|
120
122
|
};
|
|
121
123
|
isItemSelected: (id: string) => boolean;
|
|
122
124
|
getInputComponentProps: (props: Pick<TypeTokenInputProps, "inputProps"> & Parameters<Required<TypeMenuContextProps>["getInputProps"]>[0]) => Omit<TypeDownshiftMergedInputProps<TypeTokenInputProps>, "onClick">;
|
|
125
|
+
isInitialized?: boolean;
|
|
123
126
|
}
|
|
124
127
|
interface TypeMenuProviderProps {
|
|
125
128
|
children: TypeNotEmptyChildren;
|
|
@@ -148,7 +151,7 @@ declare const checkIfItemSelected: ({ id, selectedItem, selectedItemIds, }: {
|
|
|
148
151
|
/**
|
|
149
152
|
* Hook for initializing Menu context
|
|
150
153
|
*/
|
|
151
|
-
declare const useMenu: ({ items, isListbox, isOpen, itemsMap: itemsMapFromProps, selectedItemIds: selectedItemIdsFromProps, selectedItem, selectedItems, getInputProps, contentRef: contentRefFromProps, ...rest }?: Partial<TypeMenuContextProps>) => TypeMenuContext;
|
|
154
|
+
declare const useMenu: ({ items, isListbox, isOpen, itemsMap: itemsMapFromProps, selectedItemIds: selectedItemIdsFromProps, selectedItem, selectedItems, getInputProps, contentRef: contentRefFromProps, autoCloseOnEmpty, hiddenItemsCount, ...rest }?: Partial<TypeMenuContextProps>) => TypeMenuContext;
|
|
152
155
|
/**
|
|
153
156
|
* MenuToggleContext factory, sets the type and the initial object
|
|
154
157
|
* @description Context for the Menu Toggle
|
|
@@ -292,6 +295,7 @@ declare const MenuHeader: ({ children, title, leftAction, rightAction, ...rest }
|
|
|
292
295
|
|
|
293
296
|
type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<React.ComponentPropsWithoutRef<"ul">, "children"> & {
|
|
294
297
|
innerRef?: React.Ref<HTMLUListElement>;
|
|
298
|
+
emptyStateElement?: React.ReactNode;
|
|
295
299
|
} & TypeChildrenOrItems<I>;
|
|
296
300
|
|
|
297
301
|
/**
|
|
@@ -317,7 +321,7 @@ type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omi
|
|
|
317
321
|
* @see {@link https://seeds.sproutsocial.com/components/seeds-react-menu/#menugroup MenuGroup}
|
|
318
322
|
*/
|
|
319
323
|
declare const MenuContent: {
|
|
320
|
-
<I extends TypeMenuItemProps = TypeMenuItemProps>({ id, children: childrenProp, menuItems, MenuItemComponent, onKeyDown, innerRef, ...rest }: TypeMenuContentProps<I>): react_jsx_runtime.JSX.Element | null;
|
|
324
|
+
<I extends TypeMenuItemProps = TypeMenuItemProps>({ id, children: childrenProp, menuItems, MenuItemComponent, onKeyDown, innerRef, emptyStateElement, ...rest }: TypeMenuContentProps<I>): string | number | boolean | Iterable<React$1.ReactNode> | react_jsx_runtime.JSX.Element | null;
|
|
321
325
|
__MENU_PRIMITIVE_TYPE: string;
|
|
322
326
|
};
|
|
323
327
|
|