@m4l/components 9.2.59 → 9.2.60-13062025.beta.1
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/.storybook/decorators/WithAppearanceContext/WithAppearanceContext.d.ts +1 -1
- package/.storybook/decorators/WithWindowsToolsAndParmsMFContexts/WithWindowsToolsAndParmsMFContexts.d.ts +5 -0
- package/components/DataGrid/Datagrid.styles.js +4 -12
- package/components/DataGrid/contexts/DataGridContext/types.d.ts +4 -0
- package/components/DataGrid/subcomponents/Table/hooks/useSortColumnsRows.js +2 -0
- package/components/DynamicFilter/DynamicFilter.styles.js +87 -91
- package/components/DynamicFilter/slots/SlotsEnum.d.ts +0 -3
- package/components/DynamicFilter/slots/SlotsEnum.js +0 -3
- package/components/DynamicFilter/slots/dynamicFilterSlots.d.ts +0 -9
- package/components/DynamicFilter/slots/dynamicFilterSlots.js +3 -19
- package/components/DynamicFilter/store/DynamicFilterContext.js +5 -6
- package/components/DynamicFilter/subcomponents/FilterActions/FilterActions.js +1 -1
- package/components/DynamicFilter/subcomponents/FilterActions/useFilterActions.d.ts +1 -0
- package/components/DynamicFilter/subcomponents/FilterActions/useFilterActions.js +2 -1
- package/components/DynamicFilter/subcomponents/InputFilter/InputFilter.js +2 -0
- package/components/DynamicFilter/subcomponents/PopoverFilter/PopoverFilter.js +23 -18
- package/components/DynamicFilter/subcomponents/PopoverMenuFields/PopoverMenuFields.js +4 -1
- package/components/DynamicSort/DynamicSort.styles.js +86 -87
- package/components/DynamicSort/slots/DynamicSortSlots.d.ts +0 -9
- package/components/DynamicSort/slots/DynamicSortSlots.js +5 -21
- package/components/DynamicSort/slots/SlotsEnum.d.ts +1 -4
- package/components/DynamicSort/slots/SlotsEnum.js +1 -4
- package/components/DynamicSort/subcomponents/InputSort/InputSort.js +2 -0
- package/components/DynamicSort/subcomponents/PopoverSort/PopoverSort.js +21 -17
- package/components/DynamicSort/subcomponents/SortActions/SortActions.js +2 -2
- package/components/DynamicSort/subcomponents/SortActions/useSortActions.d.ts +2 -0
- package/components/DynamicSort/subcomponents/SortActions/useSortActions.js +2 -1
- package/components/NumberInput/hooks/useNumberInput/useNumberInput.js +2 -0
- package/components/PaperForm/styles.js +2 -1
- package/components/PropertyValue/PropertyValue.styles.js +2 -1
- package/components/SideBar/SideBar.js +4 -2
- package/components/SideBar/constants.d.ts +26 -2
- package/components/SideBar/constants.js +19 -7
- package/components/SideBar/context/sideBarContext/index.js +19 -5
- package/components/SideBar/context/sideBarContext/types.d.ts +22 -1
- package/components/SideBar/helpers/getMenuDataWithState/index.js +22 -8
- package/components/SideBar/hooks/useCollapse/index.d.ts +1 -0
- package/components/SideBar/hooks/useCollapse/useCollapse.d.ts +11 -0
- package/components/SideBar/hooks/useCollapse/useCollapse.js +23 -0
- package/components/SideBar/slots/SideBarEnum.d.ts +5 -5
- package/components/SideBar/slots/SideBarEnum.js +9 -11
- package/components/SideBar/slots/SideBarSlots.d.ts +9 -3
- package/components/SideBar/slots/SideBarSlots.js +36 -28
- package/components/SideBar/styles.js +2 -4
- package/components/SideBar/subcomponents/ContentComponent/index.js +39 -19
- package/components/SideBar/subcomponents/ContentComponent/style.js +166 -22
- package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/index.d.ts +2 -2
- package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/index.js +8 -15
- package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/styles.js +2 -2
- package/components/SideBar/subcomponents/Promotion/types.d.ts +5 -0
- package/components/SideBar/subcomponents/SideBarDesktop/index.js +1 -1
- package/components/SideBar/subcomponents/SideBarDesktop/styles.js +10 -14
- package/components/SideBar/subcomponents/SideBarMobile/index.js +1 -1
- package/components/SideBar/subcomponents/TreeGroupItems/index.d.ts +5 -0
- package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/index.js +16 -18
- package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/styles.js +5 -7
- package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/index.js +10 -7
- package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems/subcomponents/NodeMenuItem}/index.d.ts +3 -3
- package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/index.js +53 -0
- package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/types.d.ts +8 -0
- package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/NodeMenuItemMain.d.ts +5 -0
- package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/NodeMenuItemMain.js +55 -0
- package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/index.d.ts +1 -0
- package/components/SideBar/subcomponents/TreeGroupItems/types.d.ts +4 -0
- package/components/SideBar/types.d.ts +7 -3
- package/components/WindowBase/WindowBase.js +4 -1
- package/components/WindowBase/WindowBase.styles.js +48 -13
- package/components/WindowBase/contexts/WindowToolsMFContext/types.d.ts +10 -0
- package/components/WindowBase/hooks/useDynamicMFParameters/index.js +2 -2
- package/components/WindowBase/slots/WindowBaseEnum.d.ts +2 -1
- package/components/WindowBase/slots/WindowBaseEnum.js +1 -0
- package/components/WindowBase/slots/WindowBaseSlots.d.ts +3 -0
- package/components/WindowBase/slots/WindowBaseSlots.js +6 -1
- package/components/WindowBase/subcomponents/Header/HeaderWindowBase.js +5 -3
- package/components/WindowBase/subcomponents/Header/useButtonActions.js +4 -2
- package/components/WindowBase/subcomponents/MemoizedIconButton/MemoizedIconButton.d.ts +1 -1
- package/components/WindowBase/subcomponents/MemoizedIconButton/MemoizedIconButton.js +1 -1
- package/components/WindowBase/subcomponents/MemoizedIconButton/types.d.ts +5 -0
- package/components/WindowBase/types.d.ts +11 -0
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/Window.js +17 -0
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useRightActions.js +1 -0
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.d.ts +2 -0
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.js +8 -5
- package/components/areas/contexts/AreasContext/store.js +18 -2
- package/components/areas/contexts/AreasContext/types.d.ts +2 -0
- package/components/areas/hooks/index.d.ts +0 -1
- package/components/areas/types.d.ts +4 -0
- package/components/extended/React-resizable-panels/SplitLayout.js +6 -3
- package/components/extended/React-resizable-panels/SplitLayout.styles.js +78 -36
- package/components/extended/React-resizable-panels/constants.d.ts +6 -0
- package/components/extended/React-resizable-panels/constants.js +5 -1
- package/components/extended/React-resizable-panels/slots/SplitLayoutEnum.d.ts +2 -1
- package/components/extended/React-resizable-panels/slots/SplitLayoutEnum.js +1 -0
- package/components/extended/React-resizable-panels/slots/SplitLayoutSlots.d.ts +3 -0
- package/components/extended/React-resizable-panels/slots/SplitLayoutSlots.js +7 -1
- package/components/hook-form/RHFAutocompleteAsync/reducer/RHFAutocompleteReducer.js +5 -0
- package/components/mui_extended/Accordion/styles.js +1 -0
- package/components/mui_extended/Divider/index.d.ts +1 -0
- package/components/mui_extended/Divider/index.js +1 -0
- package/components/mui_extended/TabContent/TabContent.styles.js +2 -2
- package/components/mui_extended/Typography/slots/typographySlots.d.ts +1 -1
- package/components/mui_extended/index.d.ts +1 -0
- package/components/popups/components/PopupsProvider/hooks/usePopups.js +2 -1
- package/hooks/useDynamicFilterAndSort/styles.js +1 -1
- package/index.js +67 -67
- package/package.json +19 -18
- package/storybook/components/DynamicFilter/DynamicFilter.stories.d.ts +27 -11
- package/storybook/components/DynamicSort/DynamicSort.stories.d.ts +26 -10
- package/storybook/components/SideBar/subcomponents/FooterPromotion/FooterPromotion.d.ts +4 -0
- package/storybook/components/SideBar/subcomponents/FooterPromotion/constants.d.ts +3 -0
- package/storybook/components/SideBar/subcomponents/FooterPromotion/index.d.ts +1 -0
- package/storybook/components/extended/mui/IconButton/IconButton.stories.d.ts +1 -0
- package/.storybook/decorators/WithWindowsToolsContext/WithContextWindowTools.d.ts +0 -5
- package/components/SideBar/subcomponents/ContentGroups/index.d.ts +0 -5
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/index.js +0 -63
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/styles.d.ts +0 -2
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/styles.js +0 -47
- package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/types.d.ts +0 -7
- package/components/SideBar/subcomponents/ContentGroups/types.d.ts +0 -4
- package/components/SideBar/subcomponents/FooterSidebar/types.d.ts +0 -5
- package/components/SideBar/subcomponents/HeaderSidebar/index.js +0 -25
- package/components/areas/hooks/useSetWindowsTitle/index.d.ts +0 -1
- package/components/areas/hooks/useSetWindowsTitle/useSetWindowsTitle.d.ts +0 -6
- package/components/areas/hooks/useSetWindowsTitle/useSetWindowsTitle.js +0 -31
- package/storybook/components/WindowBase/subcomponents/WithContextWindowToolsProvider.d.ts +0 -5
- package/storybook/components/commonActions/components/ActionFormCancel/WindowToolsMFProvider.d.ts +0 -5
- /package/components/{areas/hooks/useSetWindowsTitle → SideBar/hooks/useCollapse}/index.js +0 -0
- /package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/styles.d.ts +0 -0
- /package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/styles.d.ts +0 -0
- /package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/index.d.ts +0 -0
- /package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/types.d.ts +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext } from "react";
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, createContext } from "react";
|
|
3
|
+
import { g as getComponentClasses } from "../../../../utils/getComponentSlotRoot.js";
|
|
4
|
+
import { A as ALL_SIDEBAR_SLOTS, S as SIDEBAR_KEY_COMPONENT } from "../../constants.js";
|
|
5
|
+
const classes = getComponentClasses(SIDEBAR_KEY_COMPONENT, ALL_SIDEBAR_SLOTS);
|
|
3
6
|
const initialState = {
|
|
4
7
|
anchored: false,
|
|
5
8
|
visible: true,
|
|
@@ -14,11 +17,17 @@ const initialState = {
|
|
|
14
17
|
},
|
|
15
18
|
expandedWidth: "",
|
|
16
19
|
companyName: "",
|
|
17
|
-
companySlogan: ""
|
|
20
|
+
companySlogan: "",
|
|
21
|
+
classes,
|
|
22
|
+
promotion: /* @__PURE__ */ jsx(Fragment, {}),
|
|
23
|
+
isHover: false,
|
|
24
|
+
setIsHover: (_isHover) => {
|
|
25
|
+
}
|
|
18
26
|
};
|
|
19
27
|
const SideBarContext = createContext(initialState);
|
|
20
28
|
const SideBarProvider = (props) => {
|
|
21
29
|
const { value, children } = props;
|
|
30
|
+
const [isHover, setIsHover] = useState(false);
|
|
22
31
|
const {
|
|
23
32
|
anchored,
|
|
24
33
|
visible,
|
|
@@ -32,7 +41,8 @@ const SideBarProvider = (props) => {
|
|
|
32
41
|
moduleSelectedId,
|
|
33
42
|
companyName,
|
|
34
43
|
companySlogan,
|
|
35
|
-
urlIconPrefix
|
|
44
|
+
urlIconPrefix,
|
|
45
|
+
promotion
|
|
36
46
|
} = value;
|
|
37
47
|
return (
|
|
38
48
|
// Proporcionar el contexto con las propiedades desestructuradas
|
|
@@ -52,7 +62,11 @@ const SideBarProvider = (props) => {
|
|
|
52
62
|
expandedWidth,
|
|
53
63
|
companyName,
|
|
54
64
|
companySlogan,
|
|
55
|
-
urlIconPrefix
|
|
65
|
+
urlIconPrefix,
|
|
66
|
+
classes,
|
|
67
|
+
promotion,
|
|
68
|
+
isHover,
|
|
69
|
+
setIsHover
|
|
56
70
|
},
|
|
57
71
|
children
|
|
58
72
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { IMenuDataWithState, SideBarProps } from '../../types';
|
|
3
|
+
import { ALL_SIDEBAR_SLOTS } from '../../constants';
|
|
3
4
|
/**
|
|
4
5
|
* Valor proporcionado por el proveedor del contexto Sidebar.
|
|
5
6
|
*/
|
|
@@ -9,13 +10,33 @@ export interface SideBarProviderValue extends SideBarProps {
|
|
|
9
10
|
*/
|
|
10
11
|
anchored: boolean;
|
|
11
12
|
menuData: Array<IMenuDataWithState>;
|
|
13
|
+
/**
|
|
14
|
+
* Las clases asociadas al proveedor del contexto Sidebar.
|
|
15
|
+
*/
|
|
16
|
+
classes: Record<keyof typeof ALL_SIDEBAR_SLOTS, string>;
|
|
17
|
+
/**
|
|
18
|
+
* Promoción del sidebar, se renderiza en el footer del sidebar
|
|
19
|
+
*/
|
|
20
|
+
promotion: SideBarProps['promotion'];
|
|
21
|
+
/**
|
|
22
|
+
* Indica si el sidebar está siendo hoverado
|
|
23
|
+
*/
|
|
24
|
+
isHover: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Función para establecer el estado de hover
|
|
27
|
+
*/
|
|
28
|
+
setIsHover: (value: boolean) => void;
|
|
12
29
|
}
|
|
13
30
|
/**
|
|
14
31
|
* Propiedades para el proveedor del contexto Sidebar.
|
|
15
32
|
*/
|
|
16
33
|
export interface SideBarProviderProps {
|
|
17
34
|
/** value contendrá el valor que se proporcionará en el contexto*/
|
|
18
|
-
value: Omit<SideBarProviderValue, 'collapsed'>;
|
|
35
|
+
value: Omit<SideBarProviderValue, 'collapsed' | 'classes' | 'isHover' | 'setIsHover'>;
|
|
19
36
|
/** children contendrá los elementos secundarios que estarán dentro del ámbito del proveedor del contexto.*/
|
|
20
37
|
children: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Promoción del sidebar, se renderiza en el footer del sidebar
|
|
40
|
+
*/
|
|
41
|
+
promotion?: SideBarProps['promotion'];
|
|
21
42
|
}
|
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
const getMenuDataWithState = ({ menuData, moduleSelectedId, initialLevel = 0 }) => {
|
|
2
2
|
const newMenuDataItems = menuData.map((item) => {
|
|
3
3
|
if (!item.children && item.moduleId === moduleSelectedId) {
|
|
4
|
-
return { ...item, active: true, itemInTreeActive:
|
|
4
|
+
return { ...item, active: true, itemInTreeActive: false };
|
|
5
5
|
}
|
|
6
6
|
if (item.children) {
|
|
7
7
|
let childrenItem = getMenuDataWithState({ menuData: item.children, moduleSelectedId, initialLevel: initialLevel + 1 });
|
|
8
8
|
const indexTrue = childrenItem.findIndex((child) => child.active === true);
|
|
9
9
|
if (initialLevel === 0) {
|
|
10
|
-
return { ...item, children: childrenItem };
|
|
10
|
+
return { ...item, children: childrenItem, active: false, itemInTreeActive: false };
|
|
11
11
|
}
|
|
12
12
|
if (indexTrue !== -1) {
|
|
13
|
-
childrenItem = childrenItem.map((child, index) =>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
childrenItem = childrenItem.map((child, index) => {
|
|
14
|
+
if (child.active) {
|
|
15
|
+
return { ...child, itemInTreeActive: false };
|
|
16
|
+
}
|
|
17
|
+
if (index <= indexTrue) {
|
|
18
|
+
return {
|
|
19
|
+
...child,
|
|
20
|
+
itemInTreeActive: true,
|
|
21
|
+
active: false
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return { ...child, itemInTreeActive: false, active: false };
|
|
25
|
+
});
|
|
17
26
|
}
|
|
18
|
-
const status = indexTrue >= 0
|
|
19
|
-
return {
|
|
27
|
+
const status = indexTrue >= 0;
|
|
28
|
+
return {
|
|
29
|
+
...item,
|
|
30
|
+
children: childrenItem,
|
|
31
|
+
itemInTreeActive: status,
|
|
32
|
+
active: status && !!item.children
|
|
33
|
+
};
|
|
20
34
|
}
|
|
21
35
|
return { ...item, active: false, itemInTreeActive: false };
|
|
22
36
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useCollapse } from './useCollapse';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IMenuDataWithState } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook para manejar el estado de colapso de un item del menu
|
|
4
|
+
* @param {IMenuDataWithState} item - Item del menu
|
|
5
|
+
* @returns {Object} - Objeto con el estado de colapso, el manejador de click y si el item tiene hijos
|
|
6
|
+
*/
|
|
7
|
+
export declare const useCollapse: (item: IMenuDataWithState, defaultOpen?: boolean) => {
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
handlerClick: () => void;
|
|
10
|
+
hasChildren: boolean | undefined;
|
|
11
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
|
+
import { u as useSideBar } from "../useSideBar/index.js";
|
|
3
|
+
import { useIsMobile } from "@m4l/graphics";
|
|
4
|
+
const useCollapse = (item, defaultOpen = false) => {
|
|
5
|
+
const { onMenuItemClick, onToggleVisible } = useSideBar();
|
|
6
|
+
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
7
|
+
const isMobile = useIsMobile();
|
|
8
|
+
const hasChildren = item.children && Array.isArray(item.children) && item.children.length > 0;
|
|
9
|
+
const handlerClick = () => {
|
|
10
|
+
onMenuItemClick(item);
|
|
11
|
+
setIsOpen(!isOpen);
|
|
12
|
+
if (isMobile && (!hasChildren || hasChildren === void 0)) {
|
|
13
|
+
onToggleVisible(true);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
setIsOpen(defaultOpen);
|
|
18
|
+
}, [defaultOpen]);
|
|
19
|
+
return { isOpen, handlerClick, hasChildren };
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
useCollapse as u
|
|
23
|
+
};
|
|
@@ -7,7 +7,7 @@ export declare enum SideBarMobileSlots {
|
|
|
7
7
|
containerSideBarMobile = "containerSideBarMobile"
|
|
8
8
|
}
|
|
9
9
|
export declare enum ContentGroupsSlots {
|
|
10
|
-
|
|
10
|
+
containerTreeGroupItems = "containerTreeGroupItems",
|
|
11
11
|
containerContentGroups = "containerContentGroups",
|
|
12
12
|
containerContentTitle = "containerContentTitle",
|
|
13
13
|
containerContentNavItems = "containerContentNavItems",
|
|
@@ -24,8 +24,8 @@ export declare enum SideBarFooterSlots {
|
|
|
24
24
|
export declare enum ContentComponentSlots {
|
|
25
25
|
contentComponentRoot = "contentComponentRoot",
|
|
26
26
|
contentComponentHide = "contentComponentHide",
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
containerTreeItemsAndPromotion = "containerTreeItemsAndPromotion",
|
|
28
|
+
containerNodeMenuItem = "containerNodeMenuItem",
|
|
29
|
+
containerNodeMenuItemMain = "containerNodeMenuItemMain",
|
|
30
|
+
menuItemMain = "menuItemMain"
|
|
31
31
|
}
|
|
@@ -9,7 +9,7 @@ var SideBarMobileSlots = /* @__PURE__ */ ((SideBarMobileSlots2) => {
|
|
|
9
9
|
return SideBarMobileSlots2;
|
|
10
10
|
})(SideBarMobileSlots || {});
|
|
11
11
|
var ContentGroupsSlots = /* @__PURE__ */ ((ContentGroupsSlots2) => {
|
|
12
|
-
ContentGroupsSlots2["
|
|
12
|
+
ContentGroupsSlots2["containerTreeGroupItems"] = "containerTreeGroupItems";
|
|
13
13
|
ContentGroupsSlots2["containerContentGroups"] = "containerContentGroups";
|
|
14
14
|
ContentGroupsSlots2["containerContentTitle"] = "containerContentTitle";
|
|
15
15
|
ContentGroupsSlots2["containerContentNavItems"] = "containerContentNavItems";
|
|
@@ -29,19 +29,17 @@ var SideBarFooterSlots = /* @__PURE__ */ ((SideBarFooterSlots2) => {
|
|
|
29
29
|
var ContentComponentSlots = /* @__PURE__ */ ((ContentComponentSlots2) => {
|
|
30
30
|
ContentComponentSlots2["contentComponentRoot"] = "contentComponentRoot";
|
|
31
31
|
ContentComponentSlots2["contentComponentHide"] = "contentComponentHide";
|
|
32
|
-
ContentComponentSlots2["
|
|
32
|
+
ContentComponentSlots2["containerTreeItemsAndPromotion"] = "containerTreeItemsAndPromotion";
|
|
33
|
+
ContentComponentSlots2["containerNodeMenuItem"] = "containerNodeMenuItem";
|
|
34
|
+
ContentComponentSlots2["containerNodeMenuItemMain"] = "containerNodeMenuItemMain";
|
|
35
|
+
ContentComponentSlots2["menuItemMain"] = "menuItemMain";
|
|
33
36
|
return ContentComponentSlots2;
|
|
34
37
|
})(ContentComponentSlots || {});
|
|
35
|
-
var ContainerMenuItemsMainSlots = /* @__PURE__ */ ((ContainerMenuItemsMainSlots2) => {
|
|
36
|
-
ContainerMenuItemsMainSlots2["containerMenuItems"] = "containerMenuItems";
|
|
37
|
-
return ContainerMenuItemsMainSlots2;
|
|
38
|
-
})(ContainerMenuItemsMainSlots || {});
|
|
39
38
|
export {
|
|
40
39
|
ContentComponentSlots as C,
|
|
41
40
|
HeaderSidebarSlots as H,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
ContainerMenuItemsMainSlots as d
|
|
41
|
+
SideBarFooterSlots as S,
|
|
42
|
+
ContentGroupsSlots as a,
|
|
43
|
+
SideBarMobileSlots as b,
|
|
44
|
+
SideBarDesktopSlots as c
|
|
47
45
|
};
|
|
@@ -7,7 +7,7 @@ export declare const ContainerDesktopContentStyled: import('@emotion/styled').St
|
|
|
7
7
|
export declare const ContainerBtnAnchoredStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
8
8
|
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
9
9
|
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const ContainerTreeGroupItemsStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
11
11
|
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
12
12
|
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLElement>, HTMLElement>, keyof import('react').HTMLAttributes<HTMLElement> | keyof import('react').ClassAttributes<HTMLElement>>, {}>;
|
|
13
13
|
export declare const ContainerContentGroupsStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
@@ -43,9 +43,15 @@ export declare const ContentComponentRootStyled: import('@emotion/styled').Style
|
|
|
43
43
|
export declare const ContentComponentHideStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
44
44
|
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
45
45
|
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
46
|
-
export declare const
|
|
46
|
+
export declare const ContainerTreeItemsAndPromotionStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
47
47
|
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
48
48
|
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
49
|
-
export declare const
|
|
49
|
+
export declare const ContainerNodeMenuItemStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
50
50
|
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
51
51
|
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
52
|
+
export declare const ContainerNodeMenuItemMainStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
53
|
+
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
54
|
+
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
55
|
+
export declare const MenuItemMainStyled: import('@emotion/styled').StyledComponent<Pick<import('../../mui_extended/MenuItem').MenuItemProps, keyof import('../../mui_extended/MenuItem').MenuItemProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
|
|
56
|
+
ownerState?: (Partial<import('../types').SideBarOwnerState> & Record<string, unknown>) | undefined;
|
|
57
|
+
}, {}, {}>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { styled } from "@mui/material/styles";
|
|
2
|
-
import {
|
|
2
|
+
import { c as SideBarDesktopSlots, b as SideBarMobileSlots, C as ContentComponentSlots, S as SideBarFooterSlots, a as ContentGroupsSlots, H as HeaderSidebarSlots } from "./SideBarEnum.js";
|
|
3
3
|
import { S as SIDEBAR_KEY_COMPONENT } from "../constants.js";
|
|
4
4
|
import { s as sideBarStyles } from "../styles.js";
|
|
5
|
+
import { M as MenuItem } from "../../mui_extended/MenuItem/MenuItem.js";
|
|
5
6
|
const ContainerDesktopRootStyled = styled("section", {
|
|
6
7
|
name: SIDEBAR_KEY_COMPONENT,
|
|
7
8
|
slot: SideBarDesktopSlots.containerDesktopRoot
|
|
@@ -14,10 +15,10 @@ const ContainerBtnAnchoredStyled = styled("div", {
|
|
|
14
15
|
name: SIDEBAR_KEY_COMPONENT,
|
|
15
16
|
slot: SideBarDesktopSlots.containerBtnAnchored
|
|
16
17
|
})(sideBarStyles?.containerBtnAnchored);
|
|
17
|
-
const
|
|
18
|
+
const ContainerTreeGroupItemsStyled = styled("section", {
|
|
18
19
|
name: SIDEBAR_KEY_COMPONENT,
|
|
19
|
-
slot: ContentGroupsSlots.
|
|
20
|
-
})(sideBarStyles?.
|
|
20
|
+
slot: ContentGroupsSlots.containerTreeGroupItems
|
|
21
|
+
})(sideBarStyles?.containerTreeGroupItems);
|
|
21
22
|
const ContainerContentGroupsStyled = styled("section", {
|
|
22
23
|
name: SIDEBAR_KEY_COMPONENT,
|
|
23
24
|
slot: ContentGroupsSlots.containerContentGroups
|
|
@@ -26,7 +27,7 @@ const ContainerContentTitleStyled = styled("div", {
|
|
|
26
27
|
name: SIDEBAR_KEY_COMPONENT,
|
|
27
28
|
slot: ContentGroupsSlots.containerContentTitle
|
|
28
29
|
})(sideBarStyles?.containerContentTitle);
|
|
29
|
-
|
|
30
|
+
styled("nav", {
|
|
30
31
|
name: SIDEBAR_KEY_COMPONENT,
|
|
31
32
|
slot: ContentGroupsSlots.containerContentNavItems
|
|
32
33
|
})(sideBarStyles?.containerContentNavItems);
|
|
@@ -38,11 +39,11 @@ const ContainerArrowIconRootStyled = styled("div", {
|
|
|
38
39
|
name: SIDEBAR_KEY_COMPONENT,
|
|
39
40
|
slot: ContentGroupsSlots.containerArrowIconRoot
|
|
40
41
|
})(sideBarStyles?.containerArrowIconRoot);
|
|
41
|
-
|
|
42
|
+
styled("section", {
|
|
42
43
|
name: SIDEBAR_KEY_COMPONENT,
|
|
43
44
|
slot: HeaderSidebarSlots.containerHeaderSidebarRoot
|
|
44
45
|
})(sideBarStyles?.containerHeaderSidebarRoot);
|
|
45
|
-
|
|
46
|
+
styled("div", {
|
|
46
47
|
name: SIDEBAR_KEY_COMPONENT,
|
|
47
48
|
slot: HeaderSidebarSlots.containerTitleSubtitle
|
|
48
49
|
})(sideBarStyles?.containerTitleSubtitle);
|
|
@@ -62,29 +63,36 @@ const ContentComponentHideStyled = styled("div", {
|
|
|
62
63
|
name: SIDEBAR_KEY_COMPONENT,
|
|
63
64
|
slot: ContentComponentSlots.contentComponentHide
|
|
64
65
|
})(sideBarStyles?.contentComponentHide);
|
|
65
|
-
const
|
|
66
|
+
const ContainerTreeItemsAndPromotionStyled = styled("div", {
|
|
67
|
+
name: SIDEBAR_KEY_COMPONENT,
|
|
68
|
+
slot: ContentComponentSlots.containerTreeItemsAndPromotion
|
|
69
|
+
})(sideBarStyles?.containerTreeItemsAndPromotion);
|
|
70
|
+
const ContainerNodeMenuItemStyled = styled("div", {
|
|
71
|
+
name: SIDEBAR_KEY_COMPONENT,
|
|
72
|
+
slot: ContentComponentSlots.containerNodeMenuItem
|
|
73
|
+
})(sideBarStyles?.containerNodeMenuItem);
|
|
74
|
+
const ContainerNodeMenuItemMainStyled = styled("div", {
|
|
66
75
|
name: SIDEBAR_KEY_COMPONENT,
|
|
67
|
-
slot: ContentComponentSlots.
|
|
68
|
-
})(sideBarStyles?.
|
|
69
|
-
const
|
|
76
|
+
slot: ContentComponentSlots.containerNodeMenuItemMain
|
|
77
|
+
})(sideBarStyles?.containerNodeMenuItemMain);
|
|
78
|
+
const MenuItemMainStyled = styled(MenuItem, {
|
|
70
79
|
name: SIDEBAR_KEY_COMPONENT,
|
|
71
|
-
slot:
|
|
72
|
-
})(sideBarStyles?.
|
|
80
|
+
slot: ContentComponentSlots.menuItemMain
|
|
81
|
+
})(sideBarStyles?.menuItemMain);
|
|
73
82
|
export {
|
|
74
83
|
ContentComponentRootStyled as C,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
ContainerSideBarMobileStyled as o
|
|
84
|
+
MenuItemMainStyled as M,
|
|
85
|
+
ContainerBtnAnchoredStyled as a,
|
|
86
|
+
ContentComponentHideStyled as b,
|
|
87
|
+
ContainerTreeItemsAndPromotionStyled as c,
|
|
88
|
+
ContainerFooterStyled as d,
|
|
89
|
+
ContainerDesktopContentStyled as e,
|
|
90
|
+
ContainerDesktopRootStyled as f,
|
|
91
|
+
ContainerSideBarMobileStyled as g,
|
|
92
|
+
ContainerTreeGroupItemsStyled as h,
|
|
93
|
+
ContainerContentGroupsStyled as i,
|
|
94
|
+
ContainerContentTitleStyled as j,
|
|
95
|
+
ContainerArrowIconRootStyled as k,
|
|
96
|
+
ContainerNodeMenuItemStyled as l,
|
|
97
|
+
ContainerNodeMenuItemMainStyled as m
|
|
90
98
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { s as sideBarDesktopStyles } from "./subcomponents/SideBarDesktop/styles.js";
|
|
2
|
-
import { c as contentGroupStyles } from "./subcomponents/
|
|
2
|
+
import { c as contentGroupStyles } from "./subcomponents/TreeGroupItems/styles.js";
|
|
3
3
|
import { h as headerSidebarStyles } from "./subcomponents/HeaderSidebar/styles.js";
|
|
4
|
-
import { f as footerSideBarStyles } from "./subcomponents/
|
|
4
|
+
import { f as footerSideBarStyles } from "./subcomponents/Promotion/styles.js";
|
|
5
5
|
import { c as contentComponentStyles } from "./subcomponents/ContentComponent/style.js";
|
|
6
|
-
import { c as containerMenuItemsMainStyles } from "./subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/styles.js";
|
|
7
6
|
import { s as sideBarMobileStyles } from "./subcomponents/SideBarMobile/styles.js";
|
|
8
7
|
const sideBarStyles = {
|
|
9
|
-
...containerMenuItemsMainStyles,
|
|
10
8
|
...sideBarDesktopStyles,
|
|
11
9
|
...sideBarMobileStyles,
|
|
12
10
|
...contentGroupStyles,
|
|
@@ -2,20 +2,22 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useIsMobile } from "@m4l/graphics";
|
|
3
3
|
import { useEnvironment } from "@m4l/core";
|
|
4
4
|
import { u as useSideBar } from "../../hooks/useSideBar/index.js";
|
|
5
|
-
import { C as ContentComponentRootStyled, a as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { H as HeaderSidebar } from "../HeaderSidebar/index.js";
|
|
5
|
+
import { C as ContentComponentRootStyled, a as ContainerBtnAnchoredStyled, b as ContentComponentHideStyled, c as ContainerTreeItemsAndPromotionStyled } from "../../slots/SideBarSlots.js";
|
|
6
|
+
import { T as TreeGroupItems } from "../TreeGroupItems/index.js";
|
|
7
|
+
import { P as Promotion } from "../Promotion/index.js";
|
|
9
8
|
import { a as getComponentSlotRoot } from "../../../../utils/getComponentSlotRoot.js";
|
|
10
9
|
import { a as PATH_ARROW_RIGHT_ICON, C as CONTAINER_BTN_ANCHORED } from "../../constants.js";
|
|
10
|
+
import { useRef } from "react";
|
|
11
11
|
import { u as useComponentSize } from "../../../../hooks/useComponentSize/useComponentSize.js";
|
|
12
12
|
import { I as IconButton } from "../../../mui_extended/IconButton/IconButton.js";
|
|
13
13
|
const ContentComponent = () => {
|
|
14
|
-
const { anchored, onToggleAnchored,
|
|
14
|
+
const { anchored, onToggleAnchored, expandedWidth, size, classes, isHover, setIsHover } = useSideBar();
|
|
15
15
|
const ownerState = {
|
|
16
16
|
expandedWidth,
|
|
17
17
|
anchored
|
|
18
18
|
};
|
|
19
|
+
const btnAnchoredRef = useRef(null);
|
|
20
|
+
const contentRef = useRef(null);
|
|
19
21
|
const { host_static_assets, environment_assets } = useEnvironment();
|
|
20
22
|
const isDesktop = !useIsMobile();
|
|
21
23
|
const { currentSize } = useComponentSize(size);
|
|
@@ -24,34 +26,52 @@ const ContentComponent = () => {
|
|
|
24
26
|
onToggleAnchored(!anchored);
|
|
25
27
|
};
|
|
26
28
|
return /* @__PURE__ */ jsxs(ContentComponentRootStyled, { ownerState, children: [
|
|
27
|
-
/* @__PURE__ */ jsx(ContentComponentHideStyled, { ownerState: { ...ownerState, isDesktop }, role: "complementary", "aria-label": "hidden content", children: /* @__PURE__ */ jsxs(ContainerComponentStyled, { ownerState, children: [
|
|
28
|
-
/* @__PURE__ */ jsx(
|
|
29
|
-
HeaderSidebar,
|
|
30
|
-
{
|
|
31
|
-
title: companyName ?? "",
|
|
32
|
-
subtitle: companySlogan ?? "",
|
|
33
|
-
srcIcon: companyLogoSmallUrl ?? ""
|
|
34
|
-
}
|
|
35
|
-
),
|
|
36
|
-
/* @__PURE__ */ jsx(ContentGroups, { size: currentSize }),
|
|
37
|
-
/* @__PURE__ */ jsx(FooterSidebar, { onToggleAnchored, anchored })
|
|
38
|
-
] }) }),
|
|
39
29
|
isDesktop && /* @__PURE__ */ jsx(
|
|
40
30
|
ContainerBtnAnchoredStyled,
|
|
41
31
|
{
|
|
32
|
+
ref: btnAnchoredRef,
|
|
42
33
|
className: classRootBtnAnchored,
|
|
43
34
|
ownerState,
|
|
35
|
+
onMouseLeave: (event) => {
|
|
36
|
+
if (!anchored && contentRef.current && !contentRef.current.contains(event.relatedTarget)) {
|
|
37
|
+
setIsHover(false);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
44
40
|
children: /* @__PURE__ */ jsx(
|
|
45
41
|
IconButton,
|
|
46
42
|
{
|
|
47
43
|
role: "anchored-button",
|
|
48
|
-
variant: "outline",
|
|
44
|
+
variant: anchored ? "contained" : "outline",
|
|
49
45
|
rotationAngle: !anchored ? 0 : 180,
|
|
50
46
|
onClick: handlerAnchoredButton,
|
|
51
|
-
src: `${host_static_assets}/${environment_assets}/${PATH_ARROW_RIGHT_ICON}
|
|
47
|
+
src: `${host_static_assets}/${environment_assets}/${PATH_ARROW_RIGHT_ICON}`,
|
|
48
|
+
color: anchored ? "primary" : "default"
|
|
52
49
|
}
|
|
53
50
|
)
|
|
54
51
|
}
|
|
52
|
+
),
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
ContentComponentHideStyled,
|
|
55
|
+
{
|
|
56
|
+
ref: contentRef,
|
|
57
|
+
ownerState: { ...ownerState, isDesktop, isHover },
|
|
58
|
+
className: classes.contentComponentHide,
|
|
59
|
+
role: "complementary",
|
|
60
|
+
"aria-label": "hidden content",
|
|
61
|
+
onMouseEnter: () => {
|
|
62
|
+
!anchored && setIsHover(true);
|
|
63
|
+
},
|
|
64
|
+
onMouseLeave: (event) => {
|
|
65
|
+
if (!anchored && btnAnchoredRef.current && btnAnchoredRef.current.contains(event.relatedTarget)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
setIsHover(false);
|
|
69
|
+
},
|
|
70
|
+
children: /* @__PURE__ */ jsxs(ContainerTreeItemsAndPromotionStyled, { ownerState, children: [
|
|
71
|
+
/* @__PURE__ */ jsx(TreeGroupItems, { size: currentSize }),
|
|
72
|
+
/* @__PURE__ */ jsx(Promotion, { onToggleAnchored, anchored })
|
|
73
|
+
] })
|
|
74
|
+
}
|
|
55
75
|
)
|
|
56
76
|
] });
|
|
57
77
|
};
|