@ltht-react/menu 2.0.170 → 2.0.172
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/lib/molecules/action-menu.d.ts +2 -1
- package/lib/molecules/action-menu.js.map +1 -1
- package/lib/molecules/menu.d.ts +4 -3
- package/lib/molecules/menu.js +2 -2
- package/lib/molecules/menu.js.map +1 -1
- package/lib/molecules/menu.style.js +2 -2
- package/lib/molecules/menu.style.js.map +1 -1
- package/package.json +6 -6
- package/src/molecules/action-menu.tsx +2 -1
- package/src/molecules/menu.style.tsx +1 -1
- package/src/molecules/menu.tsx +4 -3
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { FC, HTMLAttributes } from 'react';
|
|
2
2
|
import { IconProps } from '@ltht-react/icon';
|
|
3
3
|
import { ButtonProps } from '@ltht-react/button';
|
|
4
|
-
interface IProps extends HTMLAttributes<HTMLButtonElement> {
|
|
4
|
+
interface IProps<T extends HTMLElement = HTMLElement> extends HTMLAttributes<HTMLButtonElement> {
|
|
5
5
|
actions: ActionMenuOption[];
|
|
6
6
|
menuButtonOptions?: IconButtonMenuProps | ButtonMenuProps;
|
|
7
7
|
disabled?: boolean;
|
|
8
|
+
root?: React.MutableRefObject<T | null>;
|
|
8
9
|
}
|
|
9
10
|
interface IconButtonMenuProps {
|
|
10
11
|
type: 'icon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-menu.js","sourceRoot":"","sources":["../../src/molecules/action-menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAkD;AAClD,2CAAkD;AAGlD,+BAAuC;
|
|
1
|
+
{"version":3,"file":"action-menu.js","sourceRoot":"","sources":["../../src/molecules/action-menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAkD;AAClD,2CAAkD;AAGlD,+BAAuC;AA+B1B,QAAA,cAAc,GAAwB;IACjD,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE;QACT,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;CACF,CAAA;AAED,IAAM,UAAU,GAAe,UAAC,EAM/B;IALC,IAAA,UAAyB,EAAzB,EAAE,mBAAG,oBAAoB,KAAA,EACzB,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,yBAAmD,EAAnD,iBAAiB,yCAAQ,sBAAc,KAAE,QAAQ,UAAA,QAAE,EAChD,IAAI,cALuB,kDAM/B,CADQ;IAEP,IAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,UAAG,EAAE,MAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE3C,OAAO,CACL,uBAAC,WAAI,aAAC,WAAW,EAAE,iBAAiB,iBAAe,EAAE,IAAM,IAAI,cAC5D,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,EAA7C,CAA6C,CAAC,IACzE,CACR,CAAA;AACH,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UACnB,QAAgB,EAChB,EAAwF,EACxF,KAAa;IADX,IAAA,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAK,IAAI,cAApE,uEAAsE,CAAF;IAGpE,IAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAA;IACnC,IAAM,gBAAgB,GAAG,UAAG,QAAQ,8BAAoB,MAAM,cAAI,KAAK,CAAE,CAAA;IAEzE,IAAI,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CACL,uBAAC,WAAI,aAEH,EAAE,EAAE,gBAAgB,iBACP,gBAAgB,EAC7B,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAC,cAAI,eAAK,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAI,EAClD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAC,cAAI,eAAK,SAAS,EAAI,CAAC,CAAC,CAAC,IAAI,IACjD,IAAI,cAEP,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,EAA7C,CAA6C,CAAC,KARzE,gBAAgB,CAShB,CACR,CAAA;IACH,CAAC;IAED,OAAO,CACL,uBAAC,eAAQ,aAEP,EAAE,EAAE,gBAAgB,iBACP,gBAAgB,EAC7B,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAC,cAAI,eAAK,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAI,EAClD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAC,cAAI,eAAK,SAAS,EAAI,CAAC,CAAC,CAAC,IAAI,EACrD,OAAO,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,OAAO,IAC5B,IAAI,GAPH,gBAAgB,CAQrB,CACH,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
|
package/lib/molecules/menu.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ import { ButtonProps } from '@ltht-react/button';
|
|
|
47
47
|
* @property rootTrigger - The trigger component for the root menu (icon or button).
|
|
48
48
|
* @property disabled - If true, disables the menu trigger.
|
|
49
49
|
*/
|
|
50
|
-
interface MenuProps {
|
|
50
|
+
interface MenuProps<T extends HTMLElement = HTMLElement> {
|
|
51
51
|
label?: string;
|
|
52
52
|
leftIcon?: ReactNode;
|
|
53
53
|
rightIcon?: ReactNode;
|
|
@@ -55,6 +55,7 @@ interface MenuProps {
|
|
|
55
55
|
children?: ReactNode;
|
|
56
56
|
rootTrigger?: RootMenuTrigger;
|
|
57
57
|
disabled?: boolean;
|
|
58
|
+
root?: React.MutableRefObject<T | null>;
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
61
|
* RootMenuTrigger defines the type of trigger for the root menu.
|
|
@@ -93,7 +94,7 @@ interface ButtonMenuProps {
|
|
|
93
94
|
* @param forwardedRef - Ref to the trigger element.
|
|
94
95
|
* @returns The menu trigger and its floating menu.
|
|
95
96
|
*/
|
|
96
|
-
export declare const MenuComponent: React.ForwardRefExoticComponent<MenuProps & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
97
|
+
export declare const MenuComponent: React.ForwardRefExoticComponent<MenuProps<HTMLElement> & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
97
98
|
interface MenuTriggerProps extends React.HTMLAttributes<HTMLElement> {
|
|
98
99
|
refs: ExtendedRefs<HTMLButtonElement>;
|
|
99
100
|
isNested: boolean;
|
|
@@ -189,5 +190,5 @@ export declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & R
|
|
|
189
190
|
* </Menu>
|
|
190
191
|
* ```
|
|
191
192
|
*/
|
|
192
|
-
export declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
193
|
+
export declare const Menu: React.ForwardRefExoticComponent<MenuProps<HTMLElement> & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
193
194
|
export {};
|
package/lib/molecules/menu.js
CHANGED
|
@@ -106,7 +106,7 @@ var MenuContext = React.createContext({
|
|
|
106
106
|
* @returns The menu trigger and its floating menu.
|
|
107
107
|
*/
|
|
108
108
|
exports.MenuComponent = (0, react_2.forwardRef)(function (_a, forwardedRef) {
|
|
109
|
-
var children = _a.children, label = _a.label, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, rootTrigger = _a.rootTrigger, props = __rest(_a, ["children", "label", "leftIcon", "rightIcon", "rootTrigger"]);
|
|
109
|
+
var children = _a.children, label = _a.label, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, rootTrigger = _a.rootTrigger, root = _a.root, props = __rest(_a, ["children", "label", "leftIcon", "rightIcon", "rootTrigger", "root"]);
|
|
110
110
|
var _b = React.useState(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
111
111
|
var _c = React.useState(false), hasFocusInside = _c[0], setHasFocusInside = _c[1];
|
|
112
112
|
var _d = React.useState(null), activeIndex = _d[0], setActiveIndex = _d[1];
|
|
@@ -191,7 +191,7 @@ exports.MenuComponent = (0, react_2.forwardRef)(function (_a, forwardedRef) {
|
|
|
191
191
|
getItemProps: getItemProps,
|
|
192
192
|
setHasFocusInside: setHasFocusInside,
|
|
193
193
|
isOpen: isOpen,
|
|
194
|
-
}, children: (0, jsx_runtime_1.jsx)(react_1.FloatingList, { elementsRef: elementsRef, labelsRef: labelsRef, children: isOpen && ((0, jsx_runtime_1.jsx)(react_1.FloatingPortal, { children: (0, jsx_runtime_1.jsx)(react_1.FloatingFocusManager, { context: context, modal: false, initialFocus: isNested ? -1 : 0, returnFocus: !isNested, children: (0, jsx_runtime_1.jsx)(menu_style_1.StyledMenu, __assign({ ref: refs.setFloating, style: floatingStyles }, getFloatingProps(), { children: children })) }) })) }) })] }));
|
|
194
|
+
}, children: (0, jsx_runtime_1.jsx)(react_1.FloatingList, { elementsRef: elementsRef, labelsRef: labelsRef, children: isOpen && ((0, jsx_runtime_1.jsx)(react_1.FloatingPortal, { root: root, children: (0, jsx_runtime_1.jsx)(react_1.FloatingFocusManager, { context: context, modal: false, initialFocus: isNested ? -1 : 0, returnFocus: !isNested, children: (0, jsx_runtime_1.jsx)(menu_style_1.StyledMenu, __assign({ ref: refs.setFloating, style: floatingStyles }, getFloatingProps(), { children: children })) }) })) }) })] }));
|
|
195
195
|
});
|
|
196
196
|
var DefaultTriggerIcon = function () { return (0, jsx_runtime_1.jsx)(icon_1.default, { type: "ellipsis-vertical", size: "medium" }); };
|
|
197
197
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/molecules/menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,4CAyB2B;AAC3B,2CAA8B;AAC9B,+BAAwE;AACxE,uDAA8D;AAC9D,6CAAwD;AACxD,2CAOqB;AAkBrB,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IACxD,yDAAyD;IACzD,YAAY,EAAE,cAAM,OAAA,CAAC,EAAE,CAAC,EAAJ,CAAI;IACxB,WAAW,EAAE,IAAI;IACjB,yDAAyD;IACzD,cAAc,EAAE,cAAO,CAAC;IACxB,yDAAyD;IACzD,iBAAiB,EAAE,cAAO,CAAC;IAC3B,MAAM,EAAE,KAAK;CACd,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/molecules/menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ var styles_1 = require("@ltht-react/styles");
|
|
|
14
14
|
var nestedStyles = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 0.25rem;\n background: none;\n width: 100%;\n border: none;\n text-align: left;\n line-height: 1.8;\n min-width: 80px;\n margin: 0;\n outline: 0;\n\n &:focus {\n background: ", ";\n color: ", ";\n }\n\n &[data-nested][data-open]:not([data-focus-inside]) {\n background: ", ";\n color: ", ";\n }\n\n &[data-focus-inside][data-open] {\n background: ", ";\n color: ", ";\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid #e0e6ef;\n }\n\n &:hover > div > svg {\n color: ", ";\n }\n\n &[data-focus-inside][data-open] > div > svg {\n color: ", ";\n }\n\n &[disabled] > div > svg {\n color: rgba(16, 16, 16, 0.3);\n }\n\n &[disabled]:hover {\n cursor: not-allowed;\n }\n\n &:hover {\n cursor: pointer;\n }\n"], ["\n display: flex;\n align-items: center;\n gap: 0.25rem;\n background: none;\n width: 100%;\n border: none;\n text-align: left;\n line-height: 1.8;\n min-width: 80px;\n margin: 0;\n outline: 0;\n\n &:focus {\n background: ", ";\n color: ", ";\n }\n\n &[data-nested][data-open]:not([data-focus-inside]) {\n background: ", ";\n color: ", ";\n }\n\n &[data-focus-inside][data-open] {\n background: ", ";\n color: ", ";\n }\n\n &:not(:last-child) {\n border-bottom: 1px solid #e0e6ef;\n }\n\n &:hover > div > svg {\n color: ", ";\n }\n\n &[data-focus-inside][data-open] > div > svg {\n color: ", ";\n }\n\n &[disabled] > div > svg {\n color: rgba(16, 16, 16, 0.3);\n }\n\n &[disabled]:hover {\n cursor: not-allowed;\n }\n\n &:hover {\n cursor: pointer;\n }\n"])), styles_1.BTN_COLOURS.PRIMARY.HOVER, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.HOVER, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.HOVER, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.TEXT);
|
|
15
15
|
exports.RightIconWrapper = styled_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-left: auto;\n display: flex;\n align-items: center;\n"], ["\n margin-left: auto;\n display: flex;\n align-items: center;\n"])));
|
|
16
16
|
exports.LeftIconWrapper = styled_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n"], ["\n width: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n"])));
|
|
17
|
-
exports.TextWrapper = styled_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
18
|
-
var rootStyles = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n align-content: center;\n gap: 0.25rem;\n padding: 6px 10px;\n border: 0;\n font-size: 0.9rem;\n background: none;\n border-radius: 6px;\n cursor: pointer;\n\n &[disabled]:hover {\n background: none;\n cursor: not-allowed;\n }\n\n &[disabled]:hover > div > svg {\n color: ", ";\n }\n\n &[data-open],\n &:hover {\n background: ", ";\n color: ", ";\n }\n\n &[data-open] > div > svg,\n &:focus > div > svg,\n &:hover > div > svg {\n color: ", ";\n }\n\n &[data-open] > svg,\n &:
|
|
17
|
+
exports.TextWrapper = styled_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex: 1;\n padding: 0.2rem 0.3rem;\n"], ["\n flex: 1;\n padding: 0.2rem 0.3rem;\n"])));
|
|
18
|
+
var rootStyles = (0, react_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n align-content: center;\n gap: 0.25rem;\n padding: 6px 10px;\n border: 0;\n font-size: 0.9rem;\n background: none;\n border-radius: 6px;\n cursor: pointer;\n\n &[disabled]:hover {\n background: none;\n cursor: not-allowed;\n }\n\n &[disabled]:hover > div > svg {\n color: ", ";\n }\n\n &[data-open],\n &:hover {\n background: ", ";\n color: ", ";\n }\n\n &[data-open] > div > svg,\n &:focus > div > svg,\n &:hover > div > svg {\n color: ", ";\n }\n\n &[data-open] > svg,\n &:hover > svg {\n color: ", ";\n }\n"], ["\n display: flex;\n align-items: center;\n align-content: center;\n gap: 0.25rem;\n padding: 6px 10px;\n border: 0;\n font-size: 0.9rem;\n background: none;\n border-radius: 6px;\n cursor: pointer;\n\n &[disabled]:hover {\n background: none;\n cursor: not-allowed;\n }\n\n &[disabled]:hover > div > svg {\n color: ", ";\n }\n\n &[data-open],\n &:hover {\n background: ", ";\n color: ", ";\n }\n\n &[data-open] > div > svg,\n &:focus > div > svg,\n &:hover > div > svg {\n color: ", ";\n }\n\n &[data-open] > svg,\n &:hover > svg {\n color: ", ";\n }\n"])), styles_1.BTN_COLOURS.PRIMARY.DISABLED, styles_1.BTN_COLOURS.PRIMARY.HOVER, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.TEXT, styles_1.BTN_COLOURS.PRIMARY.TEXT);
|
|
19
19
|
exports.StyledRootMenu = styled_1.default.button(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
|
|
20
20
|
var isNested = _a.isNested;
|
|
21
21
|
return (isNested ? nestedStyles : rootStyles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.style.js","sourceRoot":"","sources":["../../src/molecules/menu.style.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,wCAAoC;AACpC,2DAAoC;AACpC,6CAAkE;AAElE,IAAM,YAAY,OAAG,WAAG,y3BAAA,+OAcN,EAAyB,gBAC9B,EAAwB,oFAInB,EAAyB,gBAC9B,EAAwB,iEAInB,EAAyB,gBAC9B,EAAwB,sHAQxB,EAAwB,wEAIxB,EAAwB,mLAcpC,KArCiB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAInB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAInB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAQxB,oBAAW,CAAC,OAAO,CAAC,IAAI,EAIxB,oBAAW,CAAC,OAAO,CAAC,IAAI,CAcpC,CAAA;AAEY,QAAA,gBAAgB,GAAG,gBAAM,CAAC,GAAG,uIAAA,oEAIzC,KAAA;AAEY,QAAA,eAAe,GAAG,gBAAM,CAAC,GAAG,6JAAA,0FAKxC,KAAA;AAEY,QAAA,WAAW,GAAG,gBAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"menu.style.js","sourceRoot":"","sources":["../../src/molecules/menu.style.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,wCAAoC;AACpC,2DAAoC;AACpC,6CAAkE;AAElE,IAAM,YAAY,OAAG,WAAG,y3BAAA,+OAcN,EAAyB,gBAC9B,EAAwB,oFAInB,EAAyB,gBAC9B,EAAwB,iEAInB,EAAyB,gBAC9B,EAAwB,sHAQxB,EAAwB,wEAIxB,EAAwB,mLAcpC,KArCiB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAInB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAInB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAQxB,oBAAW,CAAC,OAAO,CAAC,IAAI,EAIxB,oBAAW,CAAC,OAAO,CAAC,IAAI,CAcpC,CAAA;AAEY,QAAA,gBAAgB,GAAG,gBAAM,CAAC,GAAG,uIAAA,oEAIzC,KAAA;AAEY,QAAA,eAAe,GAAG,gBAAM,CAAC,GAAG,6JAAA,0FAKxC,KAAA;AAEY,QAAA,WAAW,GAAG,gBAAM,CAAC,IAAI,8GAAA,2CAGrC,KAAA;AAED,IAAM,UAAU,OAAG,WAAG,0pBAAA,kVAkBT,EAA4B,0DAKvB,EAAyB,gBAC9B,EAAwB,qGAMxB,EAAwB,iEAKxB,EAAwB,UAEpC,KAnBY,oBAAW,CAAC,OAAO,CAAC,QAAQ,EAKvB,oBAAW,CAAC,OAAO,CAAC,KAAK,EAC9B,oBAAW,CAAC,OAAO,CAAC,IAAI,EAMxB,oBAAW,CAAC,OAAO,CAAC,IAAI,EAKxB,oBAAW,CAAC,OAAO,CAAC,IAAI,CAEpC,CAAA;AAEY,QAAA,cAAc,GAAG,gBAAM,CAAC,MAAM,+EAAwB,MAC/D,EAAwD,IAC3D,KADG,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AAAtC,CAAsC,EAC3D;AAEY,QAAA,UAAU,GAAG,gBAAM,CAAC,GAAG,uSAAA,6NAMvB,EAAgB,KAC5B,KADY,IAAA,kBAAS,EAAC,cAAK,CAAC,EAC5B;AAEY,QAAA,cAAc,GAAG,gBAAM,CAAC,MAAM,+EAAA,MACvC,EAAY,IACf,KADG,YAAY,EACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ltht-react/menu",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.172",
|
|
4
4
|
"description": "ltht-react styled Menu component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@emotion/react": "^11.0.0",
|
|
30
30
|
"@emotion/styled": "^11.0.0",
|
|
31
31
|
"@floating-ui/react": "^0.27.15",
|
|
32
|
-
"@ltht-react/button": "^2.0.
|
|
33
|
-
"@ltht-react/icon": "^2.0.
|
|
34
|
-
"@ltht-react/styles": "^2.0.
|
|
35
|
-
"@ltht-react/utils": "^2.0.
|
|
32
|
+
"@ltht-react/button": "^2.0.172",
|
|
33
|
+
"@ltht-react/icon": "^2.0.172",
|
|
34
|
+
"@ltht-react/styles": "^2.0.172",
|
|
35
|
+
"@ltht-react/utils": "^2.0.172",
|
|
36
36
|
"react": "^18.2.0"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "5db08eeb239dfb0624cd069aea4ad3a5f02d13d7"
|
|
39
39
|
}
|
|
@@ -5,10 +5,11 @@ import { ButtonProps } from '@ltht-react/button'
|
|
|
5
5
|
|
|
6
6
|
import { Menu, MenuItem } from './menu'
|
|
7
7
|
|
|
8
|
-
interface IProps extends HTMLAttributes<HTMLButtonElement> {
|
|
8
|
+
interface IProps<T extends HTMLElement = HTMLElement> extends HTMLAttributes<HTMLButtonElement> {
|
|
9
9
|
actions: ActionMenuOption[]
|
|
10
10
|
menuButtonOptions?: IconButtonMenuProps | ButtonMenuProps
|
|
11
11
|
disabled?: boolean
|
|
12
|
+
root?: React.MutableRefObject<T | null>
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
interface IconButtonMenuProps {
|
|
@@ -70,6 +70,7 @@ export const LeftIconWrapper = styled.div`
|
|
|
70
70
|
|
|
71
71
|
export const TextWrapper = styled.span`
|
|
72
72
|
flex: 1;
|
|
73
|
+
padding: 0.2rem 0.3rem;
|
|
73
74
|
`
|
|
74
75
|
|
|
75
76
|
const rootStyles = css`
|
|
@@ -106,7 +107,6 @@ const rootStyles = css`
|
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
&[data-open] > svg,
|
|
109
|
-
&:focus > svg,
|
|
110
110
|
&:hover > svg {
|
|
111
111
|
color: ${BTN_COLOURS.PRIMARY.TEXT};
|
|
112
112
|
}
|
package/src/molecules/menu.tsx
CHANGED
|
@@ -108,7 +108,7 @@ const MenuContext = React.createContext<MenuContextState>({
|
|
|
108
108
|
* @property rootTrigger - The trigger component for the root menu (icon or button).
|
|
109
109
|
* @property disabled - If true, disables the menu trigger.
|
|
110
110
|
*/
|
|
111
|
-
interface MenuProps {
|
|
111
|
+
interface MenuProps<T extends HTMLElement = HTMLElement> {
|
|
112
112
|
label?: string
|
|
113
113
|
leftIcon?: ReactNode
|
|
114
114
|
rightIcon?: ReactNode
|
|
@@ -116,6 +116,7 @@ interface MenuProps {
|
|
|
116
116
|
children?: ReactNode
|
|
117
117
|
rootTrigger?: RootMenuTrigger
|
|
118
118
|
disabled?: boolean
|
|
119
|
+
root?: React.MutableRefObject<T | null>
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
/**
|
|
@@ -159,7 +160,7 @@ interface ButtonMenuProps {
|
|
|
159
160
|
* @returns The menu trigger and its floating menu.
|
|
160
161
|
*/
|
|
161
162
|
export const MenuComponent = forwardRef<HTMLButtonElement, MenuProps & React.HTMLAttributes<HTMLButtonElement>>(
|
|
162
|
-
({ children, label, leftIcon, rightIcon, rootTrigger, ...props }, forwardedRef) => {
|
|
163
|
+
({ children, label, leftIcon, rightIcon, rootTrigger, root, ...props }, forwardedRef) => {
|
|
163
164
|
const [isOpen, setIsOpen] = React.useState(false)
|
|
164
165
|
const [hasFocusInside, setHasFocusInside] = React.useState(false)
|
|
165
166
|
const [activeIndex, setActiveIndex] = React.useState<number | null>(null)
|
|
@@ -286,7 +287,7 @@ export const MenuComponent = forwardRef<HTMLButtonElement, MenuProps & React.HTM
|
|
|
286
287
|
>
|
|
287
288
|
<FloatingList elementsRef={elementsRef} labelsRef={labelsRef}>
|
|
288
289
|
{isOpen && (
|
|
289
|
-
<FloatingPortal>
|
|
290
|
+
<FloatingPortal root={root}>
|
|
290
291
|
<FloatingFocusManager
|
|
291
292
|
context={context}
|
|
292
293
|
modal={false}
|