@m4l/components 9.1.79 → 9.1.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/DataGrid/dictionary.d.ts +1 -1
- package/components/DataGrid/dictionary.js +1 -1
- package/components/DataGrid/styles.js +1 -0
- package/components/DataGrid/subcomponents/Actions/index.d.ts +4 -0
- package/components/DataGrid/subcomponents/Actions/index.js +2 -5
- package/components/DataGrid/subcomponents/Actions/types.d.ts +1 -1
- package/components/Pager/Pager.d.ts +55 -0
- package/components/Pager/Pager.js +60 -0
- package/components/Pager/Pager.styles.d.ts +2 -0
- package/components/Pager/Pager.styles.js +129 -0
- package/components/Pager/constants.d.ts +1 -0
- package/components/Pager/constants.js +4 -0
- package/components/Pager/dicctionary.d.ts +12 -0
- package/components/Pager/dicctionary.js +18 -0
- package/components/Pager/slots/PagerEnum.d.ts +10 -0
- package/components/Pager/slots/PagerEnum.js +14 -0
- package/components/Pager/slots/PagerSlots.d.ts +7 -0
- package/components/Pager/slots/PagerSlots.js +42 -0
- package/components/Pager/slots/index.d.ts +2 -0
- package/components/Pager/slots/index.js +1 -0
- package/components/Pager/subcomponents/CustomTablePagination/CustomTablePagination.d.ts +9 -0
- package/components/Pager/subcomponents/CustomTablePagination/CustomTablePagination.js +92 -0
- package/components/{mui_extended/Pager → Pager}/subcomponents/CustomTablePagination/types.d.ts +4 -5
- package/components/{mui_extended/Pager/subcomponents/PagerActions/index.d.ts → Pager/subcomponents/PagerActions/PagerActions.d.ts} +4 -0
- package/components/{mui_extended/Pager/subcomponents/PagerActions/index.js → Pager/subcomponents/PagerActions/PagerActions.js} +15 -7
- package/components/{mui_extended/Pager → Pager}/subcomponents/PagerActions/types.d.ts +2 -2
- package/components/Pager/tests/Pager.test.d.ts +1 -0
- package/components/Pager/types.d.ts +25 -0
- package/components/extended/React-Splitter/SplitLayout/SplitLayout.d.ts +14 -0
- package/components/extended/React-Splitter/SplitLayout/SplitLayout.js +53 -0
- package/components/extended/React-Splitter/SplitLayout/SplitLayout.styles.d.ts +2 -0
- package/components/extended/React-Splitter/SplitLayout/SplitLayout.styles.js +157 -0
- package/components/extended/React-Splitter/SplitLayout/constants.d.ts +9 -0
- package/components/extended/React-Splitter/SplitLayout/constants.js +6 -0
- package/components/extended/React-Splitter/SplitLayout/slots/SplitLayoutEnum.d.ts +5 -0
- package/components/extended/React-Splitter/SplitLayout/slots/SplitLayoutEnum.js +9 -0
- package/components/extended/React-Splitter/SplitLayout/slots/SplitLayoutSlots.d.ts +3 -0
- package/components/extended/React-Splitter/SplitLayout/slots/SplitLayoutSlots.js +21 -0
- package/components/extended/React-Splitter/SplitLayout/tests/SplitLayout.test.d.ts +1 -0
- package/components/{SplitLayout → extended/React-Splitter/SplitLayout}/types.d.ts +11 -5
- package/components/hook-form/RHFSelect/slots/RHFSlots.js +1 -1
- package/components/index.d.ts +2 -2
- package/components/mui_extended/Select/Select.styles.js +17 -10
- package/components/mui_extended/index.d.ts +3 -3
- package/index.js +3 -3
- package/package.json +1 -1
- package/components/SplitLayout/SplitLayout.d.ts +0 -16
- package/components/SplitLayout/SplitLayout.js +0 -57
- package/components/SplitLayout/classes/constants.d.ts +0 -1
- package/components/SplitLayout/classes/constants.js +0 -4
- package/components/SplitLayout/classes/index.d.ts +0 -17
- package/components/SplitLayout/classes/index.js +0 -33
- package/components/SplitLayout/classes/types.d.ts +0 -10
- package/components/SplitLayout/index.d.ts +0 -2
- package/components/SplitLayout/styles.d.ts +0 -3
- package/components/SplitLayout/styles.js +0 -29
- package/components/SplitLayout/tests/constants.d.ts +0 -1
- package/components/SplitLayout/tests/constants.js +0 -4
- package/components/SplitLayout/tests/utils.d.ts +0 -2
- package/components/SplitLayout/tests/utils.js +0 -7
- package/components/mui_extended/Pager/classes/constants.d.ts +0 -1
- package/components/mui_extended/Pager/classes/constants.js +0 -4
- package/components/mui_extended/Pager/classes/index.d.ts +0 -25
- package/components/mui_extended/Pager/classes/index.js +0 -55
- package/components/mui_extended/Pager/classes/types.d.ts +0 -18
- package/components/mui_extended/Pager/dicctionary.d.ts +0 -3
- package/components/mui_extended/Pager/dicctionary.js +0 -6
- package/components/mui_extended/Pager/index.d.ts +0 -6
- package/components/mui_extended/Pager/index.js +0 -49
- package/components/mui_extended/Pager/styles.d.ts +0 -1
- package/components/mui_extended/Pager/styles.js +0 -7
- package/components/mui_extended/Pager/subcomponents/CustomTablePagination/index.d.ts +0 -5
- package/components/mui_extended/Pager/subcomponents/CustomTablePagination/index.js +0 -96
- package/components/mui_extended/Pager/types.d.ts +0 -13
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Sizes } from '@m4l/styles';
|
|
2
2
|
export interface PagerActionsProps {
|
|
3
3
|
count: number;
|
|
4
4
|
page: number;
|
|
5
5
|
rowsPerPage: number;
|
|
6
6
|
onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void;
|
|
7
|
-
|
|
7
|
+
size?: Extract<Sizes, 'small' | 'medium'>;
|
|
8
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Theme } from '@mui/material';
|
|
2
|
+
import { PAGER_KEY_COMPONENT } from './constants';
|
|
3
|
+
import { OverridesStyleRules } from '@mui/material/styles/overrides';
|
|
4
|
+
import { PagerSlots } from './slots/PagerEnum';
|
|
5
|
+
import { Sizes } from '@m4l/styles';
|
|
6
|
+
export type PagerType = keyof typeof PagerSlots;
|
|
7
|
+
export interface PagerProps {
|
|
8
|
+
records: number;
|
|
9
|
+
totalRecords: number;
|
|
10
|
+
rowsPerPageOptions?: number[];
|
|
11
|
+
rowsPerPage?: number;
|
|
12
|
+
page: number;
|
|
13
|
+
onPageChange: (newPage: number) => void;
|
|
14
|
+
onRowsPerPageChange: (newRowsPerPage: number) => void;
|
|
15
|
+
labelRows?: string;
|
|
16
|
+
labelOf?: string;
|
|
17
|
+
size?: Extract<Sizes, 'small' | 'medium'>;
|
|
18
|
+
}
|
|
19
|
+
export type selectOption<T = unknown> = {
|
|
20
|
+
id: T;
|
|
21
|
+
label: string;
|
|
22
|
+
value?: T;
|
|
23
|
+
startAdornment?: React.ReactNode;
|
|
24
|
+
};
|
|
25
|
+
export type PagerStyles = OverridesStyleRules<PagerType, typeof PAGER_KEY_COMPONENT, Theme>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SplitLayoutProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Componente SplitLayout refactorizado de la libreria `react-splitter-layout` que usa `SplitterLayout`.
|
|
4
|
+
* @param {SplitLayoutProps} props
|
|
5
|
+
* @example
|
|
6
|
+
* ```
|
|
7
|
+
* <SplitLayout
|
|
8
|
+
* splitPosition={isDesktop ? splitPosition : 'none'}
|
|
9
|
+
* firstPart={masterComponent}
|
|
10
|
+
* secondPart={detailComponent}
|
|
11
|
+
* />
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const SplitLayout: (props: SplitLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { clsx } from "clsx";
|
|
3
|
+
import { S as SplitterLayout } from "../../../../internal_libs/react-splitter-layout.js";
|
|
4
|
+
import { g as getPropDataTestId } from "../../../../test/getNameDataTestId.js";
|
|
5
|
+
import { a as getComponentSlotRoot } from "../../../../utils/getComponentSlotRoot.js";
|
|
6
|
+
import { S as SplitLayoutRootStyled, a as SplitMasterStyled, b as SplitDetailStyled } from "./slots/SplitLayoutSlots.js";
|
|
7
|
+
import { S as SplitLayoutSlots } from "./slots/SplitLayoutEnum.js";
|
|
8
|
+
import { S as SPLIT_LAYOUT_PREFIX, a as SPLIT_LAYOUT_KEY_COMPONENT } from "./constants.js";
|
|
9
|
+
const SplitLayout = (props) => {
|
|
10
|
+
const {
|
|
11
|
+
splitPosition,
|
|
12
|
+
firstPart,
|
|
13
|
+
secondPart,
|
|
14
|
+
secondParrtInitialSize = 50,
|
|
15
|
+
percentage = true,
|
|
16
|
+
dataTestId,
|
|
17
|
+
className
|
|
18
|
+
} = props;
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
SplitLayoutRootStyled,
|
|
21
|
+
{
|
|
22
|
+
...getPropDataTestId(SPLIT_LAYOUT_PREFIX, SplitLayoutSlots.root, dataTestId),
|
|
23
|
+
className: clsx(getComponentSlotRoot(SPLIT_LAYOUT_KEY_COMPONENT), className),
|
|
24
|
+
children: /* @__PURE__ */ jsxs(
|
|
25
|
+
SplitterLayout,
|
|
26
|
+
{
|
|
27
|
+
vertical: splitPosition === "vertical",
|
|
28
|
+
percentage,
|
|
29
|
+
secondaryInitialSize: secondParrtInitialSize,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsx(
|
|
32
|
+
SplitMasterStyled,
|
|
33
|
+
{
|
|
34
|
+
...getPropDataTestId(SPLIT_LAYOUT_PREFIX, SplitLayoutSlots.splitMaster, dataTestId),
|
|
35
|
+
children: typeof firstPart === "function" ? firstPart() : firstPart
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
splitPosition !== "none" && /* @__PURE__ */ jsx(
|
|
39
|
+
SplitDetailStyled,
|
|
40
|
+
{
|
|
41
|
+
...getPropDataTestId(SPLIT_LAYOUT_PREFIX, SplitLayoutSlots.splitDetail, dataTestId),
|
|
42
|
+
children: typeof secondPart === "function" ? secondPart() : secondPart
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
SplitLayout as S
|
|
53
|
+
};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
const splitLayoutStyles = {
|
|
2
|
+
/**
|
|
3
|
+
* Estilos para root
|
|
4
|
+
*/
|
|
5
|
+
root: ({ theme }) => ({
|
|
6
|
+
display: "flex",
|
|
7
|
+
flexDirection: "column",
|
|
8
|
+
position: "relative",
|
|
9
|
+
flexGrow: 1,
|
|
10
|
+
overflow: "hidden",
|
|
11
|
+
// Configuracion por defecto en horizontal
|
|
12
|
+
"& .splitter-layout": {
|
|
13
|
+
position: "absolute",
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "row",
|
|
16
|
+
width: "100%",
|
|
17
|
+
height: "100%",
|
|
18
|
+
overflow: "hidden",
|
|
19
|
+
gap: theme.vars.size.baseSpacings.sp2
|
|
20
|
+
},
|
|
21
|
+
// Configuracion de ambos paneles a dividir
|
|
22
|
+
"& .splitter-layout .layout-pane": {
|
|
23
|
+
position: "relative",
|
|
24
|
+
flex: "0 0 auto",
|
|
25
|
+
overflow: "hidden"
|
|
26
|
+
},
|
|
27
|
+
// Configuración del panel principal
|
|
28
|
+
"& .splitter-layout .layout-pane.layout-pane-primary": {
|
|
29
|
+
flex: "1 1 auto"
|
|
30
|
+
},
|
|
31
|
+
// Configuración del cursor en horizontal
|
|
32
|
+
"& .splitter-layout.layout-changing": {
|
|
33
|
+
cursor: "col-resize"
|
|
34
|
+
},
|
|
35
|
+
// Configuración barran grande cuando es horizontal
|
|
36
|
+
"& .splitter-layout > .layout-splitter": {
|
|
37
|
+
display: "flex",
|
|
38
|
+
alignItems: "center",
|
|
39
|
+
backgroundColor: "none",
|
|
40
|
+
boxSizing: "border-box",
|
|
41
|
+
backgroundClip: "padding-box",
|
|
42
|
+
// Propiedades del horizontal
|
|
43
|
+
width: "8px",
|
|
44
|
+
margin: "0 0.5px",
|
|
45
|
+
borderLeft: "4px solid hsla(0, 0%, 5%, 0)",
|
|
46
|
+
borderRight: "4px solid hsla(0, 0%, 5%, 0)",
|
|
47
|
+
cursor: "col-resize",
|
|
48
|
+
justifyContent: "center",
|
|
49
|
+
height: "100%"
|
|
50
|
+
},
|
|
51
|
+
// Configuración divisorra interna posición horizontal del split
|
|
52
|
+
"& .splitter-layout .layout-splitter:before": {
|
|
53
|
+
content: `""`,
|
|
54
|
+
height: "56px",
|
|
55
|
+
width: "4px",
|
|
56
|
+
top: "calc(50% - 22.5px)",
|
|
57
|
+
position: "absolute",
|
|
58
|
+
background: theme.vars.palette.primary.enabled,
|
|
59
|
+
borderRadius: theme.vars.size.borderRadius["r0-5"],
|
|
60
|
+
margin: "1px 0px"
|
|
61
|
+
},
|
|
62
|
+
// Hover de la barra externa en posición horizontal
|
|
63
|
+
"& .splitter-layout > .layout-splitter:hover": {
|
|
64
|
+
borderRadius: "2px",
|
|
65
|
+
borderLeft: `2px`,
|
|
66
|
+
borderRight: `2px`
|
|
67
|
+
},
|
|
68
|
+
// Configuración del cursor en horizontal
|
|
69
|
+
"& .splitter-layout.splitter-layout-vertical.layout-changing": {
|
|
70
|
+
cursor: "row-resize"
|
|
71
|
+
},
|
|
72
|
+
// Barra divisora vertical del split
|
|
73
|
+
"& .splitter-layout.splitter-layout-vertical > .layout-splitter": {
|
|
74
|
+
height: theme.vars.size.baseSpacings.sp2,
|
|
75
|
+
width: "100% !important",
|
|
76
|
+
margin: "1px 0",
|
|
77
|
+
cursor: "row-resize"
|
|
78
|
+
},
|
|
79
|
+
// Configuración barra divisora interna vertical del split
|
|
80
|
+
"& .splitter-layout.splitter-layout-vertical .layout-splitter:before": {
|
|
81
|
+
width: "56px !important",
|
|
82
|
+
height: "4px !important",
|
|
83
|
+
left: "calc(50% - 22.5px)",
|
|
84
|
+
top: "unset",
|
|
85
|
+
background: theme.vars.palette.primary.enabled,
|
|
86
|
+
borderRadius: "2px",
|
|
87
|
+
zIndex: "1"
|
|
88
|
+
},
|
|
89
|
+
// Color del hover y el arrastrando del splitter
|
|
90
|
+
"& .splitter-layout > .layout-splitter:hover:before, .splitter-layout.layout-changing > .layout-splitter:before": {
|
|
91
|
+
// barra interna vertical
|
|
92
|
+
background: theme.vars.palette.primary.hover
|
|
93
|
+
},
|
|
94
|
+
// Dirección flex cuando es vertical
|
|
95
|
+
"& .splitter-layout.splitter-layout-vertical": {
|
|
96
|
+
flexDirection: "column",
|
|
97
|
+
position: "relative",
|
|
98
|
+
"& .layout-splitter:after": {
|
|
99
|
+
content: `""`,
|
|
100
|
+
height: "2px",
|
|
101
|
+
left: "0",
|
|
102
|
+
right: "0",
|
|
103
|
+
/* top: 'calc(50% - 6px)', */
|
|
104
|
+
position: "absolute",
|
|
105
|
+
background: theme.vars.palette?.border.default
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"& .splitter-layout:not(.splitter-layout-vertical)": {
|
|
109
|
+
"& .layout-splitter:after": {
|
|
110
|
+
content: `""`,
|
|
111
|
+
width: "2px",
|
|
112
|
+
top: "0",
|
|
113
|
+
bottom: "0",
|
|
114
|
+
position: "absolute",
|
|
115
|
+
background: theme.vars.palette?.border.default
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}),
|
|
119
|
+
/**
|
|
120
|
+
* SplitMaster firstPart
|
|
121
|
+
*/
|
|
122
|
+
splitMaster: () => ({
|
|
123
|
+
position: "relative",
|
|
124
|
+
width: "100%",
|
|
125
|
+
height: "100%",
|
|
126
|
+
display: "flex",
|
|
127
|
+
flexDirection: "column",
|
|
128
|
+
overflow: "hidden",
|
|
129
|
+
"& .M4LStack-root": {
|
|
130
|
+
gap: "8px"
|
|
131
|
+
}
|
|
132
|
+
}),
|
|
133
|
+
/**
|
|
134
|
+
* SplitMaster secondPart
|
|
135
|
+
*/
|
|
136
|
+
splitDetail: () => ({
|
|
137
|
+
position: "relative",
|
|
138
|
+
width: "100%",
|
|
139
|
+
height: "100%",
|
|
140
|
+
display: "flex",
|
|
141
|
+
flexDirection: "column",
|
|
142
|
+
justifyContent: "center",
|
|
143
|
+
alignItems: "center",
|
|
144
|
+
overflow: "hidden",
|
|
145
|
+
left: "0px",
|
|
146
|
+
right: "0px",
|
|
147
|
+
top: "0px",
|
|
148
|
+
bottom: "0px",
|
|
149
|
+
"& .M4LStack-root": {
|
|
150
|
+
//gap: '8px',
|
|
151
|
+
overflow: "hidden"
|
|
152
|
+
}
|
|
153
|
+
})
|
|
154
|
+
};
|
|
155
|
+
export {
|
|
156
|
+
splitLayoutStyles as s
|
|
157
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clave de identificación del componente SplitLayout dentro del sistema.
|
|
3
|
+
*
|
|
4
|
+
* Esta constante se utiliza como identificador único para asociar y personalizar estilos y configuraciones
|
|
5
|
+
* relacionadas con el componente `SplitLayout` dentro del sistema de temas y estilos.
|
|
6
|
+
* @default 'SplitLayout'
|
|
7
|
+
*/
|
|
8
|
+
export declare const SPLIT_LAYOUT_KEY_COMPONENT = "M4LSplitLayout";
|
|
9
|
+
export declare const SPLIT_LAYOUT_PREFIX = "M4LSplitLayout";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var SplitLayoutSlots = /* @__PURE__ */ ((SplitLayoutSlots2) => {
|
|
2
|
+
SplitLayoutSlots2["root"] = "root";
|
|
3
|
+
SplitLayoutSlots2["splitMaster"] = "splitMaster";
|
|
4
|
+
SplitLayoutSlots2["splitDetail"] = "splitDetail";
|
|
5
|
+
return SplitLayoutSlots2;
|
|
6
|
+
})(SplitLayoutSlots || {});
|
|
7
|
+
export {
|
|
8
|
+
SplitLayoutSlots as S
|
|
9
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const SplitLayoutRootStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown>, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
|
|
2
|
+
export declare const SplitMasterStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown>, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
|
|
3
|
+
export declare const SplitDetailStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown>, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { styled } from "@mui/material/styles";
|
|
2
|
+
import { s as splitLayoutStyles } from "../SplitLayout.styles.js";
|
|
3
|
+
import { a as SPLIT_LAYOUT_KEY_COMPONENT } from "../constants.js";
|
|
4
|
+
import { S as SplitLayoutSlots } from "./SplitLayoutEnum.js";
|
|
5
|
+
const SplitLayoutRootStyled = styled("div", {
|
|
6
|
+
name: SPLIT_LAYOUT_KEY_COMPONENT,
|
|
7
|
+
slot: SplitLayoutSlots.root
|
|
8
|
+
})(splitLayoutStyles.root);
|
|
9
|
+
const SplitMasterStyled = styled("div", {
|
|
10
|
+
name: SPLIT_LAYOUT_KEY_COMPONENT,
|
|
11
|
+
slot: SplitLayoutSlots.splitMaster
|
|
12
|
+
})(splitLayoutStyles.splitMaster);
|
|
13
|
+
const SplitDetailStyled = styled("div", {
|
|
14
|
+
name: SPLIT_LAYOUT_KEY_COMPONENT,
|
|
15
|
+
slot: SplitLayoutSlots.splitDetail
|
|
16
|
+
})(splitLayoutStyles.splitDetail);
|
|
17
|
+
export {
|
|
18
|
+
SplitLayoutRootStyled as S,
|
|
19
|
+
SplitMasterStyled as a,
|
|
20
|
+
SplitDetailStyled as b
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { Theme } from '@mui/material';
|
|
3
|
+
import { M4LOverridesStyleRules } from 'src/@types/augmentations';
|
|
4
|
+
import { SplitLayoutSlots as slots } from './slots/SplitLayoutEnum';
|
|
5
|
+
import { SPLIT_LAYOUT_KEY_COMPONENT } from './constants';
|
|
2
6
|
export type SplitPosition = 'vertical' | 'horizontal' | 'none';
|
|
3
7
|
/** Es una interfaz que define las propiedades aceptadas por el componente SplitLayout. */
|
|
4
8
|
export interface SplitLayoutProps {
|
|
@@ -9,12 +13,14 @@ export interface SplitLayoutProps {
|
|
|
9
13
|
/** permite establecer un tamaño inicial específico para la segunda parte del diseño dividido.*/
|
|
10
14
|
secondParrtInitialSize?: number;
|
|
11
15
|
/**representa el contenido o componente que se mostrará en la primera parte de la interfaz de usuario. */
|
|
12
|
-
firstPart
|
|
16
|
+
firstPart?: ((props?: any) => JSX.Element) | ReactNode;
|
|
13
17
|
/** representa el contenido o componente que se mostrará en la segunda parte de la interfaz de usuario,la parte sea de abajo o a la derecha*/
|
|
14
|
-
secondPart
|
|
18
|
+
secondPart?: ((props?: any) => JSX.Element) | ReactNode;
|
|
15
19
|
/** se utiliza para permitir que el componente SplitLayout reciba clases CSS personalizadas desde el componente padre, lo que permite una mayor flexibilidad en la estilización de este componente.*/
|
|
16
20
|
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* se utiliza el `dataTestId` para las pruebas unitarias
|
|
23
|
+
*/
|
|
24
|
+
dataTestId?: string;
|
|
17
25
|
}
|
|
18
|
-
|
|
19
|
-
* En este contexto OwnerState está siendo utilizado para almacenar información sobre la posición de la división en el diseño dividido, para controlar cómo se visualiza o se comporta el diseño dividido en la interfaz de usuario */
|
|
20
|
-
export type OwnerState = Pick<SplitLayoutProps, 'splitPosition'>;
|
|
26
|
+
export type SplitLayoutStyles = M4LOverridesStyleRules<keyof typeof slots, typeof SPLIT_LAYOUT_KEY_COMPONENT, Theme>;
|
|
@@ -3,8 +3,8 @@ import { a as RHFSELECT_COMPONENT_KEY } from "../constants.js";
|
|
|
3
3
|
import { R as RHFSelectEnum } from "./RHFSelectEnum.js";
|
|
4
4
|
import { r as rhfSelectStyles } from "../RHFSelect.styles.js";
|
|
5
5
|
import { L as Label } from "../../../Label/Label.js";
|
|
6
|
-
import { S as Select } from "../../../mui_extended/Select/Select.js";
|
|
7
6
|
import { H as HelperError } from "../../../HelperError/HelperError.js";
|
|
7
|
+
import { S as Select } from "../../../mui_extended/Select/Select.js";
|
|
8
8
|
const RootStyled = styled("div", {
|
|
9
9
|
name: RHFSELECT_COMPONENT_KEY,
|
|
10
10
|
slot: RHFSelectEnum.root
|
package/components/index.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export type { MenuAction, ComponentActionProps } from './MenuActions/types';
|
|
|
43
43
|
export * from './extended/React-Resizable';
|
|
44
44
|
export * from './ScrollBar';
|
|
45
45
|
export { ScrollToTop } from './ScrollToTop';
|
|
46
|
-
export * from './SplitLayout/SplitLayout';
|
|
46
|
+
export * from './extended/React-Splitter/SplitLayout/SplitLayout';
|
|
47
47
|
export * from './ToastContainer';
|
|
48
48
|
export * from './SideBar';
|
|
49
49
|
export * from './AppBar';
|
|
@@ -53,6 +53,6 @@ export * from './popups';
|
|
|
53
53
|
export * from './commercial';
|
|
54
54
|
export * from './MFIsolationApp';
|
|
55
55
|
export * from './BaseModule';
|
|
56
|
-
export type { SplitPosition } from './SplitLayout/types';
|
|
56
|
+
export type { SplitPosition } from './extended/React-Splitter/SplitLayout/types';
|
|
57
57
|
export * from './mui_extended';
|
|
58
58
|
export * from './WindowBase';
|
|
@@ -5,8 +5,8 @@ const selectStyles = {
|
|
|
5
5
|
* Estilos para el componente Select
|
|
6
6
|
* @author Bruce Escobar - automatic
|
|
7
7
|
* @createdAt 2024-10-22 10:30:26 - automatic
|
|
8
|
-
* @updatedAt 2025-01-
|
|
9
|
-
* @updatedUser
|
|
8
|
+
* @updatedAt 2025-01-17 19:00:56 - automatic
|
|
9
|
+
* @updatedUser cesar - automatic
|
|
10
10
|
*/
|
|
11
11
|
root: ({ theme, ownerState }) => ({
|
|
12
12
|
[`&.${SELECT_CLASSES.root}`]: {
|
|
@@ -67,6 +67,13 @@ const selectStyles = {
|
|
|
67
67
|
"&:focus-within": {
|
|
68
68
|
borderColor: ownerState.paletteColor?.focus
|
|
69
69
|
},
|
|
70
|
+
'&[aria-hidden="true"]': {
|
|
71
|
+
pointerEvents: "none"
|
|
72
|
+
},
|
|
73
|
+
"&[inert]": {
|
|
74
|
+
pointerEvents: "none",
|
|
75
|
+
opacity: 0.5
|
|
76
|
+
},
|
|
70
77
|
...ownerState.error && {
|
|
71
78
|
borderColor: ownerState.paletteColor?.enabled,
|
|
72
79
|
"&:hover": {
|
|
@@ -100,8 +107,8 @@ const selectStyles = {
|
|
|
100
107
|
* @returns {object} The styles for the render option container
|
|
101
108
|
* @author SebastianM - automatic
|
|
102
109
|
* @createdAt 2024-12-18 15:11:13 - automatic
|
|
103
|
-
* @updatedAt 2025-01-
|
|
104
|
-
* @updatedUser
|
|
110
|
+
* @updatedAt 2025-01-17 19:00:56 - automatic
|
|
111
|
+
* @updatedUser cesar - automatic
|
|
105
112
|
*/
|
|
106
113
|
renderValueContainer: ({ theme }) => ({
|
|
107
114
|
display: "flex",
|
|
@@ -116,8 +123,8 @@ const selectStyles = {
|
|
|
116
123
|
* Styles for the label option
|
|
117
124
|
* @author SebastianM - automatic
|
|
118
125
|
* @createdAt 2024-12-23 10:47:53 - automatic
|
|
119
|
-
* @updatedAt 2025-01-
|
|
120
|
-
* @updatedUser
|
|
126
|
+
* @updatedAt 2025-01-17 19:00:56 - automatic
|
|
127
|
+
* @updatedUser cesar - automatic
|
|
121
128
|
*/
|
|
122
129
|
labelOption: ({ theme }) => ({
|
|
123
130
|
paddingLeft: theme.vars.size.baseSpacings.sp1,
|
|
@@ -128,8 +135,8 @@ const selectStyles = {
|
|
|
128
135
|
* @returns {object} The styles for the label placeholder
|
|
129
136
|
* @author SebastianM - automatic
|
|
130
137
|
* @createdAt 2024-12-26 14:16:33 - automatic
|
|
131
|
-
* @updatedAt 2025-01-
|
|
132
|
-
* @updatedUser
|
|
138
|
+
* @updatedAt 2025-01-17 19:00:56 - automatic
|
|
139
|
+
* @updatedUser cesar - automatic
|
|
133
140
|
*/
|
|
134
141
|
labelPlaceholer: ({ theme }) => ({
|
|
135
142
|
paddingLeft: theme.vars.size.baseSpacings.sp1
|
|
@@ -158,8 +165,8 @@ const selectStyles = {
|
|
|
158
165
|
* Styles for the skeleton select component
|
|
159
166
|
* @author SebastianM - automatic
|
|
160
167
|
* @createdAt 2024-12-17 15:54:22 - automatic
|
|
161
|
-
* @updatedAt 2025-01-
|
|
162
|
-
* @updatedUser
|
|
168
|
+
* @updatedAt 2025-01-17 19:00:56 - automatic
|
|
169
|
+
* @updatedUser cesar - automatic
|
|
163
170
|
*/
|
|
164
171
|
skeletonSelect: ({ theme, ownerState }) => ({
|
|
165
172
|
width: "100%",
|
|
@@ -19,9 +19,9 @@ export * from './Skeleton';
|
|
|
19
19
|
export * from './Stack';
|
|
20
20
|
export * from './Tabs';
|
|
21
21
|
export * from './TabContent';
|
|
22
|
-
export { Pager } from '
|
|
23
|
-
export type { PagerProps } from '
|
|
24
|
-
export { getPagerComponentsDictionary } from '
|
|
22
|
+
export { Pager } from '../Pager/Pager';
|
|
23
|
+
export type { PagerProps } from '../Pager/types';
|
|
24
|
+
export { getPagerComponentsDictionary } from '../Pager/dicctionary';
|
|
25
25
|
export { Tab } from './Tab/Tab';
|
|
26
26
|
export * from './TabContext';
|
|
27
27
|
export * from './Typography/Typography';
|
package/index.js
CHANGED
|
@@ -131,7 +131,7 @@ import { a as a10, M as M11 } from "./components/MenuActions/MenuActions.js";
|
|
|
131
131
|
import { R as R16 } from "./components/extended/React-Resizable/Resizable/Resizable.js";
|
|
132
132
|
import { R as R17 } from "./components/extended/React-Resizable/ResizableBox/ResizableBox.js";
|
|
133
133
|
import { S as S3 } from "./components/ScrollBar/index.js";
|
|
134
|
-
import { S as S4 } from "./components/SplitLayout/SplitLayout.js";
|
|
134
|
+
import { S as S4 } from "./components/extended/React-Splitter/SplitLayout/SplitLayout.js";
|
|
135
135
|
import { T as T3 } from "./components/ToastContainer/ToastContainer.js";
|
|
136
136
|
import { T as T4 } from "./components/ToastContainer/subcomponents/ToastMessage/ToastMessage.js";
|
|
137
137
|
import { S as S5 } from "./components/SideBar/SideBar.js";
|
|
@@ -157,8 +157,8 @@ import { B as B5 } from "./components/mui_extended/Badge/Badge.js";
|
|
|
157
157
|
import { L as L9 } from "./components/mui_extended/LinearProgress/index.js";
|
|
158
158
|
import { L as L10 } from "./components/mui_extended/LinkWithRoute/index.js";
|
|
159
159
|
import { L as L11 } from "./components/mui_extended/LoadingButton/LoadingButton.js";
|
|
160
|
-
import { P as P14 } from "./components/
|
|
161
|
-
import { g as g25 } from "./components/
|
|
160
|
+
import { P as P14 } from "./components/Pager/Pager.js";
|
|
161
|
+
import { g as g25 } from "./components/Pager/dicctionary.js";
|
|
162
162
|
import { T as T6 } from "./components/mui_extended/Tab/Tab.js";
|
|
163
163
|
import { T as T7 } from "./components/mui_extended/Tooltip/Tooltip.js";
|
|
164
164
|
import { I as I6 } from "./components/mui_extended/IconButton/IconButton.js";
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { SplitLayoutProps } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Propiedades para el componente SplitLayout.
|
|
4
|
-
* @param {SplitLayoutProps} props
|
|
5
|
-
* splitPosition - determina la orientación de la división entre las dos partes de la interfaz de usuario. Puede tener tres valores: "vertical", "horizontal" o "none".
|
|
6
|
-
* props.firstPart - representa el contenido o componente que se mostrará en la primera parte de la interfaz de usuario.
|
|
7
|
-
* props.secondPart - Esta propiedad representa el contenido o componente que se mostrará en la segunda parte de la interfaz de usuario,la parte sea de abajo o a la derecha
|
|
8
|
-
* props.secondParrtInitialSize - te permite establecer un tamaño inicial específico para la segunda parte del diseño dividido.
|
|
9
|
-
* props.percentage - La propiedad percentage en la interfaz SplitLayoutProps indica si el tamaño inicial de la segunda parte del diseño dividido se proporciona en porcentaje en lugar de píxeles.
|
|
10
|
-
* props.className - se utiliza para permitir que el componente SplitLayout reciba clases CSS personalizadas desde el componente padre, lo que permite una mayor flexibilidad en la estilización de este componente.
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* TODO: Documentar
|
|
15
|
-
*/
|
|
16
|
-
export declare function SplitLayout(props: SplitLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { S as SplitLayoutRoot, a as SplitMaster, b as SplitDetail } from "./styles.js";
|
|
3
|
-
import { u as useSplitLayoutUtilityClasses } from "./classes/index.js";
|
|
4
|
-
import clsx from "clsx";
|
|
5
|
-
import { T as TEST_PROP_ID } from "../../test/constants_no_mock.js";
|
|
6
|
-
import { g as getNameSplitLayoutDataTestId } from "./tests/utils.js";
|
|
7
|
-
import { S as SplitterLayout } from "../../internal_libs/react-splitter-layout.js";
|
|
8
|
-
function SplitLayout(props) {
|
|
9
|
-
const {
|
|
10
|
-
splitPosition,
|
|
11
|
-
firstPart,
|
|
12
|
-
secondPart,
|
|
13
|
-
secondParrtInitialSize = 50,
|
|
14
|
-
percentage = true,
|
|
15
|
-
className
|
|
16
|
-
} = props;
|
|
17
|
-
const ownerState = {
|
|
18
|
-
splitPosition
|
|
19
|
-
};
|
|
20
|
-
const classes = useSplitLayoutUtilityClasses(ownerState);
|
|
21
|
-
return /* @__PURE__ */ jsx(
|
|
22
|
-
SplitLayoutRoot,
|
|
23
|
-
{
|
|
24
|
-
className: clsx(classes.root, className),
|
|
25
|
-
...process.env.NODE_ENV !== "production" ? { [TEST_PROP_ID]: getNameSplitLayoutDataTestId("root") } : {},
|
|
26
|
-
children: SplitterLayout ? /* @__PURE__ */ jsxs(
|
|
27
|
-
SplitterLayout,
|
|
28
|
-
{
|
|
29
|
-
vertical: splitPosition === "vertical",
|
|
30
|
-
percentage,
|
|
31
|
-
secondaryInitialSize: secondParrtInitialSize,
|
|
32
|
-
children: [
|
|
33
|
-
/* @__PURE__ */ jsx(
|
|
34
|
-
SplitMaster,
|
|
35
|
-
{
|
|
36
|
-
className: classes.firstPart,
|
|
37
|
-
...process.env.NODE_ENV !== "production" ? { [TEST_PROP_ID]: getNameSplitLayoutDataTestId("firstPart") } : {},
|
|
38
|
-
children: typeof firstPart === "function" ? firstPart() : firstPart
|
|
39
|
-
}
|
|
40
|
-
),
|
|
41
|
-
splitPosition !== "none" && /* @__PURE__ */ jsx(
|
|
42
|
-
SplitDetail,
|
|
43
|
-
{
|
|
44
|
-
className: classes.secondPart,
|
|
45
|
-
...process.env.NODE_ENV !== "production" ? { [TEST_PROP_ID]: getNameSplitLayoutDataTestId("secondPart") } : {},
|
|
46
|
-
children: typeof secondPart === "function" ? secondPart() : secondPart
|
|
47
|
-
}
|
|
48
|
-
)
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
) : null
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
export {
|
|
56
|
-
SplitLayout as S
|
|
57
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const componentName = "M4LSplitLayout";
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SplitLayoutClassesType } from './types';
|
|
2
|
-
import { OwnerState } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Esta es una constante que se está exportando y que contiene las clases de estilo generadas para el componente SplitLayout.
|
|
5
|
-
*
|
|
6
|
-
*/
|
|
7
|
-
export declare const splitLayoutClasses: SplitLayoutClassesType;
|
|
8
|
-
export declare function getSplitLayoutUtilityClass(slot: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Es un hook que facilita la gestión de clases de estilo para el componente SplitLayout, permitiendo una mayor flexibilidad en la aplicación de estilos basados en el estado del propietario.
|
|
11
|
-
* @param {OwnerState} ownerState - El estado del propietario del componente SplitLayout.
|
|
12
|
-
*/
|
|
13
|
-
export declare const useSplitLayoutUtilityClasses: (ownerState: OwnerState) => {
|
|
14
|
-
root: string;
|
|
15
|
-
firstPart: string;
|
|
16
|
-
secondPart: string;
|
|
17
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { generateUtilityClasses, generateUtilityClass } from "@mui/material";
|
|
2
|
-
import { unstable_composeClasses } from "@mui/base";
|
|
3
|
-
import { c as componentName } from "./constants.js";
|
|
4
|
-
generateUtilityClasses(componentName, [
|
|
5
|
-
/* elements */
|
|
6
|
-
"root",
|
|
7
|
-
"firstPart",
|
|
8
|
-
"secondPart",
|
|
9
|
-
/* states or variants of elements */
|
|
10
|
-
"stateVertical",
|
|
11
|
-
"stateHorizontal"
|
|
12
|
-
]);
|
|
13
|
-
function getSplitLayoutUtilityClass(slot) {
|
|
14
|
-
return generateUtilityClass(componentName, slot);
|
|
15
|
-
}
|
|
16
|
-
const useSplitLayoutUtilityClasses = (ownerState) => {
|
|
17
|
-
const slots = {
|
|
18
|
-
root: [
|
|
19
|
-
"root",
|
|
20
|
-
ownerState.splitPosition === "vertical" && "stateVertical",
|
|
21
|
-
ownerState.splitPosition === "horizontal" && "stateHorizontal"
|
|
22
|
-
],
|
|
23
|
-
firstPart: ["firstPart"],
|
|
24
|
-
secondPart: ["secondPart"]
|
|
25
|
-
};
|
|
26
|
-
const composedClasses = unstable_composeClasses(slots, getSplitLayoutUtilityClass, {});
|
|
27
|
-
return {
|
|
28
|
-
...composedClasses
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
useSplitLayoutUtilityClasses as u
|
|
33
|
-
};
|