@react-hive/honey-layout 17.10.2 → 17.11.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.
@@ -3966,12 +3966,11 @@ __webpack_require__.r(__webpack_exports__);
3966
3966
 
3967
3967
 
3968
3968
 
3969
- const HoneyContextMenu = ({ children, subProps, options, optionProps, roleOptions, context, ...popupProps }) => {
3970
- const { contentProps } = popupProps;
3971
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyPopup__WEBPACK_IMPORTED_MODULE_1__.HoneyPopup, { context: context, content: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContent__WEBPACK_IMPORTED_MODULE_2__.HoneyContextMenuContent, { options: options, optionProps: optionProps, contentProps: contentProps, ...subProps }), roleOptions: {
3969
+ const HoneyContextMenu = ({ children, options, renderOption, optionProps, roleOptions, optionsProps, context, ...props }) => {
3970
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyPopup__WEBPACK_IMPORTED_MODULE_1__.HoneyPopup, { context: context, content: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContent__WEBPACK_IMPORTED_MODULE_2__.HoneyContextMenuContent, { options: options, renderOption: renderOption, optionProps: optionProps, popupProps: props, ...optionsProps }), roleOptions: {
3972
3971
  role: 'menu',
3973
3972
  ...roleOptions,
3974
- }, "data-testid": "honey-context-menu", ...popupProps, children: children }));
3973
+ }, useArrow: true, "data-testid": "honey-context-menu", ...props, children: children }));
3975
3974
  };
3976
3975
 
3977
3976
 
@@ -4014,18 +4013,18 @@ __webpack_require__.r(__webpack_exports__);
4014
4013
 
4015
4014
 
4016
4015
 
4017
- const HoneyContextMenuContent = ({ options, optionProps, floatingOptions, ...popupProps }) => {
4018
- const { contentProps } = popupProps;
4016
+ const HoneyContextMenuContent = ({ options, renderOption, optionProps, popupProps, ...props }) => {
4017
+ const { floatingOptions } = popupProps ?? {};
4019
4018
  const { context, floatingContext } = (0,_HoneyPopup__WEBPACK_IMPORTED_MODULE_4__.useHoneyPopupContext)();
4020
4019
  const visibleOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => options?.filter(option => (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__.isFunction)(option.visible)
4021
4020
  ? option.visible({ context, floatingContext })
4022
4021
  : option.visible !== false), [options]);
4023
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyList__WEBPACK_IMPORTED_MODULE_3__.HoneyList, { items: visibleOptions, itemKey: "id", emptyContent: "No options", "data-testid": "honey-context-menu-options", children: option => option.options?.length ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyPopup__WEBPACK_IMPORTED_MODULE_4__.HoneyPopup, { context: context, content: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(HoneyContextMenuContent, { options: option.options, optionProps: optionProps, contentProps: contentProps }), event: "hover", referenceProps: {
4022
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyList__WEBPACK_IMPORTED_MODULE_3__.HoneyList, { items: visibleOptions, itemKey: "id", "data-testid": "honey-context-menu-options", ...props, children: option => option.options?.length ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyPopup__WEBPACK_IMPORTED_MODULE_4__.HoneyPopup, { context: context, content: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(HoneyContextMenuContent, { options: option.options, renderOption: renderOption, optionProps: optionProps, popupProps: popupProps, ...props }), event: "hover", referenceProps: {
4024
4023
  $width: '100%',
4025
4024
  }, floatingOptions: {
4026
4025
  placement: 'right-start',
4027
4026
  ...floatingOptions,
4028
- }, useArrow: true, "data-testid": "honey-sub-context-menu", ...popupProps, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_5__.HoneyContextMenuContentOption, { option: option, ...optionProps, children: option.label }) })) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_5__.HoneyContextMenuContentOption, { option: option, ...optionProps })) }));
4027
+ }, useArrow: true, "data-testid": "honey-sub-context-menu", ...popupProps, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_5__.HoneyContextMenuContentOption, { option: option, renderOption: renderOption, ...optionProps }) })) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_5__.HoneyContextMenuContentOption, { option: option, renderOption: renderOption, ...optionProps })) }));
4029
4028
  };
4030
4029
 
4031
4030
 
@@ -4050,11 +4049,11 @@ __webpack_require__.r(__webpack_exports__);
4050
4049
 
4051
4050
 
4052
4051
 
4053
- const HoneyContextMenuContentOption = ({ option, ...props }) => {
4052
+ const HoneyContextMenuContentOption = ({ option, renderOption, ...props }) => {
4054
4053
  const { context, floatingContext } = (0,_HoneyPopup__WEBPACK_IMPORTED_MODULE_2__.useHoneyPopupContext)();
4055
4054
  const isDisabled = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(option.disabled)
4056
4055
  ? option.disabled({ context, floatingContext })
4057
- : option.disabled === false;
4056
+ : option.disabled === true;
4058
4057
  const handleClick = () => {
4059
4058
  if (!isDisabled) {
4060
4059
  option.onClick?.({ context, floatingContext });
@@ -4062,7 +4061,7 @@ const HoneyContextMenuContentOption = ({ option, ...props }) => {
4062
4061
  };
4063
4062
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOptionStyled__WEBPACK_IMPORTED_MODULE_3__.HoneyContextMenuContentOptionStyled, { onClick: handleClick,
4064
4063
  // ARIA
4065
- role: "menuitem", "aria-disabled": isDisabled, "data-testid": "honey-context-menu-option", ...props, children: option.label }));
4064
+ role: "menuitem", "aria-disabled": isDisabled, "data-testid": "honey-context-menu-option", ...props, children: renderOption?.(option) ?? option.label }));
4066
4065
  };
4067
4066
 
4068
4067
 
@@ -4086,6 +4085,7 @@ __webpack_require__.r(__webpack_exports__);
4086
4085
 
4087
4086
  const HoneyContextMenuContentOptionStyled = (0,_react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__.styled)((0,_HoneyFlex__WEBPACK_IMPORTED_MODULE_1__.HoneyFlex), {
4088
4087
  row: true,
4088
+ centerY: true,
4089
4089
  }) `
4090
4090
  cursor: pointer;
4091
4091
  `;