@qoretechnologies/reqore 0.71.2 → 0.71.3
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.
|
@@ -2,10 +2,24 @@ import React from 'react';
|
|
|
2
2
|
import { IReqoreTheme, TReqoreIntent } from '../../constants/theme';
|
|
3
3
|
import { IReqoreComponent } from '../../types/global';
|
|
4
4
|
import { IReqoreButtonProps } from '../Button';
|
|
5
|
+
import type { IReqoreDropdownProps } from '../Dropdown';
|
|
6
|
+
import type { TReqoreDropdownItems } from '../Dropdown/list';
|
|
5
7
|
export type TReqoreMenuItemEventHandler = (event: React.MouseEvent<HTMLElement>, itemId?: string, closePopover?: () => void) => void;
|
|
6
8
|
export type TReqoreMenuItemActionEventHandler<Metadata extends Record<string, any> = Record<string, any>> = (event: React.MouseEvent<HTMLElement>, itemId?: string, closePopover?: () => void, metadata?: Metadata) => void;
|
|
7
9
|
export type TReqoreMenuItemAction<Metadata extends Record<string, any> = Record<string, any>> = Omit<IReqoreButtonProps, 'onClick'> & {
|
|
8
10
|
onClick?: TReqoreMenuItemActionEventHandler<Metadata>;
|
|
11
|
+
/**
|
|
12
|
+
* Turns the action into a dropdown: clicking it opens a popover menu of
|
|
13
|
+
* these items — supporting `divider` items to group them — instead of
|
|
14
|
+
* firing `onClick`. Lets a menu row offer a cluster of related shortcuts
|
|
15
|
+
* (e.g. "Show all / Create / …") without leaving the row.
|
|
16
|
+
*/
|
|
17
|
+
actions?: TReqoreDropdownItems;
|
|
18
|
+
/**
|
|
19
|
+
* Extra props forwarded to the underlying `ReqoreDropdown` when `actions`
|
|
20
|
+
* is set — e.g. `placement`, `showCaret`, `filterable`, `label`.
|
|
21
|
+
*/
|
|
22
|
+
actionsProps?: Partial<IReqoreDropdownProps>;
|
|
9
23
|
};
|
|
10
24
|
export interface IReqoreMenuItemProps<Metadata extends Record<string, any> = Record<string, any>> extends IReqoreComponent, IReqoreButtonProps {
|
|
11
25
|
label?: string | number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,IAAI,KACtB,IAAI,CAAC;AAEV,MAAM,MAAM,iCAAiC,CAC3C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACxD,CACF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,QAAQ,CAAC,EAAE,QAAQ,KAChB,IAAI,CAAC;AAEV,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1F,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACtD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC9C,CAAC;AAEJ,MAAM,WAAW,oBAAoB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC9F,SAAQ,gBAAgB,EACtB,kBAAkB;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,QAAA,MAAM,cAAc,qJA+KnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -73,10 +73,27 @@ var ReqoreMenuItem = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
}, [itemRef, scrollIntoView, scrollBehavior]);
|
|
76
|
-
|
|
76
|
+
// Render a left/right action either as a plain button or, when it carries
|
|
77
|
+
// `actions`, as a ReqoreDropdown whose control button keeps the exact same
|
|
78
|
+
// styling. Shared by both slots so the two stay in lockstep.
|
|
79
|
+
var renderAction = function (action, className, handleActionClick) {
|
|
80
|
+
if (!action)
|
|
81
|
+
return null;
|
|
82
|
+
var actions = action.actions, actionsProps = action.actionsProps, _onClick = action.onClick, buttonProps = __rest(action, ["actions", "actionsProps", "onClick"]);
|
|
83
|
+
var transparent = rest.transparent === false ? false : !rest.effect;
|
|
84
|
+
if (actions === null || actions === void 0 ? void 0 : actions.length) {
|
|
85
|
+
return ((0, jsx_runtime_1.jsx)(__1.ReqoreDropdown, __assign({ component: __1.ReqoreButton, flat: flat, verticalPadding: 'small', fixed: true, compact: true, transparent: transparent, minimal: rest.minimal, customTheme: rest.customTheme, className: className, intent: intent, active: selected,
|
|
86
|
+
// A menu row's action opens beside the row, not over the list
|
|
87
|
+
// below it; consumers can override via `actionsProps`. No caret so
|
|
88
|
+
// the control keeps the action's own icon (e.g. a bare `+`).
|
|
89
|
+
showCaret: false, placement: 'right-start' }, buttonProps, { items: actions }, actionsProps)));
|
|
90
|
+
}
|
|
91
|
+
return ((0, jsx_runtime_1.jsx)(__1.ReqoreButton, __assign({ flat: flat, verticalPadding: 'small', fixed: true, compact: true, transparent: transparent, minimal: rest.minimal, customTheme: rest.customTheme, className: className, intent: intent, active: selected }, buttonProps, { onClick: handleActionClick })));
|
|
92
|
+
};
|
|
93
|
+
return ((0, jsx_runtime_1.jsxs)(__1.ReqoreControlGroup, { stack: stackWithActions, fluid: true, fill: true, responsive: false, children: [renderAction(leftAction, 'reqore-menu-item-left-action', handleLeftActionClick), (0, jsx_runtime_1.jsx)(__1.ReqoreButton, __assign({ as: as, transparent: !rest.effect, verticalPadding: 'small', compact: true }, rest, { flat: flat, className: "".concat(rest.className || '', " reqore-menu-item"), fluid: true, onClick: handleClick, active: selected, ref: function (ref) {
|
|
77
94
|
targetRef.current = ref || undefined;
|
|
78
95
|
setItemRef(ref);
|
|
79
|
-
}, disabled: disabled, intent: intent, icon: icon, rightIcon: rightIcon, tooltip: tooltip, children: label || children })), rightAction
|
|
96
|
+
}, disabled: disabled, intent: intent, icon: icon, rightIcon: rightIcon, tooltip: tooltip, children: label || children })), renderAction(rightAction, 'reqore-menu-item-right-action', handleRightActionClick)] }));
|
|
80
97
|
}));
|
|
81
98
|
exports.default = ReqoreMenuItem;
|
|
82
99
|
//# sourceMappingURL=item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/Menu/item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/components/Menu/item.tsx"],"names":[],"mappings":"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"}
|