@m4l/components 8.1.0-beta.devManuela.TextField → 8.2.0-beta.devDaniel.MenuActionsBug
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/@types/export.d.ts +0 -3
- package/@types/types.d.ts +37 -11
- package/components/AccountPopover/classes/index.d.ts +1 -1
- package/components/CommonActions/classes/index.d.ts +1 -1
- package/components/ControlIncrement/ControlIncrement.d.ts +5 -0
- package/components/ControlIncrement/ControlIncrement.styles.d.ts +8 -0
- package/components/ControlIncrement/constants.d.ts +25 -0
- package/components/ControlIncrement/slots/ControlIncrementEnum.d.ts +6 -0
- package/components/ControlIncrement/slots/ControltrolIncrementSlots.d.ts +14 -0
- package/components/ControlIncrement/slots/index.d.ts +2 -0
- package/components/ControlIncrement/stories/ControlClick/ControlIncrement.controlclick.stories.d.ts +13 -0
- package/components/ControlIncrement/stories/DefaultAndDisabled/ControlIncrement.defaultanddisabled.stories.d.ts +17 -0
- package/components/ControlIncrement/stories/Sizes/ControlIncrement.sizes.stories.d.ts +21 -0
- package/components/ControlIncrement/types.d.ts +56 -0
- package/components/DataGrid/subcomponents/Actions/subcomponents/Density/index.js +3 -3
- package/components/DataGrid/subcomponents/Actions/subcomponents/MobileMenuActions/index.js +10 -10
- package/components/DynamicFilter/DynamicFIlter.styles.js +115 -39
- package/components/DynamicFilter/slots/dynamicFilterSlots.d.ts +1 -1
- package/components/DynamicSort/slots/DynamicSortSlots.d.ts +1 -1
- package/components/GridLayout/classes/index.d.ts +1 -1
- package/components/GridLayout/subcomponents/withSizeProvider/index.d.ts +1 -1
- package/components/HelperError/HelperError.d.ts +1 -1
- package/components/HelperError/HelperError.js +21 -2
- package/components/HelperError/HelperError.styles.js +11 -2
- package/components/HelperError/constant.d.ts +9 -0
- package/components/HelperError/constant.js +3 -1
- package/components/HelperError/slots/HelperErrorEnum.d.ts +3 -0
- package/components/HelperError/slots/HelperErrorSlots.d.ts +4 -4
- package/components/HelperError/slots/HelperErrorSlots.js +1 -1
- package/components/HelperError/types.d.ts +28 -5
- package/components/Icon/Icon.d.ts +4 -3
- package/components/Icon/Icon.js +54 -71
- package/components/Icon/Icon.styles.js +85 -31
- package/components/Icon/slots/IconEnum.d.ts +2 -1
- package/components/Icon/slots/IconEnum.js +1 -0
- package/components/Icon/slots/IconSlots.d.ts +3 -0
- package/components/Icon/slots/IconSlots.js +7 -1
- package/components/Icon/stories/DefaultWithProps/Icon.defaultWithProps.stories.d.ts +35 -0
- package/components/Icon/stories/Preset/Icon.preset.stories.d.ts +16 -0
- package/components/Icon/stories/Semantic/Icon.semantic.stories.d.ts +30 -0
- package/components/Icon/stories/Sizes/icon.sizes.stories.d.ts +40 -0
- package/components/Icon/types.d.ts +16 -12
- package/components/InputNumberSpinner/InputNumberSpinner.d.ts +9 -0
- package/components/InputNumberSpinner/InputNumberSpinner.styles.d.ts +8 -0
- package/components/InputNumberSpinner/constants.d.ts +9 -0
- package/components/InputNumberSpinner/hooks/types.d.ts +13 -0
- package/components/InputNumberSpinner/hooks/useInputNumberSpinner.d.ts +19 -0
- package/components/InputNumberSpinner/index.d.ts +2 -0
- package/components/InputNumberSpinner/slots/InputNumberSpinnerEnum.d.ts +7 -0
- package/components/InputNumberSpinner/slots/InputNumberSpinnerSlots.d.ts +15 -0
- package/components/InputNumberSpinner/slots/index.d.ts +2 -0
- package/components/InputNumberSpinner/stories/Default/InputNumberSpinner.default.stories.d.ts +25 -0
- package/components/InputNumberSpinner/stories/Error/InputNumberSpinner.error.stories.d.ts +25 -0
- package/components/InputNumberSpinner/stories/Sizes/InputNumberSpinner.sizes.stories.d.ts +41 -0
- package/components/InputNumberSpinner/stories/Variants/InputNumberSpinner.variants.stories.d.ts +25 -0
- package/components/InputNumberSpinner/types.d.ts +64 -0
- package/components/Label/Label.d.ts +2 -2
- package/components/Label/Label.styles.js +5 -5
- package/components/Label/slots/LabelSlots.d.ts +1 -1
- package/components/Label/types.d.ts +1 -1
- package/components/MFLoader/MFLoader.d.ts +1 -1
- package/components/NavLink/NavLink.d.ts +1 -1
- package/components/PaperForm/classes/index.d.ts +1 -1
- package/components/Period/classes/index.d.ts +1 -1
- package/components/PropertyValue/classes/index.d.ts +1 -1
- package/components/SideBar/classes/index.d.ts +2 -2
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ItemListRoot/subcomponents/NavListSub/subcomponents/NavItemSub/styles.d.ts +1 -1
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ItemListRoot/subcomponents/NavListSub/subcomponents/NavItemSub/subcomponents/NavItemSubContent/styles.d.ts +1 -1
- package/components/ToastContainer/subcomponents/ToastMessage/useToastMessage.d.ts +5 -1
- package/components/ToastContainer/subcomponents/ToastMessage/useToastMessage.js +2 -1
- package/components/areas/components/AreasAdmin/subcomponents/AreaChip/subcomponents/ChipActionsMobile/index.js +2 -2
- package/components/areas/components/AreasViewer/classes/index.d.ts +2 -2
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/PanelWindows/index.d.ts +1 -1
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/Header/helper.js +3 -3
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/subcomponents/Header/subcomponents/MainActions/index.js +3 -3
- package/components/areas/contexts/AreasContext/store.d.ts +1 -1
- package/components/areas/contexts/AreasContext/store.js +199 -67
- package/components/extended/react-resizable/Resizable/slots/ResizableSlots.d.ts +1 -1
- package/components/extended/react-resizable/ResizableBox/slots/ResizableBoxSlots.d.ts +1 -1
- package/components/hook-form/RHFAutocomplete/classes/index.d.ts +2 -2
- package/components/hook-form/RHFAutocomplete/subcomponents/ComponentTypeImage/index.js +1 -1
- package/components/hook-form/RHFAutocompleteAsync/subcomponents/ComponentTypeImage/index.d.ts +1 -1
- package/components/hook-form/RHFAutocompleteAsync/subcomponents/ComponentTypeText/index.d.ts +1 -1
- package/components/hook-form/RHFCheckbox/classes/index.d.ts +1 -1
- package/components/hook-form/RHFCheckbox/styles.d.ts +1 -1
- package/components/hook-form/RHFColorPicker/classes/index.d.ts +1 -1
- package/components/hook-form/RHFDateTime/classes/index.d.ts +1 -1
- package/components/hook-form/RHFTextField/RHFTextField.d.ts +4 -0
- package/components/hook-form/RHFTextField/RHFTextField.styles.js +2 -2
- package/components/hook-form/RHFTextField/slots/RHFTextFieldSlots.d.ts +1 -1
- package/components/hook-form/RHFUpload/RHFUploadImage/classes/index.d.ts +1 -1
- package/components/hook-form/RHFUpload/RHFUploadImage/subcomponents/UploadImage/index.d.ts +1 -1
- package/components/hook-form/RHFormContext/classes/index.d.ts +1 -1
- package/components/maps/components/Map/classes/index.d.ts +1 -1
- package/components/maps/components/Map/contexts/MapContext/store.d.ts +1 -1
- package/components/maps/components/Map/contexts/MapContext/store.js +166 -106
- package/components/maps/components/Map/hooks/useAutoFocus/index.d.ts +1 -1
- package/components/maps/components/Map/pluginLayers/PolylineWithArrows/index.d.ts +1 -1
- package/components/maps/components/Map/subcomponents/Controls/subcomponents/TopLeftTools/subcomponents/PopoverToolButton/subcomponentes/LayersTool/hooks/useRowActionsGetter.js +2 -2
- package/components/maps/components/Map/subcomponents/LayersContainer/subcomponents/MyLayer/index.d.ts +1 -1
- package/components/maps/components/MapGpsTools/subcomponents/TabsGpsTools/subcomponents/GeofencesList/hooks/useRowActionsGetter.js +5 -5
- package/components/modal/classes/index.d.ts +2 -2
- package/components/mui_extended/Accordion/Accordion.d.ts +1 -1
- package/components/mui_extended/Accordion/classes/index.d.ts +1 -1
- package/components/mui_extended/Avatar/classes/index.d.ts +1 -1
- package/components/mui_extended/Badge/slots/BadgeSlots.d.ts +1 -1
- package/components/mui_extended/Button/classes/index.d.ts +1 -1
- package/components/mui_extended/Button/styles.d.ts +1 -1
- package/components/mui_extended/CheckBox/classes/index.d.ts +1 -1
- package/components/mui_extended/IconButton/IconButton.d.ts +4 -4
- package/components/mui_extended/IconButton/IconButton.js +65 -29
- package/components/mui_extended/IconButton/IconButton.styles.js +20 -5
- package/components/mui_extended/IconButton/slots/IconButtonEnum.d.ts +2 -1
- package/components/mui_extended/IconButton/slots/IconButtonEnum.js +1 -0
- package/components/mui_extended/IconButton/slots/IconButtonSlots.d.ts +5 -2
- package/components/mui_extended/IconButton/slots/IconButtonSlots.js +7 -1
- package/components/mui_extended/IconButton/types.d.ts +46 -2
- package/components/mui_extended/LoadingButton/classes/index.d.ts +1 -1
- package/components/mui_extended/LoadingButton/index.d.ts +1 -1
- package/components/mui_extended/MenuActions/MenuActions.d.ts +8 -1
- package/components/mui_extended/MenuActions/MenuActions.js +55 -77
- package/components/mui_extended/MenuActions/MenuActions.styles.d.ts +4 -0
- package/components/mui_extended/MenuActions/MenuActions.styles.js +11 -38
- package/components/mui_extended/MenuActions/constants.d.ts +17 -0
- package/components/mui_extended/MenuActions/constants.js +6 -2
- package/components/mui_extended/MenuActions/dictionary.d.ts +15 -0
- package/components/mui_extended/MenuActions/slots/MenuActionsEnum.d.ts +8 -5
- package/components/mui_extended/MenuActions/slots/MenuActionsEnum.js +1 -4
- package/components/mui_extended/MenuActions/slots/MenuActionsSlots.d.ts +29 -16
- package/components/mui_extended/MenuActions/slots/MenuActionsSlots.js +16 -33
- package/components/mui_extended/MenuActions/stories/MenuActions.default.stories.d.ts +25 -0
- package/components/mui_extended/MenuActions/stories/MenuActions.othersProps.stories.d.ts +13 -0
- package/components/mui_extended/MenuActions/types.d.ts +80 -18
- package/components/mui_extended/MenuItem/MenuItem.d.ts +11 -0
- package/components/mui_extended/MenuItem/MenuItem.js +66 -0
- package/components/mui_extended/MenuItem/MenuItem.stories.d.ts +37 -0
- package/components/mui_extended/MenuItem/MenuItem.styles.d.ts +2 -0
- package/components/mui_extended/MenuItem/MenuItem.styles.js +111 -0
- package/components/mui_extended/MenuItem/constants.d.ts +8 -0
- package/components/mui_extended/MenuItem/constants.js +4 -0
- package/components/mui_extended/MenuItem/index.d.ts +2 -0
- package/components/mui_extended/MenuItem/index.js +1 -0
- package/components/mui_extended/MenuItem/slots/MenuItemEnum.d.ts +5 -0
- package/components/mui_extended/MenuItem/slots/MenuItemEnum.js +9 -0
- package/components/mui_extended/MenuItem/slots/MenuItemSlots.d.ts +11 -0
- package/components/mui_extended/MenuItem/slots/MenuItemSlots.js +24 -0
- package/components/mui_extended/MenuItem/slots/index.d.ts +2 -0
- package/components/mui_extended/MenuItem/types.d.ts +41 -0
- package/components/mui_extended/MenuItem/types.js +1 -0
- package/components/mui_extended/Pager/classes/index.d.ts +2 -2
- package/components/mui_extended/Select/Select.d.ts +9 -0
- package/components/mui_extended/Select/Select.styles.d.ts +2 -0
- package/components/mui_extended/Select/constants.d.ts +8 -0
- package/components/mui_extended/Select/index.d.ts +2 -0
- package/components/mui_extended/Select/slots/SelectEnum.d.ts +6 -0
- package/components/mui_extended/Select/slots/SelectSlots.d.ts +12 -0
- package/components/mui_extended/Select/slots/index.d.ts +2 -0
- package/components/mui_extended/Select/stories/SelectOutlied.stories.d.ts +75 -0
- package/components/mui_extended/Select/stories/SelectStandar.stories.d.ts +29 -0
- package/components/mui_extended/Select/types.d.ts +66 -0
- package/components/mui_extended/Skeleton/Skeleton.d.ts +1 -1
- package/components/mui_extended/Skeleton/Slots/skeletonSlots.d.ts +1 -1
- package/components/mui_extended/Skeleton/skeleton.styles.js +1 -1
- package/components/mui_extended/Tab/classes/index.d.ts +1 -1
- package/components/mui_extended/Tabs/styles.d.ts +1 -1
- package/components/mui_extended/TextField/TextField.d.ts +4 -0
- package/components/mui_extended/TextField/slots/TextFieldSlots.d.ts +2 -2
- package/components/mui_extended/Typography/Typography.d.ts +1 -1
- package/components/mui_extended/Typography/slots/typographySlots.d.ts +1 -1
- package/components/mui_extended/Typography/typography.styles.js +1 -1
- package/components/popups/components/PopupsProvider/contexts/PopupsContext/store.d.ts +1 -1
- package/components/popups/components/PopupsProvider/contexts/PopupsContext/store.js +57 -25
- package/contexts/RealTimeContext/store.d.ts +1 -1
- package/contexts/RealTimeContext/store.js +15 -7
- package/hooks/useSizeContainer/index.d.ts +1 -1
- package/package.json +1 -1
- package/test/mocks.d.ts +7 -7
- package/utils/index.d.ts +1 -1
- package/components/Icon/Icon.stories.d.ts +0 -166
- package/components/hook-form/RHFInputNumberSpinner/RHFInputNumberSpinner.d.ts +0 -5
- package/components/hook-form/RHFInputNumberSpinner/RHFInputNumberSpinner.stories.d.ts +0 -21
- package/components/hook-form/RHFInputNumberSpinner/RHFInputNumberSpinner.styles.d.ts +0 -2
- package/components/hook-form/RHFInputNumberSpinner/constants.d.ts +0 -1
- package/components/hook-form/RHFInputNumberSpinner/index.d.ts +0 -1
- package/components/hook-form/RHFInputNumberSpinner/slots/RHFInputNumberSpinnerSlots.d.ts +0 -23
- package/components/hook-form/RHFInputNumberSpinner/slots/RHFInputNumberSpinnnerEnum.d.ts +0 -9
- package/components/hook-form/RHFInputNumberSpinner/slots/index.d.ts +0 -2
- package/components/hook-form/RHFInputNumberSpinner/subcomponents/SkeletonSpinner/index.d.ts +0 -4
- package/components/hook-form/RHFInputNumberSpinner/types.d.ts +0 -21
- package/components/hook-form/RHFInputNumberSpinner/useRHFInputNumberSpinner.d.ts +0 -13
- package/components/mui_extended/MenuActions/MenuActions.stories.d.ts +0 -25
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { jsxs,
|
|
2
|
-
import React, {
|
|
3
|
-
import { useTheme } from "@mui/material/styles";
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useRef, useState, useMemo } from "react";
|
|
4
3
|
import { useEnvironment, useModuleDictionary } from "@m4l/core";
|
|
5
|
-
import {
|
|
4
|
+
import { useTheme } from "@mui/material/styles";
|
|
5
|
+
import { I as ICON_PATH, a as ICONS, M as MENU_ACTIONS_, b as MENU_ACTIONS_EMPTY } from "./constants.js";
|
|
6
6
|
import { g as getMenuActionsDictionary, D as DICTIONARY } from "./dictionary.js";
|
|
7
|
-
import {
|
|
7
|
+
import { u as useComponentSize } from "../../../hooks/useComponentSize/useComponentSize.js";
|
|
8
|
+
import { R as RootStyled, I as IconButtonStyled, P as PopoverStyled, M as MenuItemStyled } from "./slots/MenuActionsSlots.js";
|
|
8
9
|
function MenuActions(props) {
|
|
9
10
|
const {
|
|
10
11
|
menuActions,
|
|
@@ -14,48 +15,40 @@ function MenuActions(props) {
|
|
|
14
15
|
objItem = {},
|
|
15
16
|
urlIcon,
|
|
16
17
|
toolTip = "",
|
|
17
|
-
marginTop
|
|
18
|
+
marginTop,
|
|
18
19
|
marginBottom,
|
|
19
20
|
marginLeft,
|
|
20
21
|
marginRight,
|
|
21
22
|
width = 200,
|
|
22
|
-
withBadge = false,
|
|
23
23
|
badgeContent,
|
|
24
24
|
arrowType = "right-top",
|
|
25
25
|
externalOpen = null,
|
|
26
26
|
externalClose,
|
|
27
|
+
sizes = "medium",
|
|
27
28
|
...other
|
|
28
29
|
} = props;
|
|
30
|
+
const { currentSize } = useComponentSize(sizes);
|
|
31
|
+
const rootRef = useRef(null);
|
|
32
|
+
const OwnerState = {
|
|
33
|
+
iconSize: currentSize
|
|
34
|
+
};
|
|
29
35
|
const { host_static_assets, environment_assets } = useEnvironment();
|
|
30
36
|
const { getLabel } = useModuleDictionary();
|
|
31
|
-
const [open, setOpen] = useState(
|
|
32
|
-
const
|
|
33
|
-
setOpen(
|
|
37
|
+
const [open, setOpen] = useState(false);
|
|
38
|
+
const handleOpenClose = () => {
|
|
39
|
+
setOpen(() => !open);
|
|
34
40
|
};
|
|
35
41
|
const theme = useTheme();
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
let mounted = true;
|
|
38
|
-
if (mounted) {
|
|
39
|
-
setOpen(externalOpen);
|
|
40
|
-
}
|
|
41
|
-
return function cleanUp() {
|
|
42
|
-
mounted = false;
|
|
43
|
-
};
|
|
44
|
-
}, [externalOpen]);
|
|
45
42
|
const urlFinalIcon = useMemo(() => {
|
|
46
43
|
if (urlIcon) {
|
|
47
44
|
return urlIcon;
|
|
48
45
|
}
|
|
49
46
|
return `${host_static_assets}/${environment_assets}/${ICON_PATH}/${ICONS.MENU}`;
|
|
50
47
|
}, [urlIcon, host_static_assets, environment_assets]);
|
|
51
|
-
const
|
|
52
|
-
e.stopPropagation();
|
|
53
|
-
setOpen(null);
|
|
54
|
-
externalClose && externalClose(null);
|
|
55
|
-
};
|
|
56
|
-
const handleClick = (e, _menuAction) => {
|
|
48
|
+
const handleClick = (e, menuAction) => {
|
|
57
49
|
e.stopPropagation();
|
|
58
|
-
|
|
50
|
+
menuAction.onClick && menuAction.onClick(e);
|
|
51
|
+
setOpen(false);
|
|
59
52
|
};
|
|
60
53
|
const finalActions = useMemo(() => {
|
|
61
54
|
let ret;
|
|
@@ -66,35 +59,26 @@ function MenuActions(props) {
|
|
|
66
59
|
}
|
|
67
60
|
return ret;
|
|
68
61
|
}, [menuActions, objItem]);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
ownerState: {},
|
|
82
|
-
src: urlFinalIcon,
|
|
83
|
-
onClick: handleOpen,
|
|
84
|
-
tooltip: toolTip,
|
|
85
|
-
className: iconButtonClassName
|
|
86
|
-
}
|
|
87
|
-
) });
|
|
88
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
89
|
-
IconButtonElement,
|
|
62
|
+
return /* @__PURE__ */ jsxs(RootStyled, { ownerState: { OwnerState }, ref: rootRef, children: [
|
|
63
|
+
/* @__PURE__ */ jsx(
|
|
64
|
+
IconButtonStyled,
|
|
65
|
+
{
|
|
66
|
+
ownerState: { OwnerState },
|
|
67
|
+
size: sizes,
|
|
68
|
+
src: urlFinalIcon,
|
|
69
|
+
onClick: () => handleOpenClose(),
|
|
70
|
+
tooltip: toolTip,
|
|
71
|
+
className: iconButtonClassName
|
|
72
|
+
}
|
|
73
|
+
),
|
|
90
74
|
/* @__PURE__ */ jsxs(
|
|
91
|
-
|
|
75
|
+
PopoverStyled,
|
|
92
76
|
{
|
|
93
|
-
ownerState: {},
|
|
77
|
+
ownerState: { OwnerState },
|
|
94
78
|
id: "Popover",
|
|
95
|
-
open
|
|
96
|
-
anchorEl:
|
|
97
|
-
onClose:
|
|
79
|
+
open,
|
|
80
|
+
anchorEl: externalOpen ?? rootRef.current,
|
|
81
|
+
onClose: () => handleOpenClose(),
|
|
98
82
|
arrowType,
|
|
99
83
|
sx: {
|
|
100
84
|
marginTop,
|
|
@@ -102,37 +86,31 @@ function MenuActions(props) {
|
|
|
102
86
|
marginLeft,
|
|
103
87
|
marginRight,
|
|
104
88
|
width,
|
|
105
|
-
maxWidth: 300,
|
|
106
|
-
"& .MuiMenuItem-root": { px: 1, typography: "body2", borderRadius: 0.75 },
|
|
107
89
|
...theme.components?.M4LMenuActions?.styleOverrides || {},
|
|
108
90
|
...menuActionSx
|
|
109
91
|
},
|
|
110
92
|
...other,
|
|
111
93
|
children: [
|
|
112
|
-
finalActions.map(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
{
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
},
|
|
120
|
-
sx: { color: menuAction.color ?? "text.main" },
|
|
121
|
-
disabled: menuAction.disabled,
|
|
122
|
-
ownerState: { variant: menuAction.variant, color: menuAction.color },
|
|
123
|
-
children: [
|
|
124
|
-
menuAction.urlIcon ? /* @__PURE__ */ jsx(
|
|
125
|
-
IconButtonUrlStyled,
|
|
126
|
-
{
|
|
127
|
-
ownerState: { variant: menuAction.variant },
|
|
128
|
-
src: menuAction.urlIcon
|
|
129
|
-
}
|
|
130
|
-
) : null,
|
|
131
|
-
/* @__PURE__ */ jsx(LabelMenuItemStyled, { ownerState: {}, children: menuAction.label || menuAction.dictionaryId && getLabel(menuAction.dictionaryId) })
|
|
132
|
-
]
|
|
94
|
+
finalActions.length > 0 ? finalActions.map((menuAction, index) => /* @__PURE__ */ jsx(
|
|
95
|
+
MenuItemStyled,
|
|
96
|
+
{
|
|
97
|
+
ownerState: { OwnerState },
|
|
98
|
+
size: sizes,
|
|
99
|
+
onClick: (e) => {
|
|
100
|
+
handleClick(e, menuAction);
|
|
133
101
|
},
|
|
134
|
-
|
|
135
|
-
|
|
102
|
+
...menuAction
|
|
103
|
+
},
|
|
104
|
+
`${MENU_ACTIONS_}${index}`
|
|
105
|
+
)) : /* @__PURE__ */ jsx(
|
|
106
|
+
MenuItemStyled,
|
|
107
|
+
{
|
|
108
|
+
ownerState: { OwnerState },
|
|
109
|
+
size: sizes,
|
|
110
|
+
disabled: true,
|
|
111
|
+
label: getLabel(getMenuActionsDictionary(DICTIONARY.no_actions_label))
|
|
112
|
+
},
|
|
113
|
+
MENU_ACTIONS_EMPTY
|
|
136
114
|
),
|
|
137
115
|
endListElement ? endListElement : null
|
|
138
116
|
]
|
|
@@ -1,49 +1,22 @@
|
|
|
1
|
-
const CONTAINER_QUERY_NAME = "menuActions";
|
|
2
1
|
const menuActionsStyles = {
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
3
|
+
* Estilos para el contenedor raíz del menú.
|
|
5
4
|
*/
|
|
6
|
-
root: (
|
|
7
|
-
|
|
8
|
-
"& .MuiPaper-root": {
|
|
9
|
-
display: "flex",
|
|
10
|
-
flexDirection: "column",
|
|
11
|
-
background: theme.palette.background.default,
|
|
12
|
-
gap: "8px",
|
|
13
|
-
maxWidth: 300
|
|
14
|
-
}
|
|
5
|
+
root: () => ({
|
|
6
|
+
width: "fit-content"
|
|
15
7
|
}),
|
|
16
|
-
|
|
8
|
+
/***
|
|
9
|
+
* Estilos para el Popover
|
|
10
|
+
*/
|
|
11
|
+
popover: {},
|
|
17
12
|
/**
|
|
18
|
-
*
|
|
13
|
+
* Estilos para el `IconButton` utilizado para abrir el menú.
|
|
19
14
|
*/
|
|
20
|
-
|
|
21
|
-
display: "flex",
|
|
22
|
-
justifyContent: "center",
|
|
23
|
-
minHeight: "24px",
|
|
24
|
-
minWidth: "24px",
|
|
25
|
-
padding: "0",
|
|
26
|
-
gap: "0px",
|
|
27
|
-
...ownerState.variant === "delete" ? {
|
|
28
|
-
color: theme.palette.error.main
|
|
29
|
-
} : {}
|
|
30
|
-
}),
|
|
31
|
-
menuItemLabel: {},
|
|
15
|
+
iconButton: {},
|
|
32
16
|
/**
|
|
33
|
-
*
|
|
17
|
+
* Estilos para los `menuItems` del menú.
|
|
34
18
|
*/
|
|
35
|
-
|
|
36
|
-
"&.M4LIcon-root": {
|
|
37
|
-
minHeight: "24px",
|
|
38
|
-
minWidth: "24px",
|
|
39
|
-
"& > .M4LIcon-icon": {
|
|
40
|
-
backgroundColor: ownerState.variant === "delete" ? theme.palette.error.main : ""
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}),
|
|
44
|
-
labelEmpty: () => ({
|
|
45
|
-
zIndex: 1
|
|
46
|
-
})
|
|
19
|
+
menuItem: {}
|
|
47
20
|
};
|
|
48
21
|
export {
|
|
49
22
|
menuActionsStyles as m
|
|
@@ -1,5 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ruta donde se encuentran los íconos en los assets.
|
|
3
|
+
*/
|
|
1
4
|
export declare const ICON_PATH = "frontend/components/menu_actions/assets/icons";
|
|
5
|
+
/**
|
|
6
|
+
* Íconos utilizados en el menú por defecto.
|
|
7
|
+
*/
|
|
2
8
|
export declare const ICONS: {
|
|
3
9
|
MENU: string;
|
|
4
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* Nombre clave del componente `MenuActions` dentro de la aplicación.
|
|
13
|
+
*/
|
|
5
14
|
export declare const MENU_ACTIONS_KEY_COMPONENT = "M4LMenuActions";
|
|
15
|
+
/**
|
|
16
|
+
* Constante que define la clave cuando un ítem del menú está vacío.
|
|
17
|
+
*/
|
|
18
|
+
export declare const MENU_ACTIONS_EMPTY = "menu_action_empty";
|
|
19
|
+
/**
|
|
20
|
+
* Prefijo de la clave que se utiliza cuando un ítem del menú está cargando en React.
|
|
21
|
+
*/
|
|
22
|
+
export declare const MENU_ACTIONS_ = "menu_action_";
|
|
@@ -3,8 +3,12 @@ const ICONS = {
|
|
|
3
3
|
MENU: "menu.svg"
|
|
4
4
|
};
|
|
5
5
|
const MENU_ACTIONS_KEY_COMPONENT = "M4LMenuActions";
|
|
6
|
+
const MENU_ACTIONS_EMPTY = "menu_action_empty";
|
|
7
|
+
const MENU_ACTIONS_ = "menu_action_";
|
|
6
8
|
export {
|
|
7
9
|
ICON_PATH as I,
|
|
8
|
-
|
|
9
|
-
ICONS as a
|
|
10
|
+
MENU_ACTIONS_ as M,
|
|
11
|
+
ICONS as a,
|
|
12
|
+
MENU_ACTIONS_EMPTY as b,
|
|
13
|
+
MENU_ACTIONS_KEY_COMPONENT as c
|
|
10
14
|
};
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identificador clave utilizado para el diccionario de `MenuActions`.
|
|
3
|
+
*/
|
|
1
4
|
export declare const MENU_ACTIONS_DICTIONARY_ID = "menu_actions";
|
|
5
|
+
/**
|
|
6
|
+
* Devuelve un array que contiene el identificador del diccionario de `MenuActions`.
|
|
7
|
+
*/
|
|
2
8
|
export declare function getMenuActionsComponentsDictionary(): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Diccionario de claves para las etiquetas y textos utilizados en el componente `MenuActions`.
|
|
11
|
+
*/
|
|
3
12
|
export declare const DICTIONARY: {
|
|
4
13
|
readonly no_actions_label: "no_actions_label";
|
|
5
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Tipo que representa las claves del diccionario de `MenuActions`.
|
|
17
|
+
*/
|
|
6
18
|
export type TypeDictionary = typeof DICTIONARY;
|
|
19
|
+
/**
|
|
20
|
+
* Función que obtiene el valor completo de una clave del diccionario de `MenuActions` utilizando su identificador.
|
|
21
|
+
*/
|
|
7
22
|
export declare const getMenuActionsDictionary: (key: keyof TypeDictionary) => string;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum `MenuActionsSlots`
|
|
3
|
+
*
|
|
4
|
+
* Define los nombres de los slots de estilo para el componente `MenuActions`. Estos slots se utilizan para
|
|
5
|
+
* aplicar estilos específicos y crear clases CSS únicas para los distintos elementos del componente.
|
|
6
|
+
*/
|
|
1
7
|
export declare enum MenuActionsSlots {
|
|
2
8
|
root = "root",
|
|
3
|
-
|
|
9
|
+
popover = "popover",
|
|
4
10
|
iconButton = "iconButton",
|
|
5
|
-
menuItem = "menuItem"
|
|
6
|
-
menuItemIcon = "menuItemIcon",
|
|
7
|
-
menuItemLabel = "menuItemLabel",
|
|
8
|
-
labelEmpty = "labelEmpty"
|
|
11
|
+
menuItem = "menuItem"
|
|
9
12
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
var MenuActionsSlots = /* @__PURE__ */ ((MenuActionsSlots2) => {
|
|
2
2
|
MenuActionsSlots2["root"] = "root";
|
|
3
|
-
MenuActionsSlots2["
|
|
3
|
+
MenuActionsSlots2["popover"] = "popover";
|
|
4
4
|
MenuActionsSlots2["iconButton"] = "iconButton";
|
|
5
5
|
MenuActionsSlots2["menuItem"] = "menuItem";
|
|
6
|
-
MenuActionsSlots2["menuItemIcon"] = "menuItemIcon";
|
|
7
|
-
MenuActionsSlots2["menuItemLabel"] = "menuItemLabel";
|
|
8
|
-
MenuActionsSlots2["labelEmpty"] = "labelEmpty";
|
|
9
6
|
return MenuActionsSlots2;
|
|
10
7
|
})(MenuActionsSlots || {});
|
|
11
8
|
export {
|
|
@@ -1,23 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Componente raíz estilizado para `MenuActions`, basado en el componente `Popover`.
|
|
3
|
+
*
|
|
4
|
+
* Utiliza el sistema de estilos de Material-UI para aplicar estilos personalizados al contenedor principal (`Popover`)
|
|
5
|
+
* de `MenuActions`. Si no se proporcionan estilos, se utiliza un objeto vacío como valor predeterminado.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RootStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown> & {
|
|
2
8
|
ownerState: Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown>;
|
|
3
|
-
},
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
|
|
10
|
+
/**
|
|
11
|
+
* Componente estilizado para `MenuActions`, basado en el componente `Popover`.
|
|
12
|
+
*
|
|
13
|
+
* Utiliza el sistema de estilos de Material-UI para aplicar estilos personalizados al contenedor principal (`Popover`)
|
|
14
|
+
* de `MenuActions`. Si no se proporcionan estilos, se utiliza un objeto vacío como valor predeterminado.
|
|
15
|
+
*/
|
|
16
|
+
export declare const PopoverStyled: import('@emotion/styled').StyledComponent<Pick<import('../../Popover/types').PopoverProps, keyof import('../../Popover/types').PopoverProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown> & {
|
|
8
17
|
ownerState: Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown>;
|
|
9
18
|
}, {}, {}>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Componente estilizado para el botón de icono dentro de `MenuActions`, basado en el componente `IconButton`.
|
|
21
|
+
*
|
|
22
|
+
* Utiliza el sistema de estilos de Material-UI para aplicar estilos personalizados al botón de icono.
|
|
23
|
+
* Si no se proporcionan estilos, se utiliza un objeto vacío como valor predeterminado.
|
|
24
|
+
*/
|
|
25
|
+
export declare const IconButtonStyled: import('@emotion/styled').StyledComponent<Pick<import('../../IconButton/types').IconButtonProps, keyof import('../../IconButton/types').IconButtonProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown> & {
|
|
13
26
|
ownerState: Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown>;
|
|
14
27
|
}, {}, {}>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Componente estilizado para el ítem del menú dentro de `MenuActions`, basado en el componente `MenuItem`.
|
|
30
|
+
*
|
|
31
|
+
* Utiliza el sistema de estilos de Material-UI para aplicar estilos personalizados al ítem del menú.
|
|
32
|
+
* Si no se proporcionan estilos, se utiliza un objeto vacío como valor predeterminado.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MenuItemStyled: import('@emotion/styled').StyledComponent<Pick<import('../../MenuItem').MenuItemProps, keyof import('../../MenuItem').MenuItemProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown> & {
|
|
19
35
|
ownerState: Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown>;
|
|
20
36
|
}, {}, {}>;
|
|
21
|
-
export declare const LabelEmptyStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown> & {
|
|
22
|
-
ownerState: Partial<import('../types').MenuActionsOwnerState> & Record<string, unknown>;
|
|
23
|
-
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
|
|
@@ -1,46 +1,29 @@
|
|
|
1
1
|
import { styled } from "@mui/material/styles";
|
|
2
|
-
import {
|
|
3
|
-
import { M as MENU_ACTIONS_KEY_COMPONENT } from "../constants.js";
|
|
2
|
+
import { c as MENU_ACTIONS_KEY_COMPONENT } from "../constants.js";
|
|
4
3
|
import { m as menuActionsStyles } from "../MenuActions.styles.js";
|
|
5
4
|
import { M as MenuActionsSlots } from "./MenuActionsEnum.js";
|
|
6
|
-
import { I as IconButton } from "../../IconButton/IconButton.js";
|
|
7
5
|
import { P as Popover } from "../../Popover/Popover.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
const
|
|
11
|
-
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
12
|
-
slot: MenuActionsSlots.iconButton
|
|
13
|
-
})(menuActionsStyles?.iconButton || {});
|
|
14
|
-
const RootStyled = styled(Popover, {
|
|
6
|
+
import { I as IconButton } from "../../IconButton/IconButton.js";
|
|
7
|
+
import { M as MenuItem } from "../../MenuItem/MenuItem.js";
|
|
8
|
+
const RootStyled = styled("div", {
|
|
15
9
|
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
16
10
|
slot: MenuActionsSlots.root
|
|
17
|
-
})(menuActionsStyles?.root
|
|
18
|
-
const
|
|
11
|
+
})(menuActionsStyles?.root);
|
|
12
|
+
const PopoverStyled = styled(Popover, {
|
|
19
13
|
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
20
|
-
slot: MenuActionsSlots.
|
|
21
|
-
})(menuActionsStyles?.
|
|
14
|
+
slot: MenuActionsSlots.popover
|
|
15
|
+
})(menuActionsStyles?.popover);
|
|
16
|
+
const IconButtonStyled = styled(IconButton, {
|
|
17
|
+
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
18
|
+
slot: MenuActionsSlots.iconButton
|
|
19
|
+
})(menuActionsStyles?.iconButton);
|
|
22
20
|
const MenuItemStyled = styled(MenuItem, {
|
|
23
21
|
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
24
22
|
slot: MenuActionsSlots.menuItem
|
|
25
|
-
})(menuActionsStyles?.menuItem
|
|
26
|
-
const LabelMenuItemStyled = styled("div", {
|
|
27
|
-
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
28
|
-
slot: MenuActionsSlots.menuItemLabel
|
|
29
|
-
})(menuActionsStyles?.menuItemLabel || {});
|
|
30
|
-
const IconButtonUrlStyled = styled(Icon, {
|
|
31
|
-
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
32
|
-
slot: MenuActionsSlots.menuItemIcon
|
|
33
|
-
})(menuActionsStyles?.menuItemIcon || {});
|
|
34
|
-
const LabelEmptyStyled = styled("div", {
|
|
35
|
-
name: MENU_ACTIONS_KEY_COMPONENT,
|
|
36
|
-
slot: MenuActionsSlots.labelEmpty
|
|
37
|
-
})(menuActionsStyles?.labelEmpty || {});
|
|
23
|
+
})(menuActionsStyles?.menuItem);
|
|
38
24
|
export {
|
|
39
|
-
|
|
40
|
-
IconButtonUrlStyled as I,
|
|
41
|
-
LabelMenuItemStyled as L,
|
|
25
|
+
IconButtonStyled as I,
|
|
42
26
|
MenuItemStyled as M,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
IconButtonStyled as b
|
|
27
|
+
PopoverStyled as P,
|
|
28
|
+
RootStyled as R
|
|
46
29
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { MenuActions } from '../index';
|
|
3
|
+
declare const meta: Meta<typeof MenuActions>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof MenuActions>;
|
|
6
|
+
/**
|
|
7
|
+
* Componente base de `MenuActions`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const Base: Story;
|
|
10
|
+
/**
|
|
11
|
+
* Componente `MenuActions` con sizes de small.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SmallSizes: Story;
|
|
14
|
+
/**
|
|
15
|
+
* Componente `MenuActions` con sizes de medium.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MediumSizes: Story;
|
|
18
|
+
/**
|
|
19
|
+
* Estado vacío del componente `MenuActions`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Empty: Story;
|
|
22
|
+
/**
|
|
23
|
+
* `MenuActions` en modo esqueleto (skeleton).
|
|
24
|
+
*/
|
|
25
|
+
export declare const WithSkeleton: Story;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { MenuActions } from '../index';
|
|
3
|
+
declare const meta: Meta<typeof MenuActions>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof MenuActions>;
|
|
6
|
+
/**
|
|
7
|
+
* Componente base de `MenuActions`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const Base: Story;
|
|
10
|
+
/**
|
|
11
|
+
* `MenuActions` con un elemento adicional al final de la lista (`endListElement`).
|
|
12
|
+
*/
|
|
13
|
+
export declare const WithEndListElement: Story;
|