@sproutsocial/seeds-react-menu 1.6.0 → 1.6.2
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 +14 -0
- package/dist/esm/index.js +22 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +22 -20
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ActionMenu/ActionMenu.stories.tsx +20 -1
- package/src/Autocomplete/AutocompleteTypes.ts +1 -0
- package/src/Autocomplete/MultiAutocomplete.tsx +2 -1
- package/src/Autocomplete/SingleAutocomplete.tsx +2 -1
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +18 -3
- package/src/MenuGroup/__tests__/MenuGroup.test.tsx +33 -0
- package/src/MenuGroup/__tests__/MenuGroup.typetest.tsx +5 -0
- package/src/hooks/useMenuChildren.tsx +23 -22
- package/src/types.ts +2 -4
package/dist/index.d.mts
CHANGED
|
@@ -280,7 +280,7 @@ type TypeChildrenOrItems<I extends TypeMenuItemProps = TypeMenuItemProps> = Type
|
|
|
280
280
|
menuItems: I[];
|
|
281
281
|
MenuItemComponent?: React.ComponentType<I>;
|
|
282
282
|
});
|
|
283
|
-
type TypeNotEmptyChildren = React.
|
|
283
|
+
type TypeNotEmptyChildren = Exclude<React.ReactNode, null | undefined>;
|
|
284
284
|
type TypeInputEventListeners = "onKeyDown" | "onChange" | "onInput" | "onBlur" | "onClick" | "refKey";
|
|
285
285
|
type TypeDownshiftMergedInputProps<B> = Pick<UseComboboxGetInputPropsOptions, TypeInputEventListeners> & Omit<Partial<B>, TypeInputEventListeners>;
|
|
286
286
|
|
|
@@ -535,6 +535,7 @@ type TypeBaseAutocompleteProps = TypeHigherOrderComponentProps & TypeDownshiftCo
|
|
|
535
535
|
/** Set multiSelect to true to allow multiple selections.
|
|
536
536
|
* Default: false*/
|
|
537
537
|
multiSelect?: boolean;
|
|
538
|
+
autoCloseOnEmpty?: boolean;
|
|
538
539
|
};
|
|
539
540
|
type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeBaseAutocompleteProps & {
|
|
540
541
|
multiSelect?: false;
|
|
@@ -662,7 +663,7 @@ declare const useMenuChildren: <I extends TypeMenuItemProps = TypeMenuItemProps>
|
|
|
662
663
|
menuItemsMap: {
|
|
663
664
|
[key: string]: TypeInternalItemProps<TypeMenuItemProps>;
|
|
664
665
|
};
|
|
665
|
-
children:
|
|
666
|
+
children: string | number | true | React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | React__default.ReactPortal;
|
|
666
667
|
};
|
|
667
668
|
|
|
668
669
|
declare const useSelectStateReducer: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
|
package/dist/index.d.ts
CHANGED
|
@@ -280,7 +280,7 @@ type TypeChildrenOrItems<I extends TypeMenuItemProps = TypeMenuItemProps> = Type
|
|
|
280
280
|
menuItems: I[];
|
|
281
281
|
MenuItemComponent?: React.ComponentType<I>;
|
|
282
282
|
});
|
|
283
|
-
type TypeNotEmptyChildren = React.
|
|
283
|
+
type TypeNotEmptyChildren = Exclude<React.ReactNode, null | undefined>;
|
|
284
284
|
type TypeInputEventListeners = "onKeyDown" | "onChange" | "onInput" | "onBlur" | "onClick" | "refKey";
|
|
285
285
|
type TypeDownshiftMergedInputProps<B> = Pick<UseComboboxGetInputPropsOptions, TypeInputEventListeners> & Omit<Partial<B>, TypeInputEventListeners>;
|
|
286
286
|
|
|
@@ -535,6 +535,7 @@ type TypeBaseAutocompleteProps = TypeHigherOrderComponentProps & TypeDownshiftCo
|
|
|
535
535
|
/** Set multiSelect to true to allow multiple selections.
|
|
536
536
|
* Default: false*/
|
|
537
537
|
multiSelect?: boolean;
|
|
538
|
+
autoCloseOnEmpty?: boolean;
|
|
538
539
|
};
|
|
539
540
|
type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeBaseAutocompleteProps & {
|
|
540
541
|
multiSelect?: false;
|
|
@@ -662,7 +663,7 @@ declare const useMenuChildren: <I extends TypeMenuItemProps = TypeMenuItemProps>
|
|
|
662
663
|
menuItemsMap: {
|
|
663
664
|
[key: string]: TypeInternalItemProps<TypeMenuItemProps>;
|
|
664
665
|
};
|
|
665
|
-
children:
|
|
666
|
+
children: string | number | true | React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | React__default.ReactPortal;
|
|
666
667
|
};
|
|
667
668
|
|
|
668
669
|
declare const useSelectStateReducer: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
|
package/dist/index.js
CHANGED
|
@@ -2203,10 +2203,11 @@ var walkAllChildren = (children, callback) => {
|
|
|
2203
2203
|
if (element === null || element === void 0) return;
|
|
2204
2204
|
callback(element, parents2);
|
|
2205
2205
|
const newParents = [...parents2, element];
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2206
|
+
if (import_react4.default.isValidElement(element) && element.props?.children) {
|
|
2207
|
+
import_react4.default.Children.toArray(element.props.children).forEach((child) => {
|
|
2208
|
+
walk(child, newParents);
|
|
2209
|
+
});
|
|
2210
|
+
}
|
|
2210
2211
|
};
|
|
2211
2212
|
const parents = [];
|
|
2212
2213
|
import_react4.default.Children.toArray(children).forEach((child) => {
|
|
@@ -2250,21 +2251,20 @@ var addItemsFromGroup = ({
|
|
|
2250
2251
|
});
|
|
2251
2252
|
});
|
|
2252
2253
|
} else if (menuGroup.props.children) {
|
|
2253
|
-
|
|
2254
|
-
if (!Array.isArray(children)) {
|
|
2255
|
-
children = [children];
|
|
2256
|
-
}
|
|
2254
|
+
const children = import_react4.default.Children.toArray(menuGroup.props.children);
|
|
2257
2255
|
children.forEach((menuItem) => {
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2256
|
+
if (import_react4.default.isValidElement(menuItem)) {
|
|
2257
|
+
addMenuItem({
|
|
2258
|
+
itemProps: {
|
|
2259
|
+
id: menuItem.props.id,
|
|
2260
|
+
disabled: menuItem.props.disabled,
|
|
2261
|
+
menuItemProps: menuItem.props,
|
|
2262
|
+
menuGroupProps: menuGroup.props
|
|
2263
|
+
},
|
|
2264
|
+
allMenuItems,
|
|
2265
|
+
menuItemsMap
|
|
2266
|
+
});
|
|
2267
|
+
}
|
|
2268
2268
|
});
|
|
2269
2269
|
}
|
|
2270
2270
|
};
|
|
@@ -3741,6 +3741,7 @@ var SingleAutocomplete = ({
|
|
|
3741
3741
|
MenuItemComponent,
|
|
3742
3742
|
itemToString: itemToString2 = itemToString,
|
|
3743
3743
|
getIsItemVisible,
|
|
3744
|
+
autoCloseOnEmpty = true,
|
|
3744
3745
|
...useComboboxProps
|
|
3745
3746
|
}) => {
|
|
3746
3747
|
const { allMenuItems, children } = useMenuChildren({
|
|
@@ -3774,6 +3775,7 @@ var SingleAutocomplete = ({
|
|
|
3774
3775
|
{
|
|
3775
3776
|
...{
|
|
3776
3777
|
isListbox: true,
|
|
3778
|
+
autoCloseOnEmpty,
|
|
3777
3779
|
items: allMenuItems,
|
|
3778
3780
|
itemToString: itemToString2,
|
|
3779
3781
|
...useComboboxProps,
|
|
@@ -3784,7 +3786,6 @@ var SingleAutocomplete = ({
|
|
|
3784
3786
|
focusOnContent: false,
|
|
3785
3787
|
...userPopoutProps
|
|
3786
3788
|
},
|
|
3787
|
-
autoCloseOnEmpty: true,
|
|
3788
3789
|
children
|
|
3789
3790
|
}
|
|
3790
3791
|
);
|
|
@@ -3810,6 +3811,7 @@ var MultiAutocomplete = ({
|
|
|
3810
3811
|
getA11yMultiStatusMessage,
|
|
3811
3812
|
onMultiSelectStateChange,
|
|
3812
3813
|
multiSelectStateReducer,
|
|
3814
|
+
autoCloseOnEmpty = true,
|
|
3813
3815
|
...useComboboxProps
|
|
3814
3816
|
}) => {
|
|
3815
3817
|
const { allMenuItems, children } = useMenuChildren({
|
|
@@ -3912,6 +3914,7 @@ var MultiAutocomplete = ({
|
|
|
3912
3914
|
{
|
|
3913
3915
|
...{
|
|
3914
3916
|
isListbox: true,
|
|
3917
|
+
autoCloseOnEmpty,
|
|
3915
3918
|
items: allMenuItems,
|
|
3916
3919
|
itemToString: itemToString2,
|
|
3917
3920
|
initialSelectedItems,
|
|
@@ -3929,7 +3932,6 @@ var MultiAutocomplete = ({
|
|
|
3929
3932
|
focusOnContent: false,
|
|
3930
3933
|
...userPopoutProps
|
|
3931
3934
|
},
|
|
3932
|
-
autoCloseOnEmpty: true,
|
|
3933
3935
|
children
|
|
3934
3936
|
}
|
|
3935
3937
|
);
|