@televet/kibble-ui 1.8.0-beta.3ygebpe.2 → 1.8.0

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.
@@ -10,10 +10,6 @@ export interface MenuListProps extends CMenuListProps {
10
10
  onMenuItemSelect?: ((selectedItem: MenuItemProps) => void) | ((selectedItem: MenuItemProps) => Promise<void>);
11
11
  onMenuItemSelectAll?: ((selectedItems: MenuItemProps[]) => void) | ((selectedItems: MenuItemProps[]) => Promise<void>);
12
12
  searchPlaceholder?: string;
13
- minW?: string;
14
- maxW?: string;
15
- maxH?: string;
16
- isMatchWidthSet?: boolean;
17
13
  }
18
- declare const MenuList: ({ canSelectAll, canSelectGroups, children, isGrouped, isMatchWidthSet, isMultiSelect, isSearchable, menuItems, onMenuItemSelect, onMenuItemSelectAll, searchPlaceholder, minW, maxW, maxH, ...rest }: MenuListProps) => JSX.Element;
14
+ declare const MenuList: ({ canSelectAll, canSelectGroups, children, isGrouped, isMultiSelect, isSearchable, menuItems, onMenuItemSelect, onMenuItemSelectAll, searchPlaceholder, ...rest }: MenuListProps) => JSX.Element;
19
15
  export default MenuList;
@@ -1,14 +1,16 @@
1
1
  import { FunctionComponent, ReactNode } from 'react';
2
2
  import { MenuProps as CMenuProps } from '@chakra-ui/react';
3
+ import { MenuContainerProps } from './Components/MenuContainer/menuContainer.component';
3
4
  import { MenuButtonProps } from './Components/MenuButton/menuButton.component';
4
5
  import { MenuItemProps } from './Components/MenuItem/menuItem.component';
5
6
  import { MenuListProps } from './Components/MenuList/menuList.component';
6
7
  export interface MenuProps extends Omit<CMenuProps, 'children'> {
7
8
  buttonConfig?: MenuButtonProps;
9
+ containerConfig?: MenuContainerProps;
8
10
  CustomTriggerElement?: FunctionComponent;
9
11
  listConfig?: MenuListProps;
10
12
  menuItems: MenuItemProps[];
11
13
  onMenuClose?: (value: (string | undefined)[]) => void;
12
14
  children?: ReactNode;
13
15
  }
14
- export declare const BetaMenu: ({ buttonConfig, CustomTriggerElement, listConfig, menuItems, onMenuClose, isLazy, ...props }: MenuProps) => JSX.Element;
16
+ export declare const BetaMenu: ({ buttonConfig, containerConfig, CustomTriggerElement, listConfig, menuItems, onMenuClose, ...props }: MenuProps) => JSX.Element;
package/build/index.js CHANGED
@@ -6318,8 +6318,9 @@ var MenuSelectAllButtons = function (_a) {
6318
6318
  };
6319
6319
 
6320
6320
  var MenuList = function (_a) {
6321
- var _b = _a.canSelectAll, canSelectAll = _b === void 0 ? false : _b, _c = _a.canSelectGroups, canSelectGroups = _c === void 0 ? false : _c, children = _a.children, _d = _a.isGrouped, isGrouped = _d === void 0 ? false : _d, isMatchWidthSet = _a.isMatchWidthSet, _e = _a.isMultiSelect, isMultiSelect = _e === void 0 ? false : _e, _f = _a.isSearchable, isSearchable = _f === void 0 ? false : _f, menuItems = _a.menuItems, onMenuItemSelect = _a.onMenuItemSelect, onMenuItemSelectAll = _a.onMenuItemSelectAll, searchPlaceholder = _a.searchPlaceholder, _g = _a.minW, minW = _g === void 0 ? '240px' : _g, maxW = _a.maxW, _h = _a.maxH, maxH = _h === void 0 ? '480px' : _h, rest = __rest(_a, ["canSelectAll", "canSelectGroups", "children", "isGrouped", "isMatchWidthSet", "isMultiSelect", "isSearchable", "menuItems", "onMenuItemSelect", "onMenuItemSelectAll", "searchPlaceholder", "minW", "maxW", "maxH"]);
6322
- var _j = useMenuContext(), filteredMenuItems = _j.filteredMenuItems, setFilteredMenuItems = _j.setFilteredMenuItems, groups = _j.groups, setGroups = _j.setGroups, focusedItemIndex = _j.focusedItemIndex, setFocusedItemIndex = _j.setFocusedItemIndex, searchInputRef = _j.searchInputRef, menuItemRefs = _j.menuItemRefs;
6321
+ // TODO: Add maxHeight and scrollability to menu list
6322
+ var _b = _a.canSelectAll, canSelectAll = _b === void 0 ? false : _b, _c = _a.canSelectGroups, canSelectGroups = _c === void 0 ? false : _c, children = _a.children, _d = _a.isGrouped, isGrouped = _d === void 0 ? false : _d, _e = _a.isMultiSelect, isMultiSelect = _e === void 0 ? false : _e, _f = _a.isSearchable, isSearchable = _f === void 0 ? false : _f, menuItems = _a.menuItems, onMenuItemSelect = _a.onMenuItemSelect, onMenuItemSelectAll = _a.onMenuItemSelectAll, searchPlaceholder = _a.searchPlaceholder, rest = __rest(_a, ["canSelectAll", "canSelectGroups", "children", "isGrouped", "isMultiSelect", "isSearchable", "menuItems", "onMenuItemSelect", "onMenuItemSelectAll", "searchPlaceholder"]);
6323
+ var _g = useMenuContext(), filteredMenuItems = _g.filteredMenuItems, setFilteredMenuItems = _g.setFilteredMenuItems, groups = _g.groups, setGroups = _g.setGroups, focusedItemIndex = _g.focusedItemIndex, setFocusedItemIndex = _g.setFocusedItemIndex, searchInputRef = _g.searchInputRef, menuItemRefs = _g.menuItemRefs;
6323
6324
  var focusNextListItem = React.useCallback(function (direction) {
6324
6325
  var _a, _b;
6325
6326
  if (!(menuItemRefs === null || menuItemRefs === void 0 ? void 0 : menuItemRefs.current))
@@ -6432,10 +6433,7 @@ var MenuList = function (_a) {
6432
6433
  if (children) {
6433
6434
  return React__default["default"].createElement(react.MenuList, __assign({}, rest), children);
6434
6435
  }
6435
- if (!isMatchWidthSet) {
6436
- maxW = '320px';
6437
- }
6438
- return (React__default["default"].createElement(react.MenuList, __assign({}, rest, { maxW: maxW, maxH: maxH, minW: minW, overflow: "hidden auto" }),
6436
+ return (React__default["default"].createElement(react.MenuList, __assign({}, rest),
6439
6437
  (isSearchable || (canSelectAll && isMultiSelect)) && (React__default["default"].createElement(react.Box, { className: "menu-list__header", m: "0 12px 8px" },
6440
6438
  isSearchable && (React__default["default"].createElement(MenuSearchBar, { handleKeyboardNavigation: handleKeyboardNavigation, menuItems: menuItems || [], searchInputRef: searchInputRef, setFilteredMenuItems: setFilteredMenuItems, placeholder: searchPlaceholder })),
6441
6439
  canSelectAll && isMultiSelect && (React__default["default"].createElement(MenuSelectAllButtons, { handleToggleAllItems: handleToggleAllItems, hasSelectedItems: Boolean(filteredMenuItems === null || filteredMenuItems === void 0 ? void 0 : filteredMenuItems.find(function (item) { return item.isSelected; })), isGrouped: false })))),
@@ -6457,13 +6455,13 @@ var MenuList = function (_a) {
6457
6455
  };
6458
6456
 
6459
6457
  var BetaMenu = function (_a) {
6460
- var buttonConfig = _a.buttonConfig, CustomTriggerElement = _a.CustomTriggerElement, listConfig = _a.listConfig, menuItems = _a.menuItems, onMenuClose = _a.onMenuClose, _b = _a.isLazy, isLazy = _b === void 0 ? true : _b, props = __rest(_a, ["buttonConfig", "CustomTriggerElement", "listConfig", "menuItems", "onMenuClose", "isLazy"]);
6458
+ var buttonConfig = _a.buttonConfig, containerConfig = _a.containerConfig, CustomTriggerElement = _a.CustomTriggerElement, listConfig = _a.listConfig, menuItems = _a.menuItems, onMenuClose = _a.onMenuClose, props = __rest(_a, ["buttonConfig", "containerConfig", "CustomTriggerElement", "listConfig", "menuItems", "onMenuClose"]);
6461
6459
  return (React__default["default"].createElement(MenuProvider, { menuItems: menuItems, onMenuClose: onMenuClose },
6462
- React__default["default"].createElement(MenuContainer, __assign({ isLazy: isLazy }, props),
6460
+ React__default["default"].createElement(MenuContainer, __assign({}, containerConfig, props),
6463
6461
  CustomTriggerElement ? (
6464
6462
  // @ts-ignore
6465
6463
  React__default["default"].createElement(CustomTriggerElement, { as: react.MenuButton })) : (React__default["default"].createElement(MenuButton, __assign({}, buttonConfig))),
6466
- React__default["default"].createElement(MenuList, __assign({}, listConfig, { isMatchWidthSet: props.matchWidth, menuItems: menuItems })))));
6464
+ React__default["default"].createElement(MenuList, __assign({}, listConfig, { menuItems: menuItems })))));
6467
6465
  };
6468
6466
 
6469
6467
  // @ts-ignore