@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.
Files changed (131) hide show
  1. package/.storybook/decorators/WithAppearanceContext/WithAppearanceContext.d.ts +1 -1
  2. package/.storybook/decorators/WithWindowsToolsAndParmsMFContexts/WithWindowsToolsAndParmsMFContexts.d.ts +5 -0
  3. package/components/DataGrid/Datagrid.styles.js +4 -12
  4. package/components/DataGrid/contexts/DataGridContext/types.d.ts +4 -0
  5. package/components/DataGrid/subcomponents/Table/hooks/useSortColumnsRows.js +2 -0
  6. package/components/DynamicFilter/DynamicFilter.styles.js +87 -91
  7. package/components/DynamicFilter/slots/SlotsEnum.d.ts +0 -3
  8. package/components/DynamicFilter/slots/SlotsEnum.js +0 -3
  9. package/components/DynamicFilter/slots/dynamicFilterSlots.d.ts +0 -9
  10. package/components/DynamicFilter/slots/dynamicFilterSlots.js +3 -19
  11. package/components/DynamicFilter/store/DynamicFilterContext.js +5 -6
  12. package/components/DynamicFilter/subcomponents/FilterActions/FilterActions.js +1 -1
  13. package/components/DynamicFilter/subcomponents/FilterActions/useFilterActions.d.ts +1 -0
  14. package/components/DynamicFilter/subcomponents/FilterActions/useFilterActions.js +2 -1
  15. package/components/DynamicFilter/subcomponents/InputFilter/InputFilter.js +2 -0
  16. package/components/DynamicFilter/subcomponents/PopoverFilter/PopoverFilter.js +23 -18
  17. package/components/DynamicFilter/subcomponents/PopoverMenuFields/PopoverMenuFields.js +4 -1
  18. package/components/DynamicSort/DynamicSort.styles.js +86 -87
  19. package/components/DynamicSort/slots/DynamicSortSlots.d.ts +0 -9
  20. package/components/DynamicSort/slots/DynamicSortSlots.js +5 -21
  21. package/components/DynamicSort/slots/SlotsEnum.d.ts +1 -4
  22. package/components/DynamicSort/slots/SlotsEnum.js +1 -4
  23. package/components/DynamicSort/subcomponents/InputSort/InputSort.js +2 -0
  24. package/components/DynamicSort/subcomponents/PopoverSort/PopoverSort.js +21 -17
  25. package/components/DynamicSort/subcomponents/SortActions/SortActions.js +2 -2
  26. package/components/DynamicSort/subcomponents/SortActions/useSortActions.d.ts +2 -0
  27. package/components/DynamicSort/subcomponents/SortActions/useSortActions.js +2 -1
  28. package/components/NumberInput/hooks/useNumberInput/useNumberInput.js +2 -0
  29. package/components/PaperForm/styles.js +2 -1
  30. package/components/PropertyValue/PropertyValue.styles.js +2 -1
  31. package/components/SideBar/SideBar.js +4 -2
  32. package/components/SideBar/constants.d.ts +26 -2
  33. package/components/SideBar/constants.js +19 -7
  34. package/components/SideBar/context/sideBarContext/index.js +19 -5
  35. package/components/SideBar/context/sideBarContext/types.d.ts +22 -1
  36. package/components/SideBar/helpers/getMenuDataWithState/index.js +22 -8
  37. package/components/SideBar/hooks/useCollapse/index.d.ts +1 -0
  38. package/components/SideBar/hooks/useCollapse/useCollapse.d.ts +11 -0
  39. package/components/SideBar/hooks/useCollapse/useCollapse.js +23 -0
  40. package/components/SideBar/slots/SideBarEnum.d.ts +5 -5
  41. package/components/SideBar/slots/SideBarEnum.js +9 -11
  42. package/components/SideBar/slots/SideBarSlots.d.ts +9 -3
  43. package/components/SideBar/slots/SideBarSlots.js +36 -28
  44. package/components/SideBar/styles.js +2 -4
  45. package/components/SideBar/subcomponents/ContentComponent/index.js +39 -19
  46. package/components/SideBar/subcomponents/ContentComponent/style.js +166 -22
  47. package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/index.d.ts +2 -2
  48. package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/index.js +8 -15
  49. package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/styles.js +2 -2
  50. package/components/SideBar/subcomponents/Promotion/types.d.ts +5 -0
  51. package/components/SideBar/subcomponents/SideBarDesktop/index.js +1 -1
  52. package/components/SideBar/subcomponents/SideBarDesktop/styles.js +10 -14
  53. package/components/SideBar/subcomponents/SideBarMobile/index.js +1 -1
  54. package/components/SideBar/subcomponents/TreeGroupItems/index.d.ts +5 -0
  55. package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/index.js +16 -18
  56. package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/styles.js +5 -7
  57. package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/index.js +10 -7
  58. package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems/subcomponents/NodeMenuItem}/index.d.ts +3 -3
  59. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/index.js +53 -0
  60. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItem/types.d.ts +8 -0
  61. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/NodeMenuItemMain.d.ts +5 -0
  62. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/NodeMenuItemMain.js +55 -0
  63. package/components/SideBar/subcomponents/TreeGroupItems/subcomponents/NodeMenuItemMain/index.d.ts +1 -0
  64. package/components/SideBar/subcomponents/TreeGroupItems/types.d.ts +4 -0
  65. package/components/SideBar/types.d.ts +7 -3
  66. package/components/WindowBase/WindowBase.js +4 -1
  67. package/components/WindowBase/WindowBase.styles.js +48 -13
  68. package/components/WindowBase/contexts/WindowToolsMFContext/types.d.ts +10 -0
  69. package/components/WindowBase/hooks/useDynamicMFParameters/index.js +2 -2
  70. package/components/WindowBase/slots/WindowBaseEnum.d.ts +2 -1
  71. package/components/WindowBase/slots/WindowBaseEnum.js +1 -0
  72. package/components/WindowBase/slots/WindowBaseSlots.d.ts +3 -0
  73. package/components/WindowBase/slots/WindowBaseSlots.js +6 -1
  74. package/components/WindowBase/subcomponents/Header/HeaderWindowBase.js +5 -3
  75. package/components/WindowBase/subcomponents/Header/useButtonActions.js +4 -2
  76. package/components/WindowBase/subcomponents/MemoizedIconButton/MemoizedIconButton.d.ts +1 -1
  77. package/components/WindowBase/subcomponents/MemoizedIconButton/MemoizedIconButton.js +1 -1
  78. package/components/WindowBase/subcomponents/MemoizedIconButton/types.d.ts +5 -0
  79. package/components/WindowBase/types.d.ts +11 -0
  80. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/Window.js +17 -0
  81. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useRightActions.js +1 -0
  82. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.d.ts +2 -0
  83. package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.js +8 -5
  84. package/components/areas/contexts/AreasContext/store.js +18 -2
  85. package/components/areas/contexts/AreasContext/types.d.ts +2 -0
  86. package/components/areas/hooks/index.d.ts +0 -1
  87. package/components/areas/types.d.ts +4 -0
  88. package/components/extended/React-resizable-panels/SplitLayout.js +6 -3
  89. package/components/extended/React-resizable-panels/SplitLayout.styles.js +78 -36
  90. package/components/extended/React-resizable-panels/constants.d.ts +6 -0
  91. package/components/extended/React-resizable-panels/constants.js +5 -1
  92. package/components/extended/React-resizable-panels/slots/SplitLayoutEnum.d.ts +2 -1
  93. package/components/extended/React-resizable-panels/slots/SplitLayoutEnum.js +1 -0
  94. package/components/extended/React-resizable-panels/slots/SplitLayoutSlots.d.ts +3 -0
  95. package/components/extended/React-resizable-panels/slots/SplitLayoutSlots.js +7 -1
  96. package/components/hook-form/RHFAutocompleteAsync/reducer/RHFAutocompleteReducer.js +5 -0
  97. package/components/mui_extended/Accordion/styles.js +1 -0
  98. package/components/mui_extended/Divider/index.d.ts +1 -0
  99. package/components/mui_extended/Divider/index.js +1 -0
  100. package/components/mui_extended/TabContent/TabContent.styles.js +2 -2
  101. package/components/mui_extended/Typography/slots/typographySlots.d.ts +1 -1
  102. package/components/mui_extended/index.d.ts +1 -0
  103. package/components/popups/components/PopupsProvider/hooks/usePopups.js +2 -1
  104. package/hooks/useDynamicFilterAndSort/styles.js +1 -1
  105. package/index.js +67 -67
  106. package/package.json +19 -18
  107. package/storybook/components/DynamicFilter/DynamicFilter.stories.d.ts +27 -11
  108. package/storybook/components/DynamicSort/DynamicSort.stories.d.ts +26 -10
  109. package/storybook/components/SideBar/subcomponents/FooterPromotion/FooterPromotion.d.ts +4 -0
  110. package/storybook/components/SideBar/subcomponents/FooterPromotion/constants.d.ts +3 -0
  111. package/storybook/components/SideBar/subcomponents/FooterPromotion/index.d.ts +1 -0
  112. package/storybook/components/extended/mui/IconButton/IconButton.stories.d.ts +1 -0
  113. package/.storybook/decorators/WithWindowsToolsContext/WithContextWindowTools.d.ts +0 -5
  114. package/components/SideBar/subcomponents/ContentGroups/index.d.ts +0 -5
  115. package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/index.js +0 -63
  116. package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/styles.d.ts +0 -2
  117. package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/styles.js +0 -47
  118. package/components/SideBar/subcomponents/ContentGroups/subcomponents/ContainerMenuItemsMain/types.d.ts +0 -7
  119. package/components/SideBar/subcomponents/ContentGroups/types.d.ts +0 -4
  120. package/components/SideBar/subcomponents/FooterSidebar/types.d.ts +0 -5
  121. package/components/SideBar/subcomponents/HeaderSidebar/index.js +0 -25
  122. package/components/areas/hooks/useSetWindowsTitle/index.d.ts +0 -1
  123. package/components/areas/hooks/useSetWindowsTitle/useSetWindowsTitle.d.ts +0 -6
  124. package/components/areas/hooks/useSetWindowsTitle/useSetWindowsTitle.js +0 -31
  125. package/storybook/components/WindowBase/subcomponents/WithContextWindowToolsProvider.d.ts +0 -5
  126. package/storybook/components/commonActions/components/ActionFormCancel/WindowToolsMFProvider.d.ts +0 -5
  127. /package/components/{areas/hooks/useSetWindowsTitle → SideBar/hooks/useCollapse}/index.js +0 -0
  128. /package/components/SideBar/subcomponents/{FooterSidebar → Promotion}/styles.d.ts +0 -0
  129. /package/components/SideBar/subcomponents/{ContentGroups → TreeGroupItems}/styles.d.ts +0 -0
  130. /package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/index.d.ts +0 -0
  131. /package/components/SideBar/subcomponents/{ContentGroups/subcomponents/ContainerMenuItemsMain → TreeGroupItems}/subcomponents/ArrowIcon/types.d.ts +0 -0
@@ -2,5 +2,5 @@ import { StoryFn } from '@storybook/react';
2
2
  /**
3
3
  * Decorador que agrega el contexto de apariencia al story.
4
4
  */
5
- declare const WithAppearanceContext: (Story: StoryFn) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const WithAppearanceContext: (Story: StoryFn) => import("react/jsx-runtime").JSX.Element;
6
6
  export default WithAppearanceContext;
@@ -0,0 +1,5 @@
1
+ import { StoryFn } from '@storybook/react';
2
+ /**
3
+ * Decorador para proveer los contextos de WindowTools y DynamicMFParms.
4
+ */
5
+ export declare const WithWindowsToolsAndParmsMFContexts: (Story: StoryFn<any>, context: any) => import("react/jsx-runtime").JSX.Element;
@@ -60,23 +60,14 @@ const dataGridStyles = {
60
60
  /**
61
61
  * Estilos del contenedor de las acciones
62
62
  */
63
- actionsRoot: ({ theme, ownerState }) => ({
63
+ actionsRoot: ({ theme }) => ({
64
64
  display: "flex",
65
65
  alignItems: "center",
66
66
  justifyContent: "space-between",
67
67
  background: theme.vars.palette.background.default,
68
68
  borderRadius: theme.vars.size.borderRadius.r1,
69
69
  gap: theme.vars.size.baseSpacings.sp1,
70
- // Tamaño del contenedor
71
- ...getSizeStyles(
72
- theme,
73
- ownerState?.size || "medium",
74
- "container",
75
- (size) => ({
76
- minHeight: size,
77
- height: size
78
- })
79
- ),
70
+ height: "fit-content",
80
71
  "& .mobile-menu-actions": {
81
72
  marginRight: "auto"
82
73
  }
@@ -92,7 +83,8 @@ const dataGridStyles = {
92
83
  borderRadius: theme.vars.size.borderRadius.r2,
93
84
  border: theme.vars.size.borderStroke.container,
94
85
  borderColor: theme.vars.palette?.border.disabled,
95
- padding: theme.vars.size.baseSpacings.sp1
86
+ padding: theme.vars.size.baseSpacings.sp1,
87
+ boxShadow: theme.customShadows?.z1
96
88
  }),
97
89
  /**
98
90
  * Estilos para el contenedor de las acciones derecho
@@ -7,6 +7,10 @@ export interface BaseConfigColumn {
7
7
  visible: boolean;
8
8
  index: number;
9
9
  frozen: boolean;
10
+ /**
11
+ * @deprecated internamente el componente usa el name de columns.
12
+ */
13
+ name?: string;
10
14
  }
11
15
  export interface IConfigColumn extends BaseConfigColumn {
12
16
  hidden: boolean;
@@ -17,6 +17,7 @@ function getComparator(columns, sortColumn) {
17
17
  return column.customSort;
18
18
  }
19
19
  switch (typeOrder) {
20
+ //Si el tipo de dato de la columna es un numerico, retorna una función de ordenamiento numérica
20
21
  case "number":
21
22
  return (a, b) => {
22
23
  try {
@@ -25,6 +26,7 @@ function getComparator(columns, sortColumn) {
25
26
  return -1;
26
27
  }
27
28
  };
29
+ //Por defecto retorna una función de ordenamiento de string
28
30
  default:
29
31
  return (a, b) => {
30
32
  try {
@@ -2,50 +2,59 @@ import { g as getTypographyStyles } from "../../utils/getTypographyStyles.js";
2
2
  import { g as getSizeStyles } from "../../utils/getSizeStyles/getSizeStyles.js";
3
3
  const CONTAINER_QUERY_NAME = "dynamic";
4
4
  const dynamicFilterStyles = {
5
- root: {
5
+ /**
6
+ * root: Estilos del contenedor principal del componente.
7
+ */
8
+ root: ({ theme, ownerState }) => ({
6
9
  containerName: CONTAINER_QUERY_NAME,
7
10
  containerType: "inline-size",
8
11
  width: "100%",
9
12
  height: "auto",
10
- padding: 0
11
- },
13
+ padding: 0,
14
+ ...getSizeStyles(
15
+ theme,
16
+ ownerState?.size || "medium",
17
+ "container",
18
+ (size) => ({
19
+ height: size,
20
+ maxHeight: size,
21
+ minHeight: size
22
+ })
23
+ )
24
+ }),
12
25
  /**
13
26
  * innerContainer: Estilos del contenedor interno del componente.
14
27
  */
15
28
  innerContainer: ({ theme, ownerState }) => ({
16
- display: "grid",
17
- gridTemplateColumns: "auto 1fr auto",
18
- gridTemplateAreas: '"input-filter applied-filters actions-filter"',
29
+ display: "flex",
19
30
  alignItems: "center",
20
31
  justifyContent: "flex-start",
21
32
  width: "100%",
22
33
  height: "fit-content",
23
- border: theme.vars.size.borderStroke.container,
24
- borderRadius: theme.vars.size.borderRadius.r1,
25
- borderColor: ownerState?.isValid ? theme.vars.palette.border?.default : theme.vars.palette.error.enabled,
34
+ borderRadius: theme.vars.size.borderRadius.r2,
26
35
  background: theme.vars.palette.background.default,
36
+ boxShadow: ownerState?.isValid ? `inset 0px 0px 0px 1px ${theme.vars.palette.border.secondary}` : `inset 0px 0px 0px 1px ${theme.vars.palette.error.enabled}`,
37
+ overflow: "hidden",
27
38
  '&:has([aria-expanded="true"])': {
28
- borderColor: ownerState?.isValid ? theme.vars.palette.primary.active : theme.vars.palette.error.enabled
39
+ boxShadow: ownerState?.isValid ? `inset 0px 0px 0px 1.3px ${theme.vars.palette.border.main}` : `inset 0px 0px 0px 1px ${theme.vars.palette.error.enabled}`
29
40
  }
30
41
  }),
31
42
  /**
32
43
  * inputFilter: Estilos del contenedor del campo de entrada de filtrado.
33
44
  */
34
45
  inputFilter: ({ theme, ownerState }) => ({
35
- gridArea: "input-filter",
36
46
  display: "flex",
37
47
  flexDirection: "row",
38
- paddingLeft: theme.vars.size.baseSpacings.sp1,
48
+ paddingLeft: theme.vars.size.baseSpacings.sp2,
39
49
  paddingRight: theme.vars.size.baseSpacings.sp1,
40
50
  height: "100%",
41
51
  overflow: "hidden",
42
- maxWidth: "135px",
52
+ maxWidth: "120px",
43
53
  width: "100%",
44
54
  alignItems: "center",
45
55
  borderTopLeftRadius: theme.vars.size.borderRadius.r1,
46
56
  borderBottomLeftRadius: theme.vars.size.borderRadius.r1,
47
- borderRight: theme.vars.size.borderStroke.container,
48
- borderColor: theme.vars.palette.border?.default,
57
+ background: "#ffffff00",
49
58
  ...getSizeStyles(
50
59
  theme,
51
60
  ownerState?.size || "medium",
@@ -59,6 +68,8 @@ const dynamicFilterStyles = {
59
68
  * inputFilterInput: Estilos del campo de entrada de filtrado.
60
69
  */
61
70
  inputFilterInput: ({ theme, ownerState }) => ({
71
+ width: "100%",
72
+ background: "#ffffff00",
62
73
  ...getSizeStyles(
63
74
  theme,
64
75
  ownerState?.size || "medium",
@@ -69,12 +80,12 @@ const dynamicFilterStyles = {
69
80
  maxHeight: size
70
81
  })
71
82
  ),
83
+ fontFamily: "inherit",
72
84
  ...getTypographyStyles(
73
85
  theme.generalSettings.isMobile,
74
86
  ownerState?.size || "medium",
75
87
  "body"
76
88
  ),
77
- background: theme.vars.palette.background.default,
78
89
  color: theme.vars.palette.text.secondary,
79
90
  border: 0,
80
91
  borderColor: "transparent",
@@ -86,33 +97,40 @@ const dynamicFilterStyles = {
86
97
  },
87
98
  "&:focus-visible": {
88
99
  color: theme.vars.palette.text.secondary,
89
- border: theme.vars.size.borderStroke.container,
100
+ border: "unset",
90
101
  borderColor: theme.vars.palette.primary.opacity,
91
- background: theme.vars.palette.primary.opacity,
92
102
  BorderRadius: theme.vars.size.borderRadius["r0-5"],
93
103
  outline: "none!important"
94
- },
95
- "&:hover": {
96
- borderColor: theme.vars.palette.primary?.toneOpacity,
97
- background: theme.vars.palette.background?.hover
98
104
  }
99
105
  }),
100
106
  /**
101
107
  * appliedFilters: Estilos del contenedor de los filtros aplicados.
102
108
  */
103
- appliedFilters: ({ theme }) => ({
104
- gridArea: "applied-filters",
109
+ appliedFilters: ({ theme, ownerState }) => ({
105
110
  width: "100%",
106
111
  height: "fit-content",
107
- overflow: "hidden",
112
+ display: "flex",
113
+ alignItems: "center",
108
114
  borderLeft: "none",
109
115
  margin: "0px",
110
- padding: `0px ${theme.vars.size.baseSpacings.sp1}`
116
+ padding: `0px ${theme.vars.size.baseSpacings.sp1}`,
117
+ flex: 1,
118
+ overflow: "hidden",
119
+ ...getSizeStyles(
120
+ theme,
121
+ ownerState?.size || "medium",
122
+ "container",
123
+ (size) => ({
124
+ height: size,
125
+ maxHeight: size,
126
+ minHeight: size
127
+ })
128
+ )
111
129
  }),
112
130
  /**
113
131
  * appliedFilterInnerContainer: Estilos del contenedor interno de los filtros aplicados.
114
132
  */
115
- appliedFilterInnerContainer: ({ theme }) => ({
133
+ appliedFilterInnerContainer: ({ theme, ownerState }) => ({
116
134
  padding: theme.vars.size.baseSpacings["sp0-5"],
117
135
  gap: theme.vars.size.baseSpacings.sp1,
118
136
  height: "fit-content",
@@ -122,7 +140,24 @@ const dynamicFilterStyles = {
122
140
  justifyContent: "flex-start",
123
141
  alignItems: "center",
124
142
  overflow: "auto hidden",
125
- position: "relative"
143
+ position: "relative",
144
+ "& .M4LChip-root": {
145
+ borderRadius: theme.vars.size.borderRadius.r1,
146
+ ...getSizeStyles(
147
+ theme,
148
+ ownerState?.size || "medium",
149
+ "action",
150
+ (size) => ({
151
+ height: size
152
+ })
153
+ ),
154
+ "& .M4LIconButton-styledMUIIconButton:hover": {
155
+ backgroundColor: `${theme.vars.palette.chips.error.contained.backgroundHover} !important`,
156
+ "& .M4LIcon-icon": {
157
+ backgroundColor: `${theme.vars.palette.chips.error.contained.backgroundColorTone} !important`
158
+ }
159
+ }
160
+ }
126
161
  }),
127
162
  /**
128
163
  * actions: Estilos del contenedor de los botones de acción.
@@ -138,19 +173,32 @@ const dynamicFilterStyles = {
138
173
  alignItems: "center",
139
174
  borderTopRightRadius: theme.vars.size.borderRadius.r1,
140
175
  borderBottomRightRadius: theme.vars.size.borderRadius.r1,
141
- borderLeft: !ownerState?.visibleRefresh && !ownerState?.isDirty ? "none" : theme.vars.size.borderStroke.container,
142
- borderColor: theme.vars.palette.border?.default
176
+ boxShadow: `inset 1px 0px 0px 0px ${theme.vars.palette.border.secondary}`,
177
+ ...!ownerState?.visibleRefresh && !ownerState?.isDirty && {
178
+ display: "none"
179
+ },
180
+ ...ownerState?.inEdition && ownerState?.isValid && {
181
+ boxShadow: `inset 1px 0px 0px 0px ${theme.vars.palette.border.main}`
182
+ },
183
+ ...!ownerState?.isValid && {
184
+ boxShadow: `inset 1px 0px 0px 0px ${theme.vars.palette.error.enabled}`
185
+ }
186
+ }),
187
+ /**
188
+ * actionsClearButton: Estilos del botón de acción de limpiar.
189
+ */
190
+ actionsClearButton: ({ theme }) => ({
191
+ "&:hover": {
192
+ backgroundColor: `${theme.vars.palette.chips.error.contained.backgroundHover} !important`,
193
+ "& .M4LIcon-icon": {
194
+ backgroundColor: `${theme.vars.palette.chips.error.contained.backgroundColorTone} !important`
195
+ }
196
+ }
143
197
  }),
144
- actionsClearButton: {
145
- visibility: "visible"
146
- },
147
198
  /**
148
199
  * actionsSubmitButton: Estilos del botón de acción de filtrado.
149
200
  */
150
201
  actionsSubmitButton: ({ theme, ownerState }) => ({
151
- ...ownerState?.isValid === false ? { border: `1px dashed ${theme.vars.palette.error.enabled}` } : {
152
- visibility: "visible"
153
- },
154
202
  ...ownerState?.isDirty ? {
155
203
  animation: "changeBgColor 0.9s ease infinite",
156
204
  "& .M4LIcon-icon": {
@@ -205,63 +253,10 @@ const dynamicFilterStyles = {
205
253
  }
206
254
  }
207
255
  }),
208
- /**
209
- * popoverFilterHeader: Estilos del encabezado del menú emergente de filtro.
210
- */
211
- popoverFilterHeader: ({ theme, ownerState }) => ({
212
- display: "flex",
213
- alignItems: "center",
214
- gap: theme.vars.size.baseSpacings.sp2,
215
- padding: theme.vars.size.baseSpacings.sp1,
216
- paddingLeft: theme.vars.size.baseSpacings.sp2,
217
- borderTopLeftRadius: theme.vars.size.borderRadius.r1,
218
- borderTopRightRadius: theme.vars.size.borderRadius.r1,
219
- borderBottom: theme.vars.size.borderStroke.container,
220
- borderColor: theme.vars.palette.border.secondary,
221
- "& .M4LIcon-icon": {
222
- backgroundColor: theme.vars.palette.primary.main
223
- },
224
- ...getSizeStyles(
225
- theme,
226
- ownerState?.size || "medium",
227
- "container",
228
- (size) => ({
229
- height: size
230
- })
231
- )
232
- }),
233
- /**
234
- * popoverFilterHeaderTitle: Estilos del título del menú emergente de filtro.
235
- */
236
- popoverFilterHeaderTitle: ({ theme }) => ({
237
- color: `${theme.vars.palette.primary.main} !important`
238
- }),
239
- /**
240
- * popoverFilterContainerFields: Estilos del contenedor de campos del menú emergente de filtro.
241
- */
242
- popoverFilterContainerFields: ({ theme }) => ({
243
- height: "fit-content",
244
- "& > div": {
245
- display: "flex",
246
- flexDirection: "column",
247
- gap: theme.vars.size.baseSpacings.sp2
248
- }
249
- }),
250
- /**
251
- * contentFilter: Estilos del contenedor entre el change filter y actions
252
- */
253
- contentFilter: ({ theme }) => ({
254
- display: "flex",
255
- flexDirection: "column",
256
- padding: theme.vars.size.baseSpacings.sp3,
257
- gap: theme.vars.size.baseSpacings.sp3
258
- }),
259
256
  /**
260
257
  * popoverFilterActions: Estilos del contenedor de acciones del menú emergente de filtro.
261
258
  */
262
- popoverFilterActions: ({ theme }) => ({
263
- padding: `${theme.vars.size.baseSpacings.sp3} 0px`
264
- }),
259
+ popoverFilterActions: {},
265
260
  /**
266
261
  * inputSortInputSkeleton: Estilos del esqueleto del campo de entrada de ordenamiento.
267
262
  */
@@ -280,7 +275,8 @@ const dynamicFilterStyles = {
280
275
  maxHeight: size
281
276
  })
282
277
  )
283
- })
278
+ }),
279
+ popoverFilterContainerFields: {}
284
280
  };
285
281
  export {
286
282
  dynamicFilterStyles as d
@@ -11,9 +11,6 @@ export declare enum DynamicFilterSlots {
11
11
  popoverMenu = "popoverMenu",
12
12
  popoverFilter = "popoverFilter",
13
13
  popoverFilterContainerFields = "popoverFilterContainerFields",
14
- popoverFilterHeader = "popoverFilterHeader",
15
- contentFilter = "contentFilter",
16
- popoverFilterHeaderTitle = "popoverFilterHeaderTitle",
17
14
  popoverFilterActions = "popoverFilterActions",
18
15
  inputFilterInputSkeleton = "inputFilterInputSkeleton"
19
16
  }
@@ -11,9 +11,6 @@ var DynamicFilterSlots = /* @__PURE__ */ ((DynamicFilterSlots2) => {
11
11
  DynamicFilterSlots2["popoverMenu"] = "popoverMenu";
12
12
  DynamicFilterSlots2["popoverFilter"] = "popoverFilter";
13
13
  DynamicFilterSlots2["popoverFilterContainerFields"] = "popoverFilterContainerFields";
14
- DynamicFilterSlots2["popoverFilterHeader"] = "popoverFilterHeader";
15
- DynamicFilterSlots2["contentFilter"] = "contentFilter";
16
- DynamicFilterSlots2["popoverFilterHeaderTitle"] = "popoverFilterHeaderTitle";
17
14
  DynamicFilterSlots2["popoverFilterActions"] = "popoverFilterActions";
18
15
  DynamicFilterSlots2["inputFilterInputSkeleton"] = "inputFilterInputSkeleton";
19
16
  return DynamicFilterSlots2;
@@ -34,15 +34,6 @@ export declare const PopoverStyled: import('@emotion/styled').StyledComponent<Pi
34
34
  export declare const PopoverContainerFieldsStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
35
35
  ownerState?: (Partial<import('../types').DynamicFilterOwnerState> & Record<string, unknown>) | undefined;
36
36
  }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
37
- export declare const PopoverHeaderStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
38
- ownerState?: (Partial<import('../types').DynamicFilterOwnerState> & Record<string, unknown>) | undefined;
39
- }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
40
- export declare const ContentFilterStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
41
- ownerState?: (Partial<import('../types').DynamicFilterOwnerState> & Record<string, unknown>) | undefined;
42
- }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
43
- export declare const PopoverHeaderTitleStyled: import('@emotion/styled').StyledComponent<Pick<import('../../mui_extended/Typography/types').TypographyProps, keyof import('../../mui_extended/Typography/types').TypographyProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
44
- ownerState?: (Partial<import('../types').DynamicFilterOwnerState> & Record<string, unknown>) | undefined;
45
- }, {}, {}>;
46
37
  export declare const PopoverHeaderActionsStyled: import('@emotion/styled').StyledComponent<Pick<import('../../CommonActions/components/ActionsContainer').ActionsContainerProps & import('react').RefAttributes<HTMLDivElement>, keyof import('react').RefAttributes<HTMLDivElement> | keyof import('../../CommonActions/components/ActionsContainer').ActionsContainerProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
47
38
  ownerState?: (Partial<import('../types').DynamicFilterOwnerState> & Record<string, unknown>) | undefined;
48
39
  }, {}, {}>;
@@ -4,7 +4,6 @@ import { D as DYNAMIC_FILTER_KEY_COMPONENT } from "../constants.js";
4
4
  import { d as dynamicFilterStyles } from "../DynamicFilter.styles.js";
5
5
  import { D as DynamicFilterSlots } from "./SlotsEnum.js";
6
6
  import { I as IconButton } from "../../mui_extended/IconButton/IconButton.js";
7
- import { T as Typography } from "../../mui_extended/Typography/Typography.js";
8
7
  import { A as ActionsContainer } from "../../CommonActions/components/ActionsContainer/ActionsContainer.js";
9
8
  import { P as Popover } from "../../mui_extended/Popover/Popover.js";
10
9
  const RootStyled = styled("div", {
@@ -55,18 +54,6 @@ const PopoverContainerFieldsStyled = styled("div", {
55
54
  name: DYNAMIC_FILTER_KEY_COMPONENT,
56
55
  slot: DynamicFilterSlots.popoverFilterContainerFields
57
56
  })(dynamicFilterStyles?.popoverFilterContainerFields);
58
- const PopoverHeaderStyled = styled("div", {
59
- name: DYNAMIC_FILTER_KEY_COMPONENT,
60
- slot: DynamicFilterSlots.popoverFilterHeader
61
- })(dynamicFilterStyles?.popoverFilterHeader);
62
- const ContentFilterStyled = styled("div", {
63
- name: DYNAMIC_FILTER_KEY_COMPONENT,
64
- slot: DynamicFilterSlots.contentFilter
65
- })(dynamicFilterStyles?.contentFilter);
66
- const PopoverHeaderTitleStyled = styled(Typography, {
67
- name: DYNAMIC_FILTER_KEY_COMPONENT,
68
- slot: DynamicFilterSlots.popoverFilterHeaderTitle
69
- })(dynamicFilterStyles?.popoverFilterHeaderTitle);
70
57
  const PopoverHeaderActionsStyled = styled(ActionsContainer, {
71
58
  name: DYNAMIC_FILTER_KEY_COMPONENT,
72
59
  slot: DynamicFilterSlots.popoverFilterActions
@@ -77,7 +64,6 @@ const InputFilterInputSkeletonStyled = styled(Skeleton, {
77
64
  })(dynamicFilterStyles?.inputFilterInputSkeleton);
78
65
  export {
79
66
  AppliedFiltersStyled as A,
80
- ContentFilterStyled as C,
81
67
  InnerContainerStyled as I,
82
68
  PopoverStyled as P,
83
69
  RootStyled as R,
@@ -88,9 +74,7 @@ export {
88
74
  InputFilterStyled as e,
89
75
  InputFilterInputSkeletonStyled as f,
90
76
  InputFilterInputStyled as g,
91
- PopoverHeaderStyled as h,
92
- PopoverHeaderTitleStyled as i,
93
- PopoverContainerFieldsStyled as j,
94
- PopoverHeaderActionsStyled as k,
95
- PopoverMenuStyled as l
77
+ PopoverContainerFieldsStyled as h,
78
+ PopoverHeaderActionsStyled as i,
79
+ PopoverMenuStyled as j
96
80
  };
@@ -25,7 +25,6 @@ const DynamicFilterProvider = forwardRef((props, ref) => {
25
25
  visibleRefresh = true
26
26
  } = props;
27
27
  const { currentSize } = useComponentSize(size);
28
- const adjustedSize = currentSize === "small" || currentSize === "medium" ? currentSize : "medium";
29
28
  const { getLabel } = useModuleDictionary();
30
29
  const dynamicFilterStoreRef = useRef();
31
30
  const { host_static_assets, environment_assets } = useEnvironment();
@@ -43,7 +42,7 @@ const DynamicFilterProvider = forwardRef((props, ref) => {
43
42
  automatic,
44
43
  getLabel,
45
44
  dataTestId,
46
- size,
45
+ size: currentSize,
47
46
  storeId,
48
47
  visibleRefresh,
49
48
  ownerState: {
@@ -53,7 +52,7 @@ const DynamicFilterProvider = forwardRef((props, ref) => {
53
52
  isValid: true,
54
53
  isMobile: !isDesktop,
55
54
  isEmpty: true,
56
- size
55
+ size: currentSize
57
56
  }
58
57
  }, storeDevtoolsEnabled);
59
58
  dynamicFilterStoreRef.current.getState().actions.init(initialAppliedFilters);
@@ -96,13 +95,13 @@ const DynamicFilterProvider = forwardRef((props, ref) => {
96
95
  }
97
96
  }, []);
98
97
  useEffect(() => {
99
- if (dynamicFilterStoreRef.current?.getState().size !== adjustedSize) {
100
- dynamicFilterStoreRef.current?.getState().actions.setSize(adjustedSize);
98
+ if (dynamicFilterStoreRef.current?.getState().size !== currentSize) {
99
+ dynamicFilterStoreRef.current?.getState().actions.setSize(currentSize);
101
100
  }
102
101
  if (dynamicFilterStoreRef.current?.getState().visibleRefresh !== visibleRefresh) {
103
102
  dynamicFilterStoreRef.current?.getState().actions.setVisibleRefresh(visibleRefresh);
104
103
  }
105
- }, [adjustedSize, visibleRefresh]);
104
+ }, [currentSize, visibleRefresh]);
106
105
  return /* @__PURE__ */ jsx(DynamicFilterContext.Provider, { value: dynamicFilterStoreRef.current, children });
107
106
  });
108
107
  export {
@@ -16,7 +16,7 @@ function FilterActions() {
16
16
  } = useFilterActions();
17
17
  const { size, ownerState: { isDirty }, visibleRefresh } = useDynamicFilterBase();
18
18
  const { getLabel } = useModuleDictionary();
19
- return /* @__PURE__ */ jsxs(ActionsStyled, { ownerState: { isDirty: canShowRemoveAction, visibleRefresh }, children: [
19
+ return /* @__PURE__ */ jsxs(ActionsStyled, { ownerState: { isDirty: canShowRemoveAction, visibleRefresh, isValid: ownerState?.isValid, inEdition: ownerState?.inEdition }, children: [
20
20
  canShowRemoveAction && /* @__PURE__ */ jsx(
21
21
  ActionsClearButtonStyled,
22
22
  {
@@ -15,6 +15,7 @@ declare function useFilterActions(): {
15
15
  filterButtonDictionaryTooltip: "dynamic_filter.filter_tooltip_refresh" | "dynamic_filter.filter_tooltip_dirty" | "dynamic_filter.filter_tooltip_invalid";
16
16
  ownerState: {
17
17
  isValid: boolean;
18
+ inEdition: boolean;
18
19
  };
19
20
  };
20
21
  export default useFilterActions;
@@ -11,6 +11,7 @@ function useFilterActions() {
11
11
  const automatic = useDynamicFilterStore((state) => state.automatic);
12
12
  const isValid = useDynamicFilterStore((state) => state.ownerState?.isValid);
13
13
  const isDirty = useDynamicFilterStore((state) => state.ownerState?.isDirty);
14
+ const inEdition = useDynamicFilterStore((state) => state.ownerState?.inEdition);
14
15
  const appliedFilters = useDynamicFilterStore((state) => state.appliedFilters);
15
16
  const { clearFilters, fireOnChangeFilters } = useDynamicFilterStore(
16
17
  (state) => state.actions
@@ -29,7 +30,7 @@ function useFilterActions() {
29
30
  onClickClearFilters,
30
31
  onClickFilter: fireOnChangeFilters,
31
32
  filterButtonDictionaryTooltip,
32
- ownerState: { isValid }
33
+ ownerState: { isValid, inEdition }
33
34
  };
34
35
  }
35
36
  export {
@@ -42,6 +42,8 @@ const InputFilter = () => {
42
42
  value: inputData,
43
43
  placeholder: inputPlaceHolder,
44
44
  ownerState: { ...ownerState },
45
+ role: "searchbox",
46
+ "aria-label": "searchbox",
45
47
  ...inputHandlersProps
46
48
  }
47
49
  ),
@@ -1,10 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { I as Icon } from "../../../Icon/Icon.js";
3
- import { u as useDynamicFilterBase } from "../DynamicFilterBase/useDynamicFilterBase.js";
4
2
  import { D as DataTypeComponent } from "../FieldTypes/DataTypeComponent.js";
5
3
  import { u as usePopoverFilter } from "./usePopoverFilter.js";
6
- import { P as PopoverStyled, h as PopoverHeaderStyled, i as PopoverHeaderTitleStyled, C as ContentFilterStyled, j as PopoverContainerFieldsStyled, k as PopoverHeaderActionsStyled } from "../../slots/dynamicFilterSlots.js";
4
+ import { P as PopoverStyled, h as PopoverContainerFieldsStyled, i as PopoverHeaderActionsStyled } from "../../slots/dynamicFilterSlots.js";
7
5
  import { R as RHFormProvider } from "../../../hook-form/RHFormContext/index.js";
6
+ import { W as WindowBase } from "../../../WindowBase/WindowBase.js";
8
7
  import { A as ActionCancel } from "../../../CommonActions/components/ActionCancel/ActionCancel.js";
9
8
  import { A as ActionIntro } from "../../../CommonActions/components/ActionIntro/ActionIntro.js";
10
9
  function PopoverFilter() {
@@ -22,7 +21,6 @@ function PopoverFilter() {
22
21
  statusLoad,
23
22
  canRender
24
23
  } = usePopoverFilter();
25
- const { ownerState } = useDynamicFilterBase();
26
24
  if (!canRender) {
27
25
  return null;
28
26
  }
@@ -34,30 +32,37 @@ function PopoverFilter() {
34
32
  transitionDuration: 0,
35
33
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
36
34
  transformOrigin: { vertical: "top", horizontal: "left" },
35
+ sx: (theme) => ({
36
+ mt: theme.vars.size.baseSpacings.sp2
37
+ }),
37
38
  arrowType: "top-left",
38
39
  anchorEl,
39
40
  onKeyDown: handleKeyDownPopper,
40
41
  onClose: handleClosePopover,
41
- children: /* @__PURE__ */ jsxs(
42
+ children: /* @__PURE__ */ jsx(
42
43
  RHFormProvider,
43
44
  {
44
45
  onSubmit,
45
46
  values: filterFormValue,
46
47
  validationSchema: popupValidationSchema,
47
48
  statusLoad,
48
- children: [
49
- /* @__PURE__ */ jsxs(PopoverHeaderStyled, { ownerState: { ...ownerState }, children: [
50
- field.urlIcon && /* @__PURE__ */ jsx(Icon, { src: field.urlIcon }),
51
- /* @__PURE__ */ jsx(PopoverHeaderTitleStyled, { variant: "paragraphDens", children: labelField })
52
- ] }),
53
- /* @__PURE__ */ jsxs(ContentFilterStyled, { ownerState: { ...ownerState }, children: [
54
- /* @__PURE__ */ jsx(PopoverContainerFieldsStyled, { children: /* @__PURE__ */ jsx(DataTypeComponent, { formFilter, statusLoad }) }),
55
- /* @__PURE__ */ jsxs(PopoverHeaderActionsStyled, { children: [
56
- /* @__PURE__ */ jsx(ActionCancel, { onClick: onClose, skeletonWidth: "68px" }),
57
- /* @__PURE__ */ jsx(ActionIntro, { skeletonWidth: "64px" })
58
- ] })
59
- ] })
60
- ]
49
+ children: /* @__PURE__ */ jsxs(
50
+ WindowBase,
51
+ {
52
+ title: labelField,
53
+ iconUrl: field.urlIcon,
54
+ variant: "text",
55
+ type: "popup",
56
+ selected: true,
57
+ children: [
58
+ /* @__PURE__ */ jsx(PopoverContainerFieldsStyled, { children: /* @__PURE__ */ jsx(DataTypeComponent, { formFilter, statusLoad }) }),
59
+ /* @__PURE__ */ jsxs(PopoverHeaderActionsStyled, { children: [
60
+ /* @__PURE__ */ jsx(ActionCancel, { onClick: onClose, skeletonWidth: "68px" }),
61
+ /* @__PURE__ */ jsx(ActionIntro, { skeletonWidth: "64px", "aria-label": "applyFilter" })
62
+ ] })
63
+ ]
64
+ }
65
+ )
61
66
  }
62
67
  )
63
68
  }
@@ -5,7 +5,7 @@ import { u as useDynamicFilterBase } from "../DynamicFilterBase/useDynamicFilter
5
5
  import { useModuleDictionary } from "@m4l/core";
6
6
  import { a as DICCTIONARY } from "../../dictionary.js";
7
7
  import { u as usePopoverContainer } from "../../../../hooks/usePopoverContainer/usePopoverContainer.js";
8
- import { l as PopoverMenuStyled } from "../../slots/dynamicFilterSlots.js";
8
+ import { j as PopoverMenuStyled } from "../../slots/dynamicFilterSlots.js";
9
9
  function PopoverMenuFields(props) {
10
10
  const { fields, selectFieldIndex } = props;
11
11
  const { elementRef, handleOpenPopUpClickItem, handleClosePopover, getItemLabel, isOpenPopoverMenuFields } = usePopoverMenuFields();
@@ -21,6 +21,9 @@ function PopoverMenuFields(props) {
21
21
  arrowType: "top-left",
22
22
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
23
23
  transformOrigin: { vertical: "top", horizontal: "left" },
24
+ sx: (theme) => ({
25
+ mt: theme.vars.size.baseSpacings.sp2
26
+ }),
24
27
  open: !!isOpenPopoverMenuFields,
25
28
  onClose: handleClosePopover,
26
29
  anchorEl,