@m4l/layouts 9.3.4 → 9.3.5

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 (22) hide show
  1. package/@types/types.d.ts +20 -0
  2. package/components/ModuleDetailTabs/useModuleDatailTabs.d.ts +85 -85
  3. package/hooks/useDynamicAccordions/useBaseAccordions.js +1 -1
  4. package/hooks/useDynamicAccordions/useDynamicAccordions.js +1 -1
  5. package/layouts/NoAuthModuleLayout/constants.d.ts +15 -0
  6. package/layouts/NoAuthModuleLayout/constants.js +16 -1
  7. package/layouts/NoAuthModuleLayout/index.js +9 -2
  8. package/layouts/NoAuthModuleLayout/slots/NoAuthModuleLayoutEnum.d.ts +8 -21
  9. package/layouts/NoAuthModuleLayout/slots/NoAuthModuleLayoutEnum.js +14 -31
  10. package/layouts/NoAuthModuleLayout/slots/NoAuthModuleLayoutSlots.d.ts +30 -19
  11. package/layouts/NoAuthModuleLayout/slots/NoAuthModuleLayoutSlots.js +35 -79
  12. package/layouts/NoAuthModuleLayout/styles.js +71 -232
  13. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/index.js +3 -6
  14. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/BaseContent/index.d.ts +5 -0
  15. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/BaseContent/index.js +69 -0
  16. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/BaseContent/types.d.ts +5 -0
  17. package/layouts/NoAuthModuleLayout/types.d.ts +25 -5
  18. package/package.json +1 -1
  19. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/DesktopContent/index.d.ts +0 -6
  20. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/DesktopContent/index.js +0 -48
  21. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/MobileContent/index.d.ts +0 -6
  22. package/layouts/NoAuthModuleLayout/subcomponents/BaseNoAuthModuleLayout/subcomponents/MobileContent/index.js +0 -44
@@ -1,100 +1,56 @@
1
1
  import { styled } from "@mui/material/styles";
2
- import { I as InnerModuleSlots, M as MobileContentSlots, D as DesktopContentSlots } from "./NoAuthModuleLayoutEnum.js";
2
+ import { N as NoAuthModuleLayoutSlots } from "./NoAuthModuleLayoutEnum.js";
3
3
  import { N as NOT_AUTH_MODULE_LAYOUT_KEY } from "../constants.js";
4
- import { Typography } from "@m4l/components";
5
4
  import { n as noAuthModuleLayoutStyles } from "../styles.js";
5
+ import { Image, Button } from "@m4l/components";
6
6
  const BaseNoAuthModuleLayoutRootStyled = styled("div", {
7
7
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
8
- slot: InnerModuleSlots.baseNoAuthModuleLayoutRoot
8
+ slot: NoAuthModuleLayoutSlots.baseNoAuthModuleLayoutRoot
9
9
  })(noAuthModuleLayoutStyles?.baseNoAuthModuleLayoutRoot);
10
- const MobileContentRootStyled = styled("div", {
11
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
12
- slot: MobileContentSlots.mobileContentRoot
13
- })(noAuthModuleLayoutStyles.mobileContentRoot);
14
- const MobileBannerStyled = styled("div", {
15
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
16
- slot: MobileContentSlots.mobileBanner
17
- })(noAuthModuleLayoutStyles.mobileBanner);
18
- styled("div", {
19
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
20
- slot: MobileContentSlots.containerImageLanguage
21
- })(noAuthModuleLayoutStyles.containerImageLanguage);
22
- const ContainerLogoStyled = styled("div", {
23
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
24
- slot: MobileContentSlots.containerLogo
25
- })(noAuthModuleLayoutStyles.containerLogo);
26
- const CompanyNameStyled = styled("div", {
27
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
28
- slot: MobileContentSlots.companyName
29
- })(noAuthModuleLayoutStyles.companyName);
30
- const FormContentStyled = styled("div", {
31
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
32
- slot: MobileContentSlots.formContent
33
- })(noAuthModuleLayoutStyles.formContent);
34
10
  const WrapperFormContentStyled = styled("div", {
35
11
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
36
- slot: MobileContentSlots.wrapperFormContent
12
+ slot: NoAuthModuleLayoutSlots.wrapperFormContent
37
13
  })(noAuthModuleLayoutStyles.wrapperFormContent);
38
- const ContainerModuleNameStyled = styled("div", {
39
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
40
- slot: MobileContentSlots.containerModuleName
41
- })(noAuthModuleLayoutStyles.containerModuleName);
42
- const DesktopContentRootStyled = styled("div", {
43
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
44
- slot: DesktopContentSlots.desktopContentRoot
45
- })(noAuthModuleLayoutStyles.desktopContentRoot);
46
- const DesktopBannerStyled = styled("div", {
14
+ const DesktopBannerStyled = styled(Image, {
47
15
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
48
- slot: DesktopContentSlots.desktopBanner
16
+ slot: NoAuthModuleLayoutSlots.desktopBanner
49
17
  })(noAuthModuleLayoutStyles.desktopBanner);
50
- const ContainerLogoDesktopStyled = styled("div", {
51
- name: NOT_AUTH_MODULE_LAYOUT_KEY,
52
- slot: DesktopContentSlots.containerLogoDesktop
53
- })(noAuthModuleLayoutStyles.containerLogoDesktop);
54
- const CompanyNameDesktopStyled = styled("div", {
18
+ const ContainerModuleNameStyled = styled("div", {
55
19
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
56
- slot: DesktopContentSlots.companyNameDesktop
57
- })(noAuthModuleLayoutStyles.companyNameDesktop);
58
- const CompanyLeyendDesktopStyled = styled("div", {
20
+ slot: NoAuthModuleLayoutSlots.containerModuleName
21
+ })(noAuthModuleLayoutStyles.containerModuleName);
22
+ styled("div", {
59
23
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
60
- slot: DesktopContentSlots.companyLeyendDesktop
61
- })(noAuthModuleLayoutStyles.companyLeyendDesktop);
62
- const FormContentDesktopStyled = styled("div", {
24
+ slot: NoAuthModuleLayoutSlots.contentFormDesktop
25
+ })(noAuthModuleLayoutStyles.contentFormDesktop);
26
+ const HeaderContainerStyled = styled("div", {
63
27
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
64
- slot: DesktopContentSlots.formContentDesktop
65
- })(noAuthModuleLayoutStyles.formContentDesktop);
66
- const WrapperFormContentDesktopStyled = styled("div", {
28
+ slot: NoAuthModuleLayoutSlots.headerContainer
29
+ })(noAuthModuleLayoutStyles.headerContainer);
30
+ const ContainerLanguageAndSettingsStyled = styled("div", {
67
31
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
68
- slot: DesktopContentSlots.wrapperFormContentDesktop
69
- })(noAuthModuleLayoutStyles.wrapperFormContentDesktop);
70
- const ContainerModuleNameDesktopStyled = styled("div", {
32
+ slot: NoAuthModuleLayoutSlots.containerLanguageAndSettings
33
+ })(noAuthModuleLayoutStyles.containerLanguageAndSettings);
34
+ const ButtonHomeNavigationStyled = styled(Button, {
71
35
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
72
- slot: DesktopContentSlots.containerModuleNameDesktop
73
- })(noAuthModuleLayoutStyles.containerModuleNameDesktop);
74
- styled("div", {
36
+ slot: NoAuthModuleLayoutSlots.buttonHomeNavigation
37
+ })(noAuthModuleLayoutStyles.buttonHomeNavigation);
38
+ const ContainerCompanyLogoStyled = styled("div", {
75
39
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
76
- slot: DesktopContentSlots.contentFormDesktop
77
- })(noAuthModuleLayoutStyles.contentFormDesktop);
78
- const TypographyBannerStyled = styled(Typography, {
40
+ slot: NoAuthModuleLayoutSlots.containerCompanyLogo
41
+ })(noAuthModuleLayoutStyles.containerCompanyLogo);
42
+ const FormContentStyled = styled("div", {
79
43
  name: NOT_AUTH_MODULE_LAYOUT_KEY,
80
- slot: DesktopContentSlots.typographyBanner
81
- })(noAuthModuleLayoutStyles.typographyBanner);
44
+ slot: NoAuthModuleLayoutSlots.formContent
45
+ })(noAuthModuleLayoutStyles.formContent);
82
46
  export {
83
47
  BaseNoAuthModuleLayoutRootStyled as B,
84
- ContainerLogoDesktopStyled as C,
85
- DesktopContentRootStyled as D,
86
- FormContentDesktopStyled as F,
87
- MobileContentRootStyled as M,
88
- TypographyBannerStyled as T,
89
- WrapperFormContentDesktopStyled as W,
90
- DesktopBannerStyled as a,
91
- CompanyNameDesktopStyled as b,
92
- CompanyLeyendDesktopStyled as c,
93
- ContainerModuleNameDesktopStyled as d,
94
- MobileBannerStyled as e,
95
- ContainerLogoStyled as f,
96
- CompanyNameStyled as g,
97
- WrapperFormContentStyled as h,
98
- FormContentStyled as i,
99
- ContainerModuleNameStyled as j
48
+ ContainerLanguageAndSettingsStyled as C,
49
+ DesktopBannerStyled as D,
50
+ FormContentStyled as F,
51
+ HeaderContainerStyled as H,
52
+ WrapperFormContentStyled as W,
53
+ ButtonHomeNavigationStyled as a,
54
+ ContainerCompanyLogoStyled as b,
55
+ ContainerModuleNameStyled as c
100
56
  };
@@ -1,4 +1,3 @@
1
- import { alpha } from "@mui/material/styles";
2
1
  const noAuthModuleLayoutStyles = {
3
2
  /**
4
3
  * ****************************************************
@@ -7,47 +6,18 @@ const noAuthModuleLayoutStyles = {
7
6
  * ****************************************************
8
7
  */
9
8
  baseNoAuthModuleLayoutRoot: ({ theme }) => ({
10
- display: "flex",
11
- justifyContent: "center",
12
- alignItems: "center",
13
- height: "100vh",
14
- padding: theme.vars.size.baseSpacings.sp5,
15
- [theme.breakpoints.down("md")]: {
16
- padding: theme.vars.size.baseSpacings.sp0
17
- }
18
- }),
19
- /**
20
- * ****************************************************
21
- * Estilos para el contenedor raíz del componente
22
- * DesktopContent.
23
- * ****************************************************
24
- */
25
- desktopContentRoot: ({ theme }) => ({
26
- display: "flex",
27
- borderRadius: theme.vars.size.borderRadius.r4,
28
- backgroundColor: theme.vars.palette.background.surface,
29
- boxShadow: theme.vars.customShadows?.z4,
30
- padding: `${theme.vars.size.baseSpacings.sp5}`,
31
- width: "100%",
32
- height: "100%",
33
- maxWidth: "965px",
34
- //No hay token para este valor
35
- maxHeight: "900px",
36
- //No hay token para este valor
37
- position: "relative",
38
- overflow: "auto",
39
- "& .M4LLanguagePopover-root": {
40
- position: "absolute",
41
- top: theme.vars.size.baseSpacings.sp5,
42
- right: theme.vars.size.baseSpacings.sp5,
43
- zIndex: 1
44
- },
45
- "& .M4LIconButton-root.config-icon": {
46
- position: "absolute",
47
- top: "25px",
48
- //No hay token para este valor
49
- right: theme.vars.size.baseSpacings.sp14,
50
- zIndex: 1
9
+ "&&&": {
10
+ display: "flex",
11
+ justifyContent: "center",
12
+ alignItems: "center",
13
+ width: "100%",
14
+ height: "100vh",
15
+ position: "relative",
16
+ "& .M4LRHFormProvider-root": {
17
+ gap: theme.vars.size.baseSpacings.sp3,
18
+ alignItems: "center",
19
+ overflow: "auto"
20
+ }
51
21
  }
52
22
  }),
53
23
  /**
@@ -56,257 +26,126 @@ const noAuthModuleLayoutStyles = {
56
26
  * ****************************************************
57
27
  */
58
28
  desktopBanner: ({ theme }) => ({
59
- display: "flex",
60
- flexDirection: "column",
61
- justifyContent: "center",
62
- alignItems: "center",
63
- borderRadius: theme.vars.size.borderRadius.r3,
64
29
  width: "100%",
65
- maxWidth: "400px",
66
- //No hay token para este valor
67
30
  height: "100%",
68
- backgroundColor: theme.vars.palette.primary.enabled,
69
- boxShadow: theme.vars.customShadows?.z4,
70
- padding: `${theme.vars.size.baseSpacings.sp0} 60px`,
71
- //No hay token para el valor 60px
72
- gap: theme.vars.size.baseSpacings.sp10,
31
+ objectFit: "cover",
32
+ objectPosition: "center",
33
+ flex: 1,
73
34
  overflow: "hidden",
74
- "& .MuiTypography-root": {
75
- color: theme.palette.common?.white,
76
- display: "flex",
77
- justifyContent: "center",
78
- textAlign: "center",
79
- textTransform: "uppercase"
80
- },
81
- "& .M4LTypography-root .MuiSkeleton-root": {
82
- backgroundColor: alpha(`${theme.colorSchemes.finalTheme.palette.common.white}`, 0.24),
83
- margin: "auto"
35
+ ...theme.generalSettings.isMobile && {
36
+ display: "none"
84
37
  }
85
38
  }),
86
- /**
87
- * ****************************************************
88
- * Estilos para el contenedor del logo en Desktop.
89
- * ****************************************************
90
- */
91
- containerLogoDesktop: ({ theme }) => ({
92
- display: "flex",
93
- width: "84px",
94
- //No hay token para este valor
95
- height: "84px",
96
- //No hay token para este valor
97
- borderRadius: theme.vars.size.borderRadius["r1-5"],
98
- backgroundColor: theme.vars.palette.primary.hover,
99
- justifyContent: "center",
100
- alignItems: "center",
101
- padding: theme.vars.size.baseSpacings.sp3,
102
- "& .M4LImage-root": {
103
- backgroundColor: theme.vars.palette.common?.white,
104
- borderRadius: theme.vars.size.borderRadius["r1-5"]
105
- }
106
- }),
107
- /**
108
- * ****************************************************
109
- * Estilos para el contenedor del nombre de la empresa
110
- * en Desktop.
111
- * ****************************************************
112
- */
113
- companyNameDesktop: ({ theme }) => ({
114
- display: "flex",
115
- flexDirection: "column",
116
- gap: theme.vars.size.baseSpacings.sp2,
117
- width: "100%"
118
- }),
119
- /**
120
- * ****************************************************
121
- * Estilos para el contenedor del eslogan de la empresa
122
- * en Desktop.
123
- * ****************************************************
124
- */
125
- companyLeyendDesktop: ({ theme }) => ({
126
- display: "flex",
127
- flexDirection: "column",
128
- gap: theme.vars.size.baseSpacings.sp2,
129
- width: "100%"
130
- }),
131
39
  /**
132
40
  * ****************************************************
133
41
  * Estilos para el contenedor del formulario en Desktop.
134
42
  * ****************************************************
135
43
  */
136
- formContentDesktop: ({ theme }) => ({
44
+ formContent: ({ theme }) => ({
137
45
  display: "flex",
138
46
  flexDirection: "column",
139
- padding: `${theme.vars.size.baseSpacings.sp0} 72px`,
140
- //No hay token para los valores 60px y 80px
141
47
  margin: "auto 0",
142
- width: "100%",
48
+ width: "335px",
143
49
  height: "auto",
144
- gap: theme.vars.size.baseSpacings.sp5
50
+ gap: theme.vars.size.baseSpacings.sp8,
51
+ overflow: "auto",
52
+ ...theme.generalSettings.isMobile && {
53
+ width: "100%"
54
+ }
145
55
  }),
146
56
  /**
147
57
  * ****************************************************
148
58
  * Estilos para el wrapper del contenedor en desktop
149
59
  * ****************************************************
150
60
  */
151
- wrapperFormContentDesktop: () => ({
152
- display: "flex",
153
- width: "100%",
154
- height: "100%"
155
- }),
156
- /**
157
- * ************************************************************
158
- * Estilos para el contenedor del nombre de la app en desktop
159
- * ************************************************************
160
- */
161
- containerModuleNameDesktop: ({ theme }) => ({
61
+ wrapperFormContent: ({ theme }) => ({
162
62
  display: "flex",
163
63
  flexDirection: "column",
164
- width: "100%",
165
- gap: theme.vars.size.baseSpacings.sp2
64
+ alignItems: "center",
65
+ minWidth: "500px",
66
+ height: "100%",
67
+ padding: theme.vars.size.baseSpacings.sp6,
68
+ gap: theme.vars.size.baseSpacings.sp13,
69
+ overflow: "auto",
70
+ ...theme.generalSettings.isMobile && {
71
+ minWidth: "100%"
72
+ }
166
73
  }),
167
74
  /**
168
75
  * ************************************************************
169
- * Estilos para el contenedor del formulario en desktop
76
+ * Estilos para el contenedor del nombre de la app en desktop
170
77
  * ************************************************************
171
78
  */
172
- contentFormDesktop: () => ({
173
- display: "flex",
174
- width: "100%",
175
- height: "100%",
176
- justifyContent: "center",
177
- alignItems: "center"
178
- }),
179
- typographyBanner: ({ theme }) => ({
180
- color: `${theme.vars.palette.primary.contrastText} !important`
181
- }),
182
- /**
183
- * ****************************************************
184
- * Estilos para el contenedor raíz del componente
185
- * MobileContent.
186
- * ****************************************************
187
- */
188
- mobileContentRoot: ({ theme }) => ({
189
- display: "flex",
190
- flexDirection: "column",
191
- width: "100%",
192
- height: "100%",
193
- backgroundColor: theme.vars.palette.background.surface,
194
- padding: theme.vars.size.baseSpacings.sp3,
195
- gap: theme.vars.size.baseSpacings.sp8
196
- }),
197
- /**
198
- * ****************************************************
199
- * Estilos para el contenedor del banner móvil.
200
- * ****************************************************
201
- */
202
- mobileBanner: ({ theme }) => ({
79
+ containerModuleName: ({ theme }) => ({
203
80
  display: "flex",
204
81
  flexDirection: "column",
205
- padding: theme.vars.size.baseSpacings.sp3,
206
- gap: theme.vars.size.baseSpacings.sp5,
207
82
  width: "100%",
208
- backgroundColor: theme.vars.palette.primary.enabled,
209
- boxShadow: theme.customShadows?.z4,
210
- position: "relative",
211
- borderRadius: theme.vars.size.borderRadius.r2,
212
- "& .M4LLanguagePopover-root": {
213
- position: "absolute",
214
- top: theme.vars.size.baseSpacings.sp3,
215
- right: theme.vars.size.baseSpacings.sp3,
216
- zIndex: 1
217
- },
218
- "& .M4LIconButton-root.config-icon": {
219
- position: "absolute",
220
- top: theme.vars.size.baseSpacings.sp3,
221
- right: theme.vars.size.baseSpacings.sp10,
222
- zIndex: 1,
223
- "& .M4LIcon-root .M4LIcon-icon": {
224
- backgroundColor: theme.vars.palette.common?.white
225
- }
226
- },
83
+ gap: theme.vars.size.baseSpacings.sp2,
227
84
  "& .MuiTypography-root": {
228
- color: theme.vars.palette.common?.white,
229
- display: "flex",
230
- textTransform: "uppercase"
231
- },
232
- "& .MuiSkeleton-root": {
233
- backgroundColor: alpha(`${theme.colorSchemes.finalTheme.palette.common.white}`, 0.24),
234
- margin: "auto"
85
+ textAlign: "center"
235
86
  }
236
87
  }),
237
88
  /**
238
89
  * ****************************************************
239
- * Estilos para el contenedor de la imagen que
240
- * representa el lenguaje
90
+ * Estilos para el contenedor del logo de la empresa
241
91
  * ****************************************************
242
92
  */
243
- containerImageLanguage: () => ({
244
- display: "flex"
245
- }),
246
- /**
247
- * ****************************************************
248
- * Estilos para el contenedor del logo
249
- * ****************************************************
250
- */
251
- containerLogo: ({ theme }) => ({
93
+ containerCompanyLogo: ({ theme }) => ({
252
94
  display: "flex",
253
- width: theme.vars.size.baseSpacings.sp13,
254
- height: theme.vars.size.baseSpacings.sp13,
255
- borderRadius: theme.vars.size.borderRadius["r1-5"],
256
- backgroundColor: theme.vars.palette.primary.hover,
257
95
  justifyContent: "center",
258
- alignItems: "center",
259
- "& .M4LImage-root": {
260
- backgroundColor: theme.vars.palette.common?.white,
261
- borderRadius: theme.vars.size.borderRadius["r1-5"]
262
- }
96
+ height: theme.vars.size.baseSpacings.sp14,
97
+ width: "100%",
98
+ marginBottom: theme.vars.size.baseSpacings.sp2
263
99
  }),
264
100
  /**
265
101
  * ****************************************************
266
- * Estilos para el contenedor del nombre de la empresa
102
+ * Estilos para el contenedor del encabezado en desktop
267
103
  * ****************************************************
268
104
  */
269
- companyName: ({ theme }) => ({
270
- display: "flex",
271
- flexDirection: "column",
105
+ headerContainer: () => ({
272
106
  width: "100%",
273
- gap: theme.vars.size.baseSpacings.sp2
107
+ height: "fit-content",
108
+ display: "flex",
109
+ justifyContent: "space-between",
110
+ alignItems: "center"
274
111
  }),
275
112
  /**
276
113
  * ****************************************************
277
- * Estilos para el contenedor del formulario
114
+ * Botón de navegación a la página principal de no auth
278
115
  * ****************************************************
279
116
  */
280
- formContent: ({ theme }) => ({
281
- display: "flex",
282
- flexDirection: "column",
283
- padding: theme.vars.size.baseSpacings.sp4,
284
- margin: "auto 0",
285
- width: "100%",
286
- gap: theme.vars.size.baseSpacings.sp5
117
+ buttonHomeNavigation: ({ theme }) => ({
118
+ boxShadow: theme.vars.customShadows?.z1
287
119
  }),
288
120
  /**
289
121
  * ****************************************************
290
- * Estilos para el wrapper del contenedor del formulario
122
+ * Estilos para el contenedor de la configuración y
123
+ * el lenguaje en desktop
291
124
  * ****************************************************
292
125
  */
293
- wrapperFormContent: () => ({
126
+ containerLanguageAndSettings: ({ theme }) => ({
294
127
  display: "flex",
295
- width: "100%",
296
- height: "100%",
297
- overflow: "hidden"
128
+ width: "fit-content",
129
+ height: "fit-content",
130
+ padding: theme.vars.size.baseSpacings["sp0-5"],
131
+ gap: theme.vars.size.baseSpacings.sp1,
132
+ backgroundColor: theme.vars.palette.background.base,
133
+ borderRadius: theme.vars.size.borderRadius.r2,
134
+ border: theme.vars.size.borderStroke.container,
135
+ borderColor: theme.vars.palette.border.disabled,
136
+ marginLeft: "auto"
298
137
  }),
299
138
  /**
300
- * ****************************************************
301
- * Estilos para el contenedor del nombre del módulo
302
- * de la plataforma
303
- * ****************************************************
139
+ * ************************************************************
140
+ * Estilos para el contenedor del formulario en desktop
141
+ * ************************************************************
304
142
  */
305
- containerModuleName: ({ theme }) => ({
143
+ contentFormDesktop: () => ({
306
144
  display: "flex",
307
- flexDirection: "column",
308
145
  width: "100%",
309
- gap: theme.vars.size.baseSpacings.sp2
146
+ height: "100%",
147
+ justifyContent: "center",
148
+ alignItems: "center"
310
149
  })
311
150
  };
312
151
  export {
@@ -1,16 +1,13 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { HelmetPage } from "@m4l/components";
3
3
  import { useModuleDictionary, useBase } from "@m4l/core";
4
- import { D as DesktopContent } from "./subcomponents/DesktopContent/index.js";
5
- import { M as MobileContent } from "./subcomponents/MobileContent/index.js";
6
- import { useIsMobile } from "@m4l/graphics";
4
+ import { B as BaseContent } from "./subcomponents/BaseContent/index.js";
7
5
  import { B as BaseNoAuthModuleLayoutRootStyled } from "../../slots/NoAuthModuleLayoutSlots.js";
8
6
  const BaseNoAuthModuleLayout = (props) => {
9
7
  const { children } = props;
10
8
  const { getModuleLabel } = useModuleDictionary();
11
- const isMobile = useIsMobile();
12
- const { subtitle } = useBase();
13
- return /* @__PURE__ */ jsx(HelmetPage, { title: getModuleLabel(), subtitle, children: /* @__PURE__ */ jsx(BaseNoAuthModuleLayoutRootStyled, { id: "modulerootnouth", "data-testid": "modulerootnouth", children: isMobile ? /* @__PURE__ */ jsx(MobileContent, { children }) : /* @__PURE__ */ jsx(DesktopContent, { children }) }) });
9
+ const { subtitle, bannerUrl } = useBase();
10
+ return /* @__PURE__ */ jsx(HelmetPage, { title: getModuleLabel(), subtitle, children: /* @__PURE__ */ jsx(BaseNoAuthModuleLayoutRootStyled, { id: "modulerootnouth", "data-testid": "modulerootnouth", children: /* @__PURE__ */ jsx(BaseContent, { children, bannerUrl }) }) });
14
11
  };
15
12
  export {
16
13
  BaseNoAuthModuleLayout as B
@@ -0,0 +1,5 @@
1
+ import { BaseContentProps } from './types';
2
+ /**
3
+ * Componente que contiene el contenido de la vista de escritorio
4
+ */
5
+ export declare const BaseContent: (props: BaseContentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,69 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useComponentSize, LanguagePopover, IconButton, Image, Typography, Stack } from "@m4l/components";
3
+ import { D as DesktopBannerStyled, W as WrapperFormContentStyled, H as HeaderContainerStyled, a as ButtonHomeNavigationStyled, C as ContainerLanguageAndSettingsStyled, b as ContainerCompanyLogoStyled, F as FormContentStyled, c as ContainerModuleNameStyled } from "../../../../slots/NoAuthModuleLayoutSlots.js";
4
+ import { useLocation, useNavigate } from "react-router-dom";
5
+ import { useEnvironment, useBase, useModuleDictionary } from "@m4l/core";
6
+ import { a as NO_AUTH_MODULE_LAYOUT_CLASSES, b as NOT_AUTH_MODULE_LAYOUT_ICONS, c as DICTIONARY_KEYS } from "../../../../constants.js";
7
+ const BaseContent = (props) => {
8
+ const { children, bannerUrl } = props;
9
+ const { host_static_assets, environment_assets } = useEnvironment();
10
+ const { currentSize } = useComponentSize();
11
+ const location = useLocation();
12
+ const { handleSetting, companyLogoNormalUrl, footerComponent, homePath } = useBase();
13
+ const navigate = useNavigate();
14
+ const ownerState = {
15
+ size: currentSize
16
+ };
17
+ const { getLabel } = useModuleDictionary();
18
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
19
+ /* @__PURE__ */ jsx(DesktopBannerStyled, { enableIntersectionObserver: false, src: bannerUrl, className: NO_AUTH_MODULE_LAYOUT_CLASSES.desktopBanner }),
20
+ /* @__PURE__ */ jsxs(WrapperFormContentStyled, { children: [
21
+ /* @__PURE__ */ jsxs(HeaderContainerStyled, { children: [
22
+ location.pathname !== homePath && /* @__PURE__ */ jsx(
23
+ ButtonHomeNavigationStyled,
24
+ {
25
+ variant: "text",
26
+ ownerState: { ownerState },
27
+ label: getLabel(DICTIONARY_KEYS.label_home_navigation),
28
+ startIcon: `${host_static_assets}/${environment_assets}/${NOT_AUTH_MODULE_LAYOUT_ICONS.home}`,
29
+ onClick: () => {
30
+ navigate(homePath || "/");
31
+ }
32
+ }
33
+ ),
34
+ /* @__PURE__ */ jsxs(ContainerLanguageAndSettingsStyled, { children: [
35
+ /* @__PURE__ */ jsx(LanguagePopover, {}),
36
+ /* @__PURE__ */ jsx(
37
+ IconButton,
38
+ {
39
+ icon: `${host_static_assets}/${environment_assets}/${NOT_AUTH_MODULE_LAYOUT_ICONS.themeSettings}`,
40
+ variant: "text",
41
+ onClick: () => {
42
+ handleSetting?.();
43
+ }
44
+ }
45
+ )
46
+ ] })
47
+ ] }),
48
+ /* @__PURE__ */ jsx(ContainerCompanyLogoStyled, { children: /* @__PURE__ */ jsx(Image, { src: companyLogoNormalUrl }) }),
49
+ /* @__PURE__ */ jsxs(FormContentStyled, { children: [
50
+ /* @__PURE__ */ jsxs(ContainerModuleNameStyled, { children: [
51
+ /* @__PURE__ */ jsx(Typography, { variant: "h5", skeletonWidth: "20%", children: getLabel("module_name") }),
52
+ /* @__PURE__ */ jsx(
53
+ Typography,
54
+ {
55
+ variant: "subtitle",
56
+ skeletonWidth: "40%",
57
+ children: getLabel("module_description")
58
+ }
59
+ )
60
+ ] }),
61
+ /* @__PURE__ */ jsx(Stack, { direction: "column", height: "auto", style: { overflow: "auto", position: "relative" }, children })
62
+ ] }),
63
+ footerComponent && footerComponent
64
+ ] })
65
+ ] });
66
+ };
67
+ export {
68
+ BaseContent as B
69
+ };
@@ -0,0 +1,5 @@
1
+ import { NoAuthBaseBaseProps } from '../../../../types';
2
+ export interface BaseContentProps {
3
+ children: React.ReactNode;
4
+ bannerUrl: NoAuthBaseBaseProps['bannerUrl'];
5
+ }