@react-hive/honey-layout 17.8.0 → 17.10.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,12 @@ __webpack_require__.r(__webpack_exports__);
3966
3966
 
3967
3967
 
3968
3968
 
3969
- const HoneyContextMenu = ({ children, subProps, options, optionProps, clickOptions, context, ...popupProps }) => {
3969
+ const HoneyContextMenu = ({ children, subProps, options, optionProps, roleOptions, context, ...popupProps }) => {
3970
3970
  const { contentProps } = popupProps;
3971
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (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 }), clickOptions: {
3972
- toggle: false,
3973
- ...clickOptions,
3974
- }, useArrow: true, ...popupProps, children: children }) }));
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: {
3972
+ role: 'menu',
3973
+ ...roleOptions,
3974
+ }, "data-testid": "honey-context-menu", ...popupProps, children: children }));
3975
3975
  };
3976
3976
 
3977
3977
 
@@ -4004,9 +4004,11 @@ __webpack_require__.r(__webpack_exports__);
4004
4004
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.7/node_modules/react/jsx-runtime.js");
4005
4005
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
4006
4006
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
4007
- /* harmony import */ var _HoneyList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../HoneyList */ "./src/components/HoneyList/index.ts");
4008
- /* harmony import */ var _HoneyPopup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../HoneyPopup */ "./src/components/HoneyPopup/index.ts");
4009
- /* harmony import */ var _HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./HoneyContextMenuContentOption */ "./src/components/HoneyContextMenu/HoneyContextMenuContentOption.tsx");
4007
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@4.0.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4008
+ /* harmony import */ var _HoneyList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../HoneyList */ "./src/components/HoneyList/index.ts");
4009
+ /* harmony import */ var _HoneyPopup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../HoneyPopup */ "./src/components/HoneyPopup/index.ts");
4010
+ /* harmony import */ var _HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HoneyContextMenuContentOption */ "./src/components/HoneyContextMenu/HoneyContextMenuContentOption.tsx");
4011
+
4010
4012
 
4011
4013
 
4012
4014
 
@@ -4014,16 +4016,16 @@ __webpack_require__.r(__webpack_exports__);
4014
4016
 
4015
4017
  const HoneyContextMenuContent = ({ options, optionProps, floatingOptions, ...popupProps }) => {
4016
4018
  const { contentProps } = popupProps;
4017
- const { context, floatingContext } = (0,_HoneyPopup__WEBPACK_IMPORTED_MODULE_3__.useHoneyPopupContext)();
4018
- const visibleOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => options?.filter(option => typeof option.visible === 'function'
4019
+ const { context, floatingContext } = (0,_HoneyPopup__WEBPACK_IMPORTED_MODULE_4__.useHoneyPopupContext)();
4020
+ const visibleOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => options?.filter(option => (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__.isFunction)(option.visible)
4019
4021
  ? option.visible({ context, floatingContext })
4020
4022
  : option.visible !== false), [options]);
4021
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyList__WEBPACK_IMPORTED_MODULE_2__.HoneyList, { items: visibleOptions, itemKey: "id", emptyContent: "No options", children: option => option.options?.length ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyPopup__WEBPACK_IMPORTED_MODULE_3__.HoneyPopup, { context: context, content: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(HoneyContextMenuContent, { options: option.options, optionProps: optionProps, contentProps: contentProps }), event: "hover", referenceProps: {
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
4024
  $width: '100%',
4023
4025
  }, floatingOptions: {
4024
4026
  placement: 'right-start',
4025
4027
  ...floatingOptions,
4026
- }, useArrow: true, ...popupProps, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_4__.HoneyContextMenuContentOption, { option: option, ...optionProps, children: option.label }) })) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOption__WEBPACK_IMPORTED_MODULE_4__.HoneyContextMenuContentOption, { option: option, ...optionProps })) }));
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
4029
  };
4028
4030
 
4029
4031
 
@@ -4041,8 +4043,10 @@ __webpack_require__.r(__webpack_exports__);
4041
4043
  /* harmony export */ HoneyContextMenuContentOption: () => (/* binding */ HoneyContextMenuContentOption)
4042
4044
  /* harmony export */ });
4043
4045
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.7/node_modules/react/jsx-runtime.js");
4044
- /* harmony import */ var _HoneyBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HoneyBox */ "./src/components/HoneyBox/index.ts");
4046
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@4.0.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4045
4047
  /* harmony import */ var _HoneyPopup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../HoneyPopup */ "./src/components/HoneyPopup/index.ts");
4048
+ /* harmony import */ var _HoneyContextMenuContentOptionStyled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HoneyContextMenuContentOptionStyled */ "./src/components/HoneyContextMenu/HoneyContextMenuContentOptionStyled.ts");
4049
+
4046
4050
 
4047
4051
 
4048
4052
 
@@ -4051,10 +4055,38 @@ const HoneyContextMenuContentOption = ({ option, ...props }) => {
4051
4055
  const handleClick = () => {
4052
4056
  option.onClick?.({ context, floatingContext });
4053
4057
  };
4054
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyBox__WEBPACK_IMPORTED_MODULE_1__.HoneyBox, { onClick: handleClick, ...props, children: option.label }));
4058
+ const isDisabled = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(option.disabled)
4059
+ ? option.disabled({ context, floatingContext })
4060
+ : option.disabled !== false;
4061
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyContextMenuContentOptionStyled__WEBPACK_IMPORTED_MODULE_3__.HoneyContextMenuContentOptionStyled, { onClick: handleClick,
4062
+ // ARIA
4063
+ role: "menuitem", "aria-disabled": isDisabled, "data-testid": "honey-context-menu-option", ...props, children: option.label }));
4055
4064
  };
4056
4065
 
4057
4066
 
4067
+ /***/ },
4068
+
4069
+ /***/ "./src/components/HoneyContextMenu/HoneyContextMenuContentOptionStyled.ts"
4070
+ /*!********************************************************************************!*\
4071
+ !*** ./src/components/HoneyContextMenu/HoneyContextMenuContentOptionStyled.ts ***!
4072
+ \********************************************************************************/
4073
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4074
+
4075
+ "use strict";
4076
+ __webpack_require__.r(__webpack_exports__);
4077
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4078
+ /* harmony export */ HoneyContextMenuContentOptionStyled: () => (/* binding */ HoneyContextMenuContentOptionStyled)
4079
+ /* harmony export */ });
4080
+ /* harmony import */ var _react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @react-hive/honey-style */ "@react-hive/honey-style");
4081
+ /* harmony import */ var _react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__);
4082
+ /* harmony import */ var _HoneyFlex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../HoneyFlex */ "./src/components/HoneyFlex/index.ts");
4083
+
4084
+
4085
+ const HoneyContextMenuContentOptionStyled = (0,_react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__.styled)((0,_HoneyFlex__WEBPACK_IMPORTED_MODULE_1__.HoneyFlex), {
4086
+ row: true,
4087
+ }) ``;
4088
+
4089
+
4058
4090
  /***/ },
4059
4091
 
4060
4092
  /***/ "./src/components/HoneyContextMenu/index.ts"
@@ -4066,10 +4098,13 @@ const HoneyContextMenuContentOption = ({ option, ...props }) => {
4066
4098
  "use strict";
4067
4099
  __webpack_require__.r(__webpack_exports__);
4068
4100
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4069
- /* harmony export */ HoneyContextMenu: () => (/* reexport safe */ _HoneyContextMenu__WEBPACK_IMPORTED_MODULE_1__.HoneyContextMenu)
4101
+ /* harmony export */ HoneyContextMenu: () => (/* reexport safe */ _HoneyContextMenu__WEBPACK_IMPORTED_MODULE_1__.HoneyContextMenu),
4102
+ /* harmony export */ HoneyContextMenuContentOptionStyled: () => (/* reexport safe */ _HoneyContextMenuContentOptionStyled__WEBPACK_IMPORTED_MODULE_2__.HoneyContextMenuContentOptionStyled)
4070
4103
  /* harmony export */ });
4071
4104
  /* harmony import */ var _HoneyContextMenu_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HoneyContextMenu.types */ "./src/components/HoneyContextMenu/HoneyContextMenu.types.ts");
4072
4105
  /* harmony import */ var _HoneyContextMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HoneyContextMenu */ "./src/components/HoneyContextMenu/HoneyContextMenu.tsx");
4106
+ /* harmony import */ var _HoneyContextMenuContentOptionStyled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HoneyContextMenuContentOptionStyled */ "./src/components/HoneyContextMenu/HoneyContextMenuContentOptionStyled.ts");
4107
+
4073
4108
 
4074
4109
 
4075
4110
 
@@ -5444,6 +5479,7 @@ __webpack_require__.r(__webpack_exports__);
5444
5479
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5445
5480
  /* harmony export */ HoneyBox: () => (/* reexport safe */ _HoneyBox__WEBPACK_IMPORTED_MODULE_0__.HoneyBox),
5446
5481
  /* harmony export */ HoneyContextMenu: () => (/* reexport safe */ _HoneyContextMenu__WEBPACK_IMPORTED_MODULE_9__.HoneyContextMenu),
5482
+ /* harmony export */ HoneyContextMenuContentOptionStyled: () => (/* reexport safe */ _HoneyContextMenu__WEBPACK_IMPORTED_MODULE_9__.HoneyContextMenuContentOptionStyled),
5447
5483
  /* harmony export */ HoneyFlex: () => (/* reexport safe */ _HoneyFlex__WEBPACK_IMPORTED_MODULE_1__.HoneyFlex),
5448
5484
  /* harmony export */ HoneyGrid: () => (/* reexport safe */ _HoneyGrid__WEBPACK_IMPORTED_MODULE_2__.HoneyGrid),
5449
5485
  /* harmony export */ HoneyGridColumn: () => (/* reexport safe */ _HoneyGridColumn__WEBPACK_IMPORTED_MODULE_3__.HoneyGridColumn),
@@ -14798,6 +14834,7 @@ __webpack_require__.r(__webpack_exports__);
14798
14834
  /* harmony export */ HONEY_LAYOUT_CSS_PROPERTY_PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.HONEY_LAYOUT_CSS_PROPERTY_PREFIX),
14799
14835
  /* harmony export */ HoneyBox: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyBox),
14800
14836
  /* harmony export */ HoneyContextMenu: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyContextMenu),
14837
+ /* harmony export */ HoneyContextMenuContentOptionStyled: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyContextMenuContentOptionStyled),
14801
14838
  /* harmony export */ HoneyFlex: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyFlex),
14802
14839
  /* harmony export */ HoneyGrid: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyGrid),
14803
14840
  /* harmony export */ HoneyGridColumn: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyGridColumn),