@m4l/components 9.2.63 → 9.2.65-JT17072025.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.
Files changed (165) hide show
  1. package/@types/types.d.ts +8 -0
  2. package/components/AppBar/AppBar.js +12 -10
  3. package/components/AppBar/constants.d.ts +1 -1
  4. package/components/AppBar/constants.js +1 -1
  5. package/components/AppBar/slots/AppBarEnum.d.ts +1 -5
  6. package/components/AppBar/slots/AppBarEnum.js +0 -4
  7. package/components/AppBar/slots/AppBarSlots.d.ts +4 -18
  8. package/components/AppBar/slots/AppBarSlots.js +3 -27
  9. package/components/AppBar/styles.js +0 -42
  10. package/components/AppBar/types.d.ts +8 -0
  11. package/components/Chip/ChipStyles.js +1 -1
  12. package/components/ContainerFlow/ContainerFlow.d.ts +7 -0
  13. package/components/ContainerFlow/ContainerFlow.js +25 -0
  14. package/components/ContainerFlow/ContainerFlow.styles.d.ts +2 -0
  15. package/components/ContainerFlow/ContainerFlow.styles.js +46 -0
  16. package/components/ContainerFlow/constants.d.ts +9 -0
  17. package/components/ContainerFlow/constants.js +21 -0
  18. package/components/ContainerFlow/helpers/getSpacingValue/getSpacingValue.d.ts +7 -0
  19. package/components/ContainerFlow/helpers/getSpacingValue/getSpacingValue.js +10 -0
  20. package/components/ContainerFlow/helpers/getSpacingValue/getSpacingValue.test.d.ts +1 -0
  21. package/components/ContainerFlow/index.d.ts +2 -0
  22. package/components/ContainerFlow/index.js +1 -0
  23. package/components/ContainerFlow/slots/ContainerFlowEnum.d.ts +4 -0
  24. package/components/ContainerFlow/slots/ContainerFlowEnum.js +8 -0
  25. package/components/ContainerFlow/slots/ContainerFlowSlots.d.ts +6 -0
  26. package/components/ContainerFlow/slots/ContainerFlowSlots.js +16 -0
  27. package/components/ContainerFlow/slots/index.d.ts +0 -0
  28. package/components/ContainerFlow/tests/ContainerFlow.test.d.ts +1 -0
  29. package/components/ContainerFlow/types.d.ts +41 -0
  30. package/components/DataGrid/Datagrid.styles.js +95 -8
  31. package/components/DataGrid/formatters/ColumnBooleanFormatter/formatter.d.ts +2 -1
  32. package/components/DataGrid/formatters/ColumnBooleanFormatter/formatter.js +2 -3
  33. package/components/DataGrid/formatters/ColumnBooleanFormatter/useColumnBoolean.d.ts +1 -1
  34. package/components/DataGrid/formatters/ColumnChipStatusFormatter/formatter.d.ts +2 -1
  35. package/components/DataGrid/formatters/ColumnChipStatusFormatter/formatter.js +5 -4
  36. package/components/DataGrid/formatters/ColumnChipStatusFormatter/useColumnChipStatus.d.ts +1 -1
  37. package/components/DataGrid/formatters/ColumnConcatenatedValuesFormatter/formatter.d.ts +2 -1
  38. package/components/DataGrid/formatters/ColumnConcatenatedValuesFormatter/formatter.js +11 -4
  39. package/components/DataGrid/formatters/ColumnConcatenatedValuesFormatter/useColumnConcatenatedValues.d.ts +1 -1
  40. package/components/DataGrid/formatters/ColumnDateFormatter/formatter.d.ts +2 -1
  41. package/components/DataGrid/formatters/ColumnDateFormatter/formatter.js +13 -4
  42. package/components/DataGrid/formatters/ColumnDateFormatter/useColumnDate.d.ts +1 -1
  43. package/components/DataGrid/formatters/ColumnIconFormatter/formatter.d.ts +2 -1
  44. package/components/DataGrid/formatters/ColumnIconFormatter/formatter.js +2 -2
  45. package/components/DataGrid/formatters/ColumnIconFormatter/useColumnIcon.d.ts +1 -1
  46. package/components/DataGrid/formatters/ColumnInteractiveCheckFormatter/types.d.ts +2 -2
  47. package/components/DataGrid/formatters/ColumnNestedValueFormatter/formatter.d.ts +2 -1
  48. package/components/DataGrid/formatters/ColumnNestedValueFormatter/formatter.js +4 -3
  49. package/components/DataGrid/formatters/ColumnNestedValueFormatter/useColumnNestedValue.d.ts +1 -1
  50. package/components/DataGrid/formatters/ColumnPointsFormatter/formatter.d.ts +2 -1
  51. package/components/DataGrid/formatters/ColumnPointsFormatter/formatter.js +13 -5
  52. package/components/DataGrid/formatters/ColumnPointsFormatter/useColumnPoints.d.ts +1 -1
  53. package/components/DataGrid/formatters/ColumnPriceFormatter/formatter.d.ts +2 -1
  54. package/components/DataGrid/formatters/ColumnPriceFormatter/formatter.js +11 -4
  55. package/components/DataGrid/formatters/ColumnPriceFormatter/useColumnPrice.d.ts +1 -1
  56. package/components/DataGrid/formatters/ColumnSetCheckFormatter/formatter.d.ts +2 -2
  57. package/components/DataGrid/formatters/ColumnSetCheckFormatter/formatter.js +1 -1
  58. package/components/DataGrid/formatters/ColumnSetCheckFormatter/useColumnSetCheck.d.ts +1 -1
  59. package/components/DataGrid/formatters/ColumnUncertaintyFormatter/formatter.d.ts +2 -1
  60. package/components/DataGrid/formatters/ColumnUncertaintyFormatter/formatter.js +15 -6
  61. package/components/DataGrid/formatters/ColumnUncertaintyFormatter/useColumnUncertainty.d.ts +1 -1
  62. package/components/DataGrid/index.d.ts +1 -1
  63. package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/subcomponents/ColumnsConfig/index.js +4 -5
  64. package/components/DataGrid/subcomponents/Table/hooks/getDragHeaderRenderer.d.ts +2 -2
  65. package/components/DataGrid/subcomponents/Table/hooks/useHeaderMenuActions.d.ts +2 -2
  66. package/components/DataGrid/subcomponents/Table/hooks/useHeaderMenuActions.js +15 -6
  67. package/components/DataGrid/subcomponents/Table/hooks/useSortColumnsRows.js +13 -5
  68. package/components/DataGrid/subcomponents/Table/index.d.ts +3 -1
  69. package/components/DataGrid/subcomponents/Table/index.js +38 -9
  70. package/components/DataGrid/subcomponents/Table/subcomponents/ActionsColumn.js +1 -1
  71. package/components/DataGrid/subcomponents/Table/subcomponents/CheckboxFormatter.d.ts +2 -2
  72. package/components/DataGrid/subcomponents/Table/subcomponents/DraggableHeaderRenderer.d.ts +2 -2
  73. package/components/DataGrid/subcomponents/Table/subcomponents/DraggableHeaderRenderer.js +10 -8
  74. package/components/DataGrid/subcomponents/Table/subcomponents/HeaderRenderClick/HeaderRenderClick.js +1 -1
  75. package/components/DataGrid/subcomponents/Table/subcomponents/SelectColumn.js +7 -7
  76. package/components/DataGrid/subcomponents/editors/TextEditor/index.d.ts +15 -5
  77. package/components/DataGrid/types.d.ts +9 -4
  78. package/components/Image/Image.js +4 -2
  79. package/components/Image/image.styles.js +6 -3
  80. package/components/Image/types.d.ts +5 -0
  81. package/components/LoadingError/slots/LoadingErrorSlots.js +1 -1
  82. package/components/PropertyValue/PropertyValue.styles.js +1 -1
  83. package/components/SideBar/SideBar.js +6 -2
  84. package/components/SideBar/constants.d.ts +8 -6
  85. package/components/SideBar/constants.js +8 -8
  86. package/components/SideBar/context/sideBarContext/index.js +9 -10
  87. package/components/SideBar/context/sideBarContext/types.d.ts +2 -10
  88. package/components/SideBar/slots/SideBarEnum.d.ts +8 -7
  89. package/components/SideBar/slots/SideBarEnum.js +6 -5
  90. package/components/SideBar/slots/SideBarSlots.d.ts +12 -9
  91. package/components/SideBar/slots/SideBarSlots.js +36 -28
  92. package/components/SideBar/styles.js +3 -3
  93. package/components/SideBar/subcomponents/ContentComponent/index.js +12 -68
  94. package/components/SideBar/subcomponents/ContentComponent/style.js +134 -107
  95. package/components/SideBar/subcomponents/{Promotion → FooterComponent}/index.d.ts +1 -1
  96. package/components/SideBar/subcomponents/{Promotion → FooterComponent}/index.js +4 -4
  97. package/components/SideBar/subcomponents/{Promotion → FooterComponent}/styles.js +8 -2
  98. package/components/SideBar/subcomponents/HeaderComponent/HeaderComponent.d.ts +5 -0
  99. package/components/SideBar/subcomponents/HeaderComponent/HeaderComponent.js +37 -0
  100. package/components/SideBar/subcomponents/HeaderComponent/index.d.ts +1 -0
  101. package/components/SideBar/subcomponents/HeaderComponent/index.js +1 -0
  102. package/components/SideBar/subcomponents/HeaderComponent/styles.d.ts +2 -0
  103. package/components/SideBar/subcomponents/HeaderComponent/styles.js +40 -0
  104. package/components/SideBar/subcomponents/SideBarDesktop/index.js +4 -3
  105. package/components/SideBar/subcomponents/SideBarDesktop/styles.js +4 -32
  106. package/components/SideBar/subcomponents/SideBarMobile/index.js +1 -1
  107. package/components/SideBar/subcomponents/TreeGroupItems/index.js +4 -3
  108. package/components/SideBar/subcomponents/TreeGroupItems/styles.js +112 -2
  109. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/AdormentIcon/AdormentIcon.d.ts +7 -0
  110. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/AdormentIcon/AdormentIcon.js +12 -0
  111. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/AdormentIcon/types.d.ts +4 -0
  112. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/index.js +9 -7
  113. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/types.d.ts +1 -0
  114. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/NodeMenuItemMain.js +11 -6
  115. package/components/SideBar/types.d.ts +12 -7
  116. package/components/commercial/HamburgerMenu/HamburgerMenu.js +1 -2
  117. package/components/hook-form/RHFPeriod/subcomponents/Period/Period.js +4 -4
  118. package/components/hook-form/RHFPeriod/subcomponents/Period/dictionary.d.ts +1 -1
  119. package/components/hook-form/RHFPeriod/subcomponents/Period/dictionary.js +7 -6
  120. package/components/index.d.ts +1 -0
  121. package/components/mui_extended/Accordion/styles.js +3 -5
  122. package/components/mui_extended/MenuItem/MenuItem.js +3 -2
  123. package/components/mui_extended/MenuItem/types.d.ts +4 -0
  124. package/components/mui_extended/TabContent/TabContent.js +2 -2
  125. package/components/mui_extended/TabContent/TabContent.styles.js +4 -1
  126. package/components/mui_extended/TabContent/constants.d.ts +1 -0
  127. package/components/mui_extended/TabContent/constants.js +2 -0
  128. package/components/mui_extended/TabContent/types.d.ts +13 -1
  129. package/components/mui_extended/Typography/Typography.js +3 -1
  130. package/components/mui_extended/Typography/types.d.ts +5 -0
  131. package/components/mui_extended/Typography/typography.styles.js +7 -1
  132. package/index.js +32 -30
  133. package/package.json +2 -2
  134. package/storybook/components/ContainerFlow/ContainerFlow.stories.d.ts +32 -0
  135. package/storybook/components/ContainerFlow/subcomponents/RenderFlexColumn/index.d.ts +5 -0
  136. package/storybook/components/ContainerFlow/subcomponents/RenderFlexColumn1Wrappers/index.d.ts +5 -0
  137. package/storybook/components/ContainerFlow/subcomponents/RenderFlexColumn2Wrappers/index.d.ts +5 -0
  138. package/storybook/components/ContainerFlow/subcomponents/RenderFlexColumn3Wrappers/index.d.ts +5 -0
  139. package/storybook/components/ContainerFlow/subcomponents/RenderFlexWrap/index.d.ts +5 -0
  140. package/storybook/components/ContainerFlow/subcomponents/RenderGridLayout/index.d.ts +5 -0
  141. package/storybook/components/ContainerFlow/wrapperItems/index.d.ts +10 -0
  142. package/storybook/components/DataGrid/DataGrid.stories.d.ts +4 -0
  143. package/storybook/components/DataGrid/helpers/types.d.ts +3 -2
  144. package/storybook/components/SideBar/SideBar.stories.d.ts +5 -11
  145. package/storybook/components/SideBar/subcomponents/FooterComponentHost/FooterComponentHost.d.ts +4 -0
  146. package/storybook/components/SideBar/subcomponents/FooterComponentHost/index.d.ts +1 -0
  147. package/storybook/components/SideBar/subcomponents/FooterComponentMicrofrontend/FooterComponentMicrofrontend.d.ts +4 -0
  148. package/storybook/components/SideBar/subcomponents/FooterComponentMicrofrontend/FooterComponentMicrofrontend.stories.d.ts +14 -0
  149. package/storybook/components/SideBar/subcomponents/FooterComponentMicrofrontend/constants.d.ts +1 -0
  150. package/storybook/components/SideBar/subcomponents/FooterComponentMicrofrontend/index.d.ts +1 -0
  151. package/storybook/components/SideBar/subcomponents/HeaderComponentHost/HeaderComponentHost.d.ts +5 -0
  152. package/storybook/components/SideBar/subcomponents/HeaderComponentHost/constants.d.ts +1 -0
  153. package/storybook/components/SideBar/subcomponents/HeaderComponentMicrofrontend/HeaderComponentMicrofrontend.d.ts +5 -0
  154. package/storybook/components/SideBar/subcomponents/HeaderComponentMicrofrontend/constants.d.ts +1 -0
  155. package/utils/getSizeStyles/getSizeStyles.d.ts +1 -1
  156. package/components/SideBar/subcomponents/HeaderSidebar/index.d.ts +0 -6
  157. package/components/SideBar/subcomponents/HeaderSidebar/styles.d.ts +0 -2
  158. package/components/SideBar/subcomponents/HeaderSidebar/styles.js +0 -24
  159. package/components/SideBar/subcomponents/HeaderSidebar/types.d.ts +0 -5
  160. package/helpers/getFieldValueWithRow.js +0 -10
  161. package/storybook/components/SideBar/subcomponents/FooterPromotion/FooterPromotion.d.ts +0 -4
  162. package/storybook/components/SideBar/subcomponents/FooterPromotion/index.d.ts +0 -1
  163. /package/components/SideBar/subcomponents/{Promotion → FooterComponent}/styles.d.ts +0 -0
  164. /package/components/SideBar/subcomponents/{Promotion → FooterComponent}/types.d.ts +0 -0
  165. /package/storybook/components/SideBar/subcomponents/{FooterPromotion → FooterComponentHost}/constants.d.ts +0 -0
@@ -1,3 +1,4 @@
1
+ import { g as getSizeStyles } from "../../../../utils/getSizeStyles/getSizeStyles.js";
1
2
  const contentGroupStyles = {
2
3
  /**
3
4
  * Container for the group items in the sidebar
@@ -9,9 +10,17 @@ const contentGroupStyles = {
9
10
  flex: 1,
10
11
  flexDirection: "column",
11
12
  overflowY: "auto",
12
- padding: `${theme.vars.size.baseSpacings.sp3} 0px 0px 0px`,
13
13
  alignItems: "center",
14
- justifyContent: ownerState?.noItems ? "center" : "flex-start"
14
+ justifyContent: ownerState?.noItems ? "center" : "flex-start",
15
+ transition: "all 0.5s",
16
+ paddingTop: theme.vars.size.baseSpacings.sp3,
17
+ paddingLeft: theme.vars.size.baseSpacings.sp4,
18
+ paddingRight: theme.vars.size.baseSpacings.sp4,
19
+ gap: theme.vars.size.baseSpacings.sp4,
20
+ ...!ownerState?.anchored && !theme.generalSettings.isMobile && {
21
+ transition: "all 0.5s",
22
+ visibility: "hidden"
23
+ }
15
24
  }),
16
25
  /**
17
26
  * Wrapper for every principal item group in the sidebar
@@ -28,6 +37,7 @@ const contentGroupStyles = {
28
37
  containerContentTitle: ({ theme, ownerState }) => ({
29
38
  padding: `${theme.vars.size.baseSpacings.sp3} ${theme.vars.size.baseSpacings.sp4} ${theme.vars.size.baseSpacings.sp1}`,
30
39
  color: theme.vars.palette.text.primary,
40
+ width: "100%",
31
41
  textAlign: "left",
32
42
  "& .MuiTypography-root": {
33
43
  color: !ownerState?.disabled ? theme.vars.palette.text.primary : `${theme.vars.palette.text.primary} !important`
@@ -62,6 +72,106 @@ const contentGroupStyles = {
62
72
  alignSelf: "center",
63
73
  lineHeight: 0,
64
74
  marginLeft: "auto"
75
+ }),
76
+ /**
77
+ * Wrapper for the menu item
78
+ */
79
+ wrapperMenuItem: ({ theme, ownerState }) => ({
80
+ display: "flex",
81
+ position: "relative",
82
+ paddingTop: theme.vars.size.baseSpacings.sp2,
83
+ paddingBottom: theme.vars.size.baseSpacings.sp2,
84
+ paddingLeft: theme.vars.size.baseSpacings.sp2,
85
+ paddingRight: theme.vars.size.baseSpacings.sp2,
86
+ ...getSizeStyles(
87
+ theme,
88
+ ownerState?.size || "medium",
89
+ "container",
90
+ (size) => ({
91
+ minHeight: size,
92
+ height: "auto"
93
+ })
94
+ )
95
+ }),
96
+ /**
97
+ * Styles applied to the container of the adornment icon in the header component
98
+ */
99
+ containerAdornmentIcon: ({ theme, ownerState }) => ({
100
+ overflow: "hidden",
101
+ borderRadius: theme.vars.size.borderRadius["r1-5"],
102
+ display: "flex",
103
+ justifyContent: "center",
104
+ alignItems: "center",
105
+ position: "relative",
106
+ width: "fit-content",
107
+ height: "fit-content",
108
+ minWidth: "fit-content",
109
+ minHeight: "fit-content",
110
+ padding: "1px",
111
+ "& .M4LIcon-root": {
112
+ width: "fit-content",
113
+ height: "fit-content",
114
+ padding: theme.vars.size.baseSpacings["sp0-5"],
115
+ "& .M4LIcon-icon": {
116
+ ...getSizeStyles(
117
+ theme,
118
+ ownerState?.size || "medium",
119
+ "case",
120
+ (sizeValue) => ({
121
+ width: `${sizeValue}!important`,
122
+ height: `${sizeValue}!important`,
123
+ minWidth: `${sizeValue}!important`,
124
+ minHeight: `${sizeValue}!important`
125
+ })
126
+ )
127
+ }
128
+ },
129
+ ...ownerState?.variant !== "itemActive" && ownerState?.variant !== "normal" && {
130
+ "& .M4LIcon-icon": {
131
+ backgroundColor: `${theme.vars.palette.chips.persianGreen.contained.colorTone}!important`
132
+ }
133
+ },
134
+ ...ownerState?.variant === "normal" && {
135
+ "& .M4LIcon-icon": {
136
+ backgroundColor: `${theme.vars.palette.text.secondary}!important`
137
+ }
138
+ },
139
+ ...ownerState?.variant === "main" && {
140
+ backgroundColor: theme.vars.palette.chips.persianGreen.contained.backgroundColorTone
141
+ },
142
+ ...ownerState?.variant === "root" && {
143
+ backgroundColor: theme.vars.palette.primary.enabled
144
+ },
145
+ ...ownerState?.variant === "itemActive" && {
146
+ boxShadow: theme.vars.customShadows.primary2,
147
+ background: `linear-gradient(to right,
148
+ ${theme.vars.palette.primary.opacityGradient1},
149
+ ${theme.vars.palette.primary.opacityGradient2})`,
150
+ "& .M4LSideBar-backgroundAdornmentIcon": {
151
+ background: theme.vars.palette.background.default
152
+ },
153
+ "&::before": {
154
+ content: '""',
155
+ position: "absolute",
156
+ inset: "1.4px",
157
+ background: theme.vars.palette.primary.enabledOpacity,
158
+ borderRadius: "5px"
159
+ },
160
+ "& .M4LIcon-icon": {
161
+ backgroundColor: `${theme.vars.palette.primary.enabled}!important`
162
+ }
163
+ }
164
+ }),
165
+ /**
166
+ * Styles applied to the background of the adornment icon in the header component
167
+ */
168
+ backgroundAdornmentIcon: () => ({
169
+ width: "100%",
170
+ height: "100%",
171
+ display: "flex",
172
+ justifyContent: "center",
173
+ alignItems: "center",
174
+ borderRadius: "5px"
65
175
  })
66
176
  };
67
177
  export {
@@ -0,0 +1,7 @@
1
+ import { AdornmentIconProps } from './types';
2
+ /**
3
+ * Adornment icon component
4
+ * @param props - Adornment icon props
5
+ * @returns Adornment icon component
6
+ */
7
+ export declare const AdornmentIcon: (props: AdornmentIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { u as useSideBar } from "../../../../hooks/useSideBar/index.js";
3
+ import { i as ContainerAdornmentIconStyled, j as BackgroundAdornmentIconStyled } from "../../../../slots/SideBarSlots.js";
4
+ import { I as Icon } from "../../../../../Icon/Icon.js";
5
+ const AdornmentIcon = (props) => {
6
+ const { icon, variant = "main" } = props;
7
+ const { classes } = useSideBar();
8
+ return /* @__PURE__ */ jsx(ContainerAdornmentIconStyled, { ownerState: { variant }, children: /* @__PURE__ */ jsx(BackgroundAdornmentIconStyled, { className: classes.backgroundAdornmentIcon, children: /* @__PURE__ */ jsx(Icon, { src: icon }) }) });
9
+ };
10
+ export {
11
+ AdornmentIcon as A
12
+ };
@@ -0,0 +1,4 @@
1
+ export interface AdornmentIconProps {
2
+ icon: string;
3
+ variant: 'main' | 'root' | 'itemActive' | 'normal';
4
+ }
@@ -5,14 +5,15 @@ import { u as useSideBar } from "../../../../hooks/useSideBar/index.js";
5
5
  import { T as TEST_PROP_ID } from "../../../../../../test/constants_no_mock.js";
6
6
  import { g as getNameDataTestId } from "../../../../tests/utils.js";
7
7
  import { A as ArrowIcon } from "../ArrowIcon/index.js";
8
- import { l as ContainerNodeMenuItemStyled } from "../../../../slots/SideBarSlots.js";
9
- import { c as CLASS_NAME_MENU_ACTIVE, d as CLASS_NAME_ITEM_IN_TREE_ACTIVE, e as CLASS_NAME_HAS_CHILDREN } from "../../../../constants.js";
8
+ import { l as ContainerNodeMenuItemStyled, W as WrapperMenuItemStyled } from "../../../../slots/SideBarSlots.js";
9
+ import { a as CLASS_NAME_MENU_ACTIVE, b as CLASS_NAME_ITEM_IN_TREE_ACTIVE, c as CLASS_NAME_HAS_CHILDREN, d as CLASS_NAME_ITEM_CLOSED } from "../../../../constants.js";
10
10
  import { useModuleSkeleton } from "@m4l/core";
11
+ import { A as AdornmentIcon } from "../AdormentIcon/AdormentIcon.js";
11
12
  import { u as useCollapse } from "../../../../hooks/useCollapse/useCollapse.js";
12
13
  import { u as useComponentSize } from "../../../../../../hooks/useComponentSize/useComponentSize.js";
13
14
  import { M as MenuItem } from "../../../../../mui_extended/MenuItem/MenuItem.js";
14
15
  function NodeMenuItem(props) {
15
- const { item, size, defaultOpen = false, className, isLastSibling = false } = props;
16
+ const { item, size, defaultOpen = false, className, isLastSibling = false, isRoot = false } = props;
16
17
  const { urlIconPrefix, classes } = useSideBar();
17
18
  const { isOpen, handlerClick, hasChildren } = useCollapse(item, defaultOpen);
18
19
  const { currentSize } = useComponentSize(size);
@@ -33,23 +34,24 @@ function NodeMenuItem(props) {
33
34
  ownerState,
34
35
  ...process.env.NODE_ENV !== "production" ? { [TEST_PROP_ID]: getNameDataTestId("menuItems") } : {},
35
36
  children: [
36
- /* @__PURE__ */ jsx(
37
+ /* @__PURE__ */ jsx(WrapperMenuItemStyled, { ownerState, className: classes.wrapperMenuItem, children: /* @__PURE__ */ jsx(
37
38
  MenuItem,
38
39
  {
39
40
  className: clsx(
40
41
  CLASS_NAME_ITEM_STATE,
41
42
  className,
42
43
  item.children && item.children.length > 0 && CLASS_NAME_HAS_CHILDREN,
43
- item.itemInTreeActive && CLASS_NAME_ITEM_IN_TREE_ACTIVE
44
+ item.itemInTreeActive && CLASS_NAME_ITEM_IN_TREE_ACTIVE,
45
+ !isOpen && CLASS_NAME_ITEM_CLOSED
44
46
  ),
45
47
  label: item.title,
46
48
  selected: item.active,
47
- startIcon: `${urlIconPrefix}${item.iconUrl}`,
49
+ startIcon: /* @__PURE__ */ jsx(AdornmentIcon, { icon: `${urlIconPrefix}${item.iconUrl}`, variant: isRoot && item.itemInTreeActive ? "root" : item.active ? "itemActive" : "normal" }),
48
50
  endIcon: hasChildren ? /* @__PURE__ */ jsx(ArrowIcon, { openState: isOpen, active: item.active }) : null,
49
51
  onClick: () => handlerClick(),
50
52
  size: currentSize
51
53
  }
52
- ),
54
+ ) }),
53
55
  hasChildren ? /* @__PURE__ */ jsx(Collapse, { in: isOpen, timeout: "auto", unmountOnExit: true, children: (item.children || []).map((child, index) => /* @__PURE__ */ jsx(
54
56
  NodeMenuItem,
55
57
  {
@@ -6,4 +6,5 @@ export type NodeMenuItemProps = {
6
6
  size: Extract<Sizes, 'small' | 'medium'>;
7
7
  className?: string;
8
8
  isLastSibling?: boolean;
9
+ isRoot?: boolean;
9
10
  };
@@ -1,17 +1,20 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { m as ContainerNodeMenuItemMainStyled, M as MenuItemMainStyled } from "../../../../slots/SideBarSlots.js";
2
+ import { m as ContainerNodeMenuItemMainStyled, W as WrapperMenuItemStyled, M as MenuItemMainStyled } from "../../../../slots/SideBarSlots.js";
3
3
  import { g as getNameDataTestId } from "../../../../tests/utils.js";
4
4
  import { T as TEST_PROP_ID } from "../../../../../../test/constants_no_mock.js";
5
5
  import { A as ArrowIcon } from "../ArrowIcon/index.js";
6
6
  import { Collapse } from "@mui/material";
7
7
  import { N as NodeMenuItem } from "../NodeMenuItem/index.js";
8
- import { b as CLASS_NAME_IS_ROOT } from "../../../../constants.js";
8
+ import { C as CLASS_NAME_IS_ROOT } from "../../../../constants.js";
9
9
  import clsx from "clsx";
10
10
  import { useModuleSkeleton } from "@m4l/core";
11
+ import { u as useSideBar } from "../../../../hooks/useSideBar/index.js";
12
+ import { A as AdornmentIcon } from "../AdormentIcon/AdormentIcon.js";
11
13
  import { u as useComponentSize } from "../../../../../../hooks/useComponentSize/useComponentSize.js";
12
14
  import { u as useCollapse } from "../../../../hooks/useCollapse/useCollapse.js";
13
15
  const NodeMenuItemMain = (props) => {
14
16
  const { item, size, defaultOpen = false } = props;
17
+ const { urlIconPrefix, classes } = useSideBar();
15
18
  const { currentSize } = useComponentSize(size);
16
19
  const { isOpen, handlerClick, hasChildren } = useCollapse(item, defaultOpen);
17
20
  const isSkeleton = useModuleSkeleton();
@@ -27,15 +30,16 @@ const NodeMenuItemMain = (props) => {
27
30
  ownerState,
28
31
  ...process.env.NODE_ENV !== "production" ? { [TEST_PROP_ID]: getNameDataTestId("menuItems") } : {},
29
32
  children: [
30
- /* @__PURE__ */ jsx(
33
+ /* @__PURE__ */ jsx(WrapperMenuItemStyled, { ownerState, className: classes.wrapperMenuItem, children: /* @__PURE__ */ jsx(
31
34
  MenuItemMainStyled,
32
35
  {
33
36
  label: item.title,
34
- startIcon: hasChildren ? /* @__PURE__ */ jsx(ArrowIcon, { openState: isOpen, active: item.active }) : null,
37
+ startIcon: /* @__PURE__ */ jsx(AdornmentIcon, { icon: `${urlIconPrefix}${item.iconUrl}`, variant: "main" }),
38
+ endIcon: hasChildren ? /* @__PURE__ */ jsx(ArrowIcon, { openState: isOpen, active: item.active }) : null,
35
39
  onClick: () => handlerClick(),
36
40
  size: currentSize
37
41
  }
38
- ),
42
+ ) }),
39
43
  /* @__PURE__ */ jsx(Collapse, { in: isOpen, timeout: "auto", unmountOnExit: true, children: (item.children || []).map((child, index) => /* @__PURE__ */ jsx(
40
44
  NodeMenuItem,
41
45
  {
@@ -43,7 +47,8 @@ const NodeMenuItemMain = (props) => {
43
47
  size: currentSize,
44
48
  className: clsx(CLASS_NAME_IS_ROOT),
45
49
  defaultOpen: isSkeleton ? false : true,
46
- isLastSibling: item.children?.length === index + 1
50
+ isLastSibling: item.children?.length === index + 1,
51
+ isRoot: true
47
52
  },
48
53
  child.title
49
54
  )) })
@@ -51,10 +51,6 @@ export interface SideBarProps {
51
51
  * Slogan de la empresa
52
52
  */
53
53
  companySlogan?: string;
54
- /**
55
- * Indica la variación de estilo del componente
56
- */
57
- variantStyle?: 'variantDefault' | 'variantComercial';
58
54
  moduleSelectedId?: string | undefined;
59
55
  onMenuItemClick: (item: MenuDataType) => void;
60
56
  /**
@@ -74,10 +70,19 @@ export interface SideBarProps {
74
70
  */
75
71
  urlIconPrefix?: string;
76
72
  /**
77
- * Promoción del sidebar, se renderiza en el footer del sidebar
73
+ * Variación del componente, puede ser uno de los valores definidos en 'variantDefault' , 'variantComercial'
74
+ */
75
+ variant?: SidebarVariants;
76
+ /**
77
+ * Componente que se renderiza en el encabezado del sidebar
78
+ */
79
+ headerComponent?: ReactElement;
80
+ /**
81
+ * Componente que se renderiza en el pie de página del sidebar
78
82
  */
79
- promotion?: ReactElement;
83
+ footerComponent?: ReactElement;
80
84
  }
85
+ export type SidebarVariants = 'host' | 'microfrontend';
81
86
  /**
82
87
  * Interface que representa el estado de un elemento de menú en la barra lateral.
83
88
  */
@@ -96,7 +101,7 @@ export type SideBarOwnerState = Pick<IMenuDataWithState, 'active' | 'itemInTreeA
96
101
  export type SideBarStyles = M4LOverridesStyleRules<SideBarSlotsType, typeof SIDEBAR_KEY_COMPONENT, Theme>;
97
102
  export type SideBarDesktopStyles = M4LOverridesStyleRules<SideBarDesktopSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
98
103
  export type ContentGroupsStyles = M4LOverridesStyleRules<ContentGroupsSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
99
- export type HeaderSidebarStyles = M4LOverridesStyleRules<HeaderSidebarSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
104
+ export type HeaderComponentStyles = M4LOverridesStyleRules<HeaderSidebarSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
100
105
  export type SideBarFooterStyles = M4LOverridesStyleRules<SideBarFooterSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
101
106
  export type SideBarMobileStyles = M4LOverridesStyleRules<SideBarMobileSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
102
107
  export type ContentComponentStyles = M4LOverridesStyleRules<ContentComponentSlots, typeof SIDEBAR_KEY_COMPONENT, Theme>;
@@ -44,8 +44,7 @@ const HamburgerMenu = (props) => {
44
44
  onToggleVisible: handlerOnVisible,
45
45
  anchored: false,
46
46
  companyLogoSmallUrl: "",
47
- companyName: "",
48
- variantStyle: "variantComercial"
47
+ companyName: ""
49
48
  }
50
49
  )
51
50
  ]
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useModuleDictionary, useEnvironment } from "@m4l/core";
3
3
  import { E as ETimePeriods } from "./types.js";
4
- import { d as dictionary } from "./dictionary.js";
4
+ import { D as DICTIONARY } from "./dictionary.js";
5
5
  import { useMemo } from "react";
6
6
  import { u as useComponentSize } from "../../../../../hooks/useComponentSize/useComponentSize.js";
7
7
  import { P as PeriodRootStyled, S as SelectStyled, T as TextFieldStyled } from "../../slots/RHFPeriodSlots.js";
@@ -19,9 +19,9 @@ const Period = (props) => {
19
19
  const { host_static_assets, environment_assets } = useEnvironment();
20
20
  const options = useMemo(
21
21
  () => [
22
- { id: ETimePeriods.YEARS.toString(), label: getLabel(dictionary.LABEL_YEARS) },
23
- { id: ETimePeriods.MONTHS.toString(), label: getLabel(dictionary.LABEL_MONTHS) },
24
- { id: ETimePeriods.DAYS.toString(), label: getLabel(dictionary.LABEL_DAYS) }
22
+ { id: ETimePeriods.YEARS.toString(), label: getLabel(DICTIONARY.LABEL_YEARS) },
23
+ { id: ETimePeriods.MONTHS.toString(), label: getLabel(DICTIONARY.LABEL_MONTHS) },
24
+ { id: ETimePeriods.DAYS.toString(), label: getLabel(DICTIONARY.LABEL_DAYS) }
25
25
  ],
26
26
  [getLabel]
27
27
  );
@@ -1,5 +1,5 @@
1
1
  export declare const PERIOD_FORMATTER_DICTIONARY_KEY = "period_formatter";
2
- export declare const dictionary: {
2
+ export declare const DICTIONARY: {
3
3
  LABEL_YEARS: string;
4
4
  LABEL_MONTHS: string;
5
5
  LABEL_DAYS: string;
@@ -1,13 +1,14 @@
1
1
  import { g as getCommonActionsDictionary } from "../../../../CommonActions/dictionary.js";
2
- const dictionary = {
3
- LABEL_YEARS: "period.label_years",
4
- LABEL_MONTHS: "period.label_months",
5
- LABEL_DAYS: "period.label_days"
2
+ const DICTIONARY_KEY = "rhf_period";
3
+ const DICTIONARY = {
4
+ LABEL_YEARS: `${DICTIONARY_KEY}.label_years`,
5
+ LABEL_MONTHS: `${DICTIONARY_KEY}.label_months`,
6
+ LABEL_DAYS: `${DICTIONARY_KEY}.label_days`
6
7
  };
7
8
  function getPeriodComponetsDictionary() {
8
- return ["period"].concat(getCommonActionsDictionary());
9
+ return [DICTIONARY_KEY].concat(getCommonActionsDictionary());
9
10
  }
10
11
  export {
11
- dictionary as d,
12
+ DICTIONARY as D,
12
13
  getPeriodComponetsDictionary as g
13
14
  };
@@ -7,6 +7,7 @@ export * from './BaseModule';
7
7
  export * from './Chip';
8
8
  export * from './commercial';
9
9
  export * from './CommonActions/';
10
+ export * from './ContainerFlow';
10
11
  export * from './CommonActions/dictionary';
11
12
  export * from './DataGrid';
12
13
  export * from './DragResizeWindowRND';
@@ -16,7 +16,8 @@ const accordionStyles = {
16
16
  borderRadius: "unset"
17
17
  },
18
18
  margin: "unset",
19
- overflow: "visible"
19
+ overflow: "visible",
20
+ height: "min-content"
20
21
  }
21
22
  }),
22
23
  /**
@@ -102,10 +103,7 @@ const accordionStyles = {
102
103
  * **************************************************************
103
104
  */
104
105
  accordionDetails: ({ theme, ownerState }) => ({
105
- paddingLeft: theme.vars.size.baseSpacings.sp3,
106
- paddingRight: theme.vars.size.baseSpacings.sp3,
107
- paddingTop: theme.vars.size.baseSpacings.sp1,
108
- paddingBottom: theme.vars.size.baseSpacings.sp1,
106
+ padding: theme.vars.size.baseSpacings.sp4,
109
107
  background: theme.vars.palette.background.default,
110
108
  display: "flex",
111
109
  flexDirection: "column",
@@ -20,6 +20,7 @@ const MenuItem = (props) => {
20
20
  checked = false,
21
21
  checkable = false,
22
22
  className,
23
+ dataTestId,
23
24
  ...other
24
25
  } = props;
25
26
  const { currentSize } = useComponentSize(size);
@@ -83,7 +84,7 @@ const MenuItem = (props) => {
83
84
  disableRipple: true,
84
85
  size: adjustedSize,
85
86
  className: clsx(className, MENUITEM_CLASSES.root),
86
- "data-testid": "MenuItemRoot",
87
+ "data-testid": dataTestId || "MenuItemRoot",
87
88
  children: [
88
89
  checkable && /* @__PURE__ */ jsx(
89
90
  MenuItemIconCheckedStyled,
@@ -94,7 +95,7 @@ const MenuItem = (props) => {
94
95
  disabled
95
96
  }
96
97
  ),
97
- /* @__PURE__ */ jsxs(MenuItemContainerStyled, { ownerState: { ...ownerState }, children: [
98
+ /* @__PURE__ */ jsxs(MenuItemContainerStyled, { ownerState: { ...ownerState }, className: MENUITEM_CLASSES.menuItemContainer, children: [
98
99
  renderIcon(startIcon, "MenuItemStartIcon", getComponentSlotRoot("MenuItemStartIcon")),
99
100
  /* @__PURE__ */ jsx(
100
101
  MenuItemTypographyStyled,
@@ -53,6 +53,10 @@ export interface MenuItemProps extends Omit<MUIMenuItemProps, 'size' | 'color'>
53
53
  * indica si debe aparecer el icono de check
54
54
  */
55
55
  checkable?: boolean;
56
+ /**
57
+ * ID para pruebas que se pasará como data-testid
58
+ */
59
+ dataTestId?: string;
56
60
  }
57
61
  /**
58
62
  * Estado del propietario del `MenuItem` utilizado para definir propiedades internas de estilo y comportamiento.
@@ -3,9 +3,9 @@ import { a as getComponentSlotRoot } from "../../../utils/getComponentSlotRoot.j
3
3
  import { T as TAB_CONTENT_KEY_COMPONENT } from "./constants.js";
4
4
  import { T as TabContentRootStyled } from "./slots/TabContentSlots.js";
5
5
  const TabContent = (props) => {
6
- const { children, className, background = false, ...others } = props;
6
+ const { children, className, hasBackground = false, ...others } = props;
7
7
  const root = getComponentSlotRoot(TAB_CONTENT_KEY_COMPONENT);
8
- return /* @__PURE__ */ jsx(TabContentRootStyled, { className: root, ownerState: { background }, ...others, children });
8
+ return /* @__PURE__ */ jsx(TabContentRootStyled, { className: root, ownerState: { hasBackground }, ...others, children });
9
9
  };
10
10
  export {
11
11
  TabContent as T
@@ -1,3 +1,4 @@
1
+ import { C as CONTAINER_QUERY_NAME } from "./constants.js";
1
2
  const tabContentStyles = {
2
3
  /**
3
4
  * Elemento root referencia a `TabContent`
@@ -9,6 +10,8 @@ const tabContentStyles = {
9
10
  paddingRight: 0,
10
11
  display: "flex",
11
12
  overflow: "auto",
13
+ containerName: CONTAINER_QUERY_NAME,
14
+ containerType: "inline-size",
12
15
  // height: '100%',
13
16
  flexDirection: "column",
14
17
  gap: theme.vars.size.baseSpacings.sp2,
@@ -20,7 +23,7 @@ const tabContentStyles = {
20
23
  boxSizing: "border-box",
21
24
  zIndex: "0",
22
25
  top: "-1px",
23
- ...ownerState?.background ? {
26
+ ...ownerState?.hasBackground ? {
24
27
  backgroundColor: theme.vars.palette.background.base,
25
28
  paddingLeft: theme.vars.size.baseSpacings.sp2,
26
29
  paddingRight: theme.vars.size.baseSpacings.sp2,
@@ -1 +1,2 @@
1
1
  export declare const TAB_CONTENT_KEY_COMPONENT = "M4LTabContent";
2
+ export declare const CONTAINER_QUERY_NAME = "container";
@@ -1,4 +1,6 @@
1
1
  const TAB_CONTENT_KEY_COMPONENT = "M4LTabContent";
2
+ const CONTAINER_QUERY_NAME = "container";
2
3
  export {
4
+ CONTAINER_QUERY_NAME as C,
3
5
  TAB_CONTENT_KEY_COMPONENT as T
4
6
  };
@@ -4,9 +4,21 @@ import { TABS_KEY_COMPONENT } from '../Tabs/constants';
4
4
  import { TabContentSlots } from './slots/TabContentEnum';
5
5
  import { M4LOverridesStyleRules } from '../../../@types/augmentations';
6
6
  export interface TabContentProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
7
+ /**
8
+ * Contenido del tab.
9
+ */
7
10
  children: React.ReactNode;
11
+ /**
12
+ * Estilos personalizados para el contenido del tab.
13
+ */
8
14
  style?: React.CSSProperties;
15
+ /**
16
+ * Clave única para el contenido del tab.
17
+ */
9
18
  key?: Key | null | undefined;
10
- background?: boolean;
19
+ /**
20
+ * Si es verdadero, el contenido del tab se mostrará con un fondo que contrasta con el fondo de la app.
21
+ */
22
+ hasBackground?: boolean;
11
23
  }
12
24
  export type TabContentStyles = M4LOverridesStyleRules<keyof typeof TabContentSlots, typeof TABS_KEY_COMPONENT, Theme>;
@@ -17,6 +17,7 @@ function Typography(props) {
17
17
  dataTestid,
18
18
  children,
19
19
  disabled,
20
+ ellipsis = false,
20
21
  ...other
21
22
  } = props;
22
23
  const isSkeleton = useModuleSkeleton();
@@ -28,7 +29,8 @@ function Typography(props) {
28
29
  size: adjustedSize,
29
30
  skeletonRows,
30
31
  variant,
31
- skeleton: isSkeleton
32
+ skeleton: isSkeleton,
33
+ ellipsis
32
34
  };
33
35
  return /* @__PURE__ */ jsx(
34
36
  StyledMUITypography,
@@ -43,6 +43,10 @@ export interface TypographyProps extends Omit<MUITypographyProps, 'color' | 'var
43
43
  htmlFor?: string | undefined;
44
44
  /** Si esta disabled, el texto pasa a text.disabled */
45
45
  disabled?: boolean;
46
+ /**
47
+ * Si se activa, el texto se corta y se muestra un elipsis.
48
+ */
49
+ ellipsis?: boolean;
46
50
  }
47
51
  /**
48
52
  * Define valores de estado necesarios para estilar el componente.
@@ -54,6 +58,7 @@ export interface TypographyOwnerState {
54
58
  size: TypographyProps['size'];
55
59
  skeletonRows: TypographyProps['skeletonRows'];
56
60
  skeleton: boolean;
61
+ ellipsis: TypographyProps['ellipsis'];
57
62
  }
58
63
  /**
59
64
  * Agrupa la lista de slots del componente.
@@ -32,7 +32,13 @@ const typographyStyles = {
32
32
  theme.generalSettings.isMobile,
33
33
  ownerState?.size || "medium",
34
34
  ownerState?.variant || "body"
35
- )
35
+ ),
36
+ // ellipsis 🔤
37
+ ...ownerState?.ellipsis && {
38
+ overflow: "hidden",
39
+ textOverflow: "ellipsis",
40
+ whiteSpace: "nowrap"
41
+ }
36
42
  },
37
43
  ...ownerState?.skeleton ? {
38
44
  width: ownerState?.width ? ownerState?.width : "100%"