@m4l/components 9.1.69 → 9.1.70

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 (24) hide show
  1. package/@types/types.d.ts +8 -0
  2. package/components/Loadable/index.d.ts +8 -0
  3. package/components/Loadable/index.js +2 -2
  4. package/components/animate/index.d.ts +1 -1
  5. package/components/extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.d.ts +11 -0
  6. package/components/extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.js +53 -0
  7. package/components/extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.styles.d.ts +2 -0
  8. package/components/extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.styles.js +39 -0
  9. package/components/extended/React-Spinners/PropagateLoaderSpinner/constants.d.ts +1 -0
  10. package/components/extended/React-Spinners/PropagateLoaderSpinner/constants.js +4 -0
  11. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/PropagateLoaderSpinnerEnum.d.ts +4 -0
  12. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/PropagateLoaderSpinnerEnum.js +8 -0
  13. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/PropagateLoaderSpinnerSlots.d.ts +6 -0
  14. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/PropagateLoaderSpinnerSlots.js +17 -0
  15. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/index.d.ts +2 -0
  16. package/components/extended/React-Spinners/PropagateLoaderSpinner/slots/index.js +1 -0
  17. package/components/extended/React-Spinners/PropagateLoaderSpinner/tests/PropagateLoaderSpinner.test.d.ts +1 -0
  18. package/components/extended/React-Spinners/PropagateLoaderSpinner/types.d.ts +58 -0
  19. package/index.js +2 -2
  20. package/package.json +1 -1
  21. package/components/animate/PropagateLoader/index.d.ts +0 -6
  22. package/components/animate/PropagateLoader/index.js +0 -11
  23. package/components/animate/PropagateLoader/syles.d.ts +0 -1
  24. package/components/animate/PropagateLoader/syles.js +0 -16
package/@types/types.d.ts CHANGED
@@ -138,6 +138,7 @@ import { AccountPopoverOwnerState, AccountPopoverSlotsType } from '../components
138
138
  import { PropertyVaLueOwnerState, PropertyValueType } from '../components/PropertyValue/types';
139
139
  import { RHFTextFieldPasswordOwnerState, RHFTextFieldPasswordType } from '../components/hook-form/RHFTextFieldPassword/types';
140
140
  import { RHFAutocompleteOwnerState, RHFAutocompleteSlotsType } from '../components/hook-form/RHFAutocomplete/types';
141
+ import { PropagateLoaderSpinnerOwnerState, PropagateLoaderSpinnerType } from '../components/extended/React-Spinners/PropagateLoaderSpinner/types';
141
142
  import { LinearProgressIndeterminateOwnerState, LinearProgressIndeterminateType } from '../components/LinearProgressIndeterminate/types';
142
143
  import { MenuDividerOwnerState, MenuDividerSlotsType } from '../components/mui_extended/MenuDivider/types';
143
144
 
@@ -193,6 +194,7 @@ declare module '@mui/material/styles' {
193
194
  RHFM4LAutocomplete: RHFAutocompleteSlotsType;
194
195
  M4LAccountPopover: AccountPopoverSlotsType;
195
196
  M4LPropertyValue: PropertyValueType;
197
+ M4LPropagateLoaderSpinner: PropagateLoaderSpinnerType;
196
198
  M4LRHFTextFieldPassword: RHFTextFieldPasswordType;
197
199
  M4LLinearProgressIndeterminate: LinearProgressIndeterminateType;
198
200
  M4LMenuDivider: MenuDividerSlotsType;
@@ -249,6 +251,7 @@ declare module '@mui/material/styles' {
249
251
  M4LPropertyValue: Partial<PropertyVaLueOwnerState>;
250
252
  M4LColor: Partial<ColorOwnerState>;
251
253
  M4LRHFColorPicker: Partial<RHFColorPickerOwnerState>;
254
+ M4LPropagateLoaderSpinner: Partial<PropagateLoaderSpinnerOwnerState>;
252
255
  M4LRHFTextFieldPassword: Partial<RHFTextFieldPasswordOwnerState>;
253
256
  M4LLinearProgressIndeterminate: Partial<LinearProgressIndeterminateOwnerState>;
254
257
  M4LMenuDivider: Partial<MenuDividerOwnerState>;
@@ -500,6 +503,11 @@ declare module '@mui/material/styles' {
500
503
  styleOverrides?: ComponentsOverrides<Theme>['M4LAccountPopover'];
501
504
  variants?: ComponentsVariants['M4LAccountPopover'];
502
505
  };
506
+ M4LPropagateLoaderSpinner?: {
507
+ defaultProps?: ComponentsPropsList['M4LPropagateLoaderSpinner'];
508
+ styleOverrides?: ComponentsOverrides<Theme>['M4LPropagateLoaderSpinner'];
509
+ variants?: ComponentsVariants['M4LPropagateLoaderSpinner'];
510
+ };
503
511
  M4LRHFTextFieldPassword?: {
504
512
  defaultProps?: ComponentsPropsList['M4LRHFTextFieldPassword'];
505
513
  styleOverrides?: ComponentsOverrides<Theme>['M4LRHFTextFieldPassword'];
@@ -3,8 +3,16 @@ import { ElementType } from 'react';
3
3
  * Función que envuelve un componente en un componente Suspense con un loader de propagación como fallback.
4
4
  * @param Component El componente a ser cargado dinámicamente.
5
5
  * @returns Un componente funcional que carga dinámicamente el componente proporcionado.
6
+ * @author cesar - automatic
7
+ * @createdAt 2025-01-07 11:39:01 - automatic
8
+ * @updatedAt 2025-01-13 18:04:35 - automatic
9
+ * @updatedUser cesar - automatic
6
10
  */
7
11
  /**
8
12
  * TODO: Documentar
13
+ * @author cesar - automatic
14
+ * @createdAt 2025-01-07 11:39:01 - automatic
15
+ * @updatedAt 2025-01-13 18:04:35 - automatic
16
+ * @updatedUser cesar - automatic
9
17
  */
10
18
  export declare const Loadable: (Component: ElementType) => (props: any) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Suspense } from "react";
3
- import { P as PropagateLoader } from "../animate/PropagateLoader/index.js";
3
+ import { P as PropagateLoaderSpinner } from "../extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.js";
4
4
  const Loadable = (Component) => function EmbededLoadable(props) {
5
- return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(PropagateLoader, {}), children: /* @__PURE__ */ jsx(Component, { ...props }) });
5
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(PropagateLoaderSpinner, {}), children: /* @__PURE__ */ jsx(Component, { ...props }) });
6
6
  };
7
7
  export {
8
8
  Loadable as L
@@ -3,5 +3,5 @@ export { IconButtonAnimate } from './IconButtonAnimate';
3
3
  export { MotionContainer } from './MotionContainer';
4
4
  export { MotionLazyContainer } from './MotionLazyContainer';
5
5
  export { LoadingScreen } from './LoadingScreen';
6
- export { PropagateLoader } from './PropagateLoader';
6
+ export { PropagateLoaderSpinner } from '../extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner';
7
7
  export { AnimatedScroll } from './AnimatedScroll';
@@ -0,0 +1,11 @@
1
+ import { PropagateLoaderSpinnerProps } from './types';
2
+ /**
3
+ * Un componente de cargador que muestra un propagador de carga.
4
+ * Utiliza React Spinners bajo el nombre de `PropagateLoader`.
5
+ * @returns Un componente de cargador que muestra un propagador de carga.
6
+ * @author cesar - automatic
7
+ * @createdAt 2025-01-07 11:39:01 - automatic
8
+ * @updatedAt 2025-01-14 14:13:30 - automatic
9
+ * @updatedUser cesar - automatic
10
+ */
11
+ export declare const PropagateLoaderSpinner: React.FC<PropagateLoaderSpinnerProps>;
@@ -0,0 +1,53 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useTheme } from "@mui/material";
3
+ import { P as PropagateLoaderSpinnerStyled, L as LoaderStyled } from "./slots/PropagateLoaderSpinnerSlots.js";
4
+ import { P as PROPAGATE_LOADER_SPINNER_KEY_COMPONENT } from "./constants.js";
5
+ import { a as getComponentSlotRoot } from "../../../../utils/getComponentSlotRoot.js";
6
+ import { g as getPropDataTestId } from "../../../../test/getNameDataTestId.js";
7
+ import clsx from "clsx";
8
+ import { u as useComponentSize } from "../../../../hooks/useComponentSize/useComponentSize.js";
9
+ import { P as PropagateLoaderSpinnerSlots } from "./slots/PropagateLoaderSpinnerEnum.js";
10
+ const PropagateLoaderSpinner = ({
11
+ loading = true,
12
+ color,
13
+ speedMultiplier = 1,
14
+ cssOverride,
15
+ size = "medium",
16
+ dataTestId,
17
+ className,
18
+ ...other
19
+ }) => {
20
+ const { palette } = useTheme();
21
+ const { currentSize } = useComponentSize(size);
22
+ const adjustedSize = currentSize === "small" || currentSize === "medium" ? currentSize : "medium";
23
+ const ownerState = {
24
+ propagateLoaderSize: adjustedSize
25
+ };
26
+ if (!loading) {
27
+ return null;
28
+ }
29
+ return /* @__PURE__ */ jsx(
30
+ PropagateLoaderSpinnerStyled,
31
+ {
32
+ ownerState,
33
+ className: clsx(getComponentSlotRoot(PROPAGATE_LOADER_SPINNER_KEY_COMPONENT), className),
34
+ ...getPropDataTestId(PROPAGATE_LOADER_SPINNER_KEY_COMPONENT, PropagateLoaderSpinnerSlots.root, dataTestId),
35
+ ...other,
36
+ role: "propagate-loader-spinner",
37
+ children: /* @__PURE__ */ jsx(
38
+ LoaderStyled,
39
+ {
40
+ ownerState: {},
41
+ loading,
42
+ color: color || palette.primary.main,
43
+ speedMultiplier,
44
+ cssOverride,
45
+ ...other
46
+ }
47
+ )
48
+ }
49
+ );
50
+ };
51
+ export {
52
+ PropagateLoaderSpinner as P
53
+ };
@@ -0,0 +1,2 @@
1
+ import { PropagateLoaderSpinnerStyles } from './types';
2
+ export declare const propagateLoaderSpinnerStyles: PropagateLoaderSpinnerStyles;
@@ -0,0 +1,39 @@
1
+ import { g as getHeightSizeStyles } from "../../../../utils/getHeightSizeStyles.js";
2
+ const propagateLoaderSpinnerStyles = {
3
+ /**
4
+ * Estilos del componente raíz del contenedor de la ventana.
5
+ * @author cesar - automatic
6
+ * @createdAt 2024-11-21 08:55:01 - automatic
7
+ * @updatedAt 2025-01-14 14:13:30 - automatic
8
+ * @updatedUser cesar - automatic
9
+ */
10
+ root: () => ({
11
+ height: "100%",
12
+ display: "flex",
13
+ alignItems: "center",
14
+ justifyContent: "center"
15
+ }),
16
+ /**
17
+ * Estilos del loader.
18
+ * @author cesar - automatic
19
+ * @createdAt 2025-01-14 14:13:30 - automatic
20
+ * @updatedAt 2025-01-14 14:13:30 - automatic
21
+ * @updatedUser cesar - automatic
22
+ */
23
+ loader: ({ theme, ownerState }) => ({
24
+ display: "flex",
25
+ alignItems: "center",
26
+ justifyContent: "center",
27
+ ...getHeightSizeStyles(
28
+ theme.generalSettings.isMobile,
29
+ ownerState.propagateLoaderSize || "medium",
30
+ "action"
31
+ ),
32
+ "& > span": {
33
+ alignItems: "center"
34
+ }
35
+ })
36
+ };
37
+ export {
38
+ propagateLoaderSpinnerStyles as p
39
+ };
@@ -0,0 +1 @@
1
+ export declare const PROPAGATE_LOADER_SPINNER_KEY_COMPONENT = "M4LPropagateLoaderSpinner";
@@ -0,0 +1,4 @@
1
+ const PROPAGATE_LOADER_SPINNER_KEY_COMPONENT = "M4LPropagateLoaderSpinner";
2
+ export {
3
+ PROPAGATE_LOADER_SPINNER_KEY_COMPONENT as P
4
+ };
@@ -0,0 +1,4 @@
1
+ export declare enum PropagateLoaderSpinnerSlots {
2
+ root = "root",
3
+ loader = "loader"
4
+ }
@@ -0,0 +1,8 @@
1
+ var PropagateLoaderSpinnerSlots = /* @__PURE__ */ ((PropagateLoaderSpinnerSlots2) => {
2
+ PropagateLoaderSpinnerSlots2["root"] = "root";
3
+ PropagateLoaderSpinnerSlots2["loader"] = "loader";
4
+ return PropagateLoaderSpinnerSlots2;
5
+ })(PropagateLoaderSpinnerSlots || {});
6
+ export {
7
+ PropagateLoaderSpinnerSlots as P
8
+ };
@@ -0,0 +1,6 @@
1
+ export declare const PropagateLoaderSpinnerStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').PropagateLoaderSpinnerOwnerState> & Record<string, unknown> & {
2
+ ownerState: Partial<import('../types').PropagateLoaderSpinnerOwnerState> & Record<string, unknown>;
3
+ }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').HTMLAttributes<HTMLDivElement> | keyof import('react').ClassAttributes<HTMLDivElement>>, {}>;
4
+ export declare const LoaderStyled: import('@emotion/styled').StyledComponent<Pick<import('react-spinners/helpers/props').LoaderSizeProps, keyof import('react-spinners/helpers/props').LoaderSizeProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').PropagateLoaderSpinnerOwnerState> & Record<string, unknown> & {
5
+ ownerState: Partial<import('../types').PropagateLoaderSpinnerOwnerState> & Record<string, unknown>;
6
+ }, {}, {}>;
@@ -0,0 +1,17 @@
1
+ import { styled } from "@mui/material";
2
+ import { P as PROPAGATE_LOADER_SPINNER_KEY_COMPONENT } from "../constants.js";
3
+ import { P as PropagateLoaderSpinnerSlots } from "./PropagateLoaderSpinnerEnum.js";
4
+ import { p as propagateLoaderSpinnerStyles } from "../PropagateLoaderSpinner.styles.js";
5
+ import { PropagateLoader } from "react-spinners";
6
+ const PropagateLoaderSpinnerStyled = styled("div", {
7
+ name: PROPAGATE_LOADER_SPINNER_KEY_COMPONENT,
8
+ slot: PropagateLoaderSpinnerSlots.root
9
+ })(propagateLoaderSpinnerStyles?.root);
10
+ const LoaderStyled = styled(PropagateLoader, {
11
+ name: PROPAGATE_LOADER_SPINNER_KEY_COMPONENT,
12
+ slot: PropagateLoaderSpinnerSlots.loader
13
+ })(propagateLoaderSpinnerStyles?.loader);
14
+ export {
15
+ LoaderStyled as L,
16
+ PropagateLoaderSpinnerStyled as P
17
+ };
@@ -0,0 +1,2 @@
1
+ export * from './PropagateLoaderSpinnerEnum';
2
+ export * from './PropagateLoaderSpinnerSlots';
@@ -0,0 +1,58 @@
1
+ import { CSSProperties } from 'react';
2
+ import { PropagateLoaderSpinnerSlots } from './slots/PropagateLoaderSpinnerEnum';
3
+ import { PROPAGATE_LOADER_SPINNER_KEY_COMPONENT } from './constants';
4
+ import { OverridesStyleRules } from '@mui/material/styles/overrides';
5
+ import { Theme } from '@mui/material';
6
+ import { Sizes } from '@m4l/styles';
7
+ export type PropagateLoaderSpinnerType = keyof typeof PropagateLoaderSpinnerSlots;
8
+ /**
9
+ * Propiedades comunes para configurar el loader.
10
+ */
11
+ export interface PropagateLoaderSpinnerProps {
12
+ /**
13
+ * Indica si el loader debe mostrarse o no.
14
+ * Por defecto: `true`.
15
+ */
16
+ loading?: boolean;
17
+ /**
18
+ * Color del loader.
19
+ * Puede ser cualquier valor de color válido en CSS.
20
+ */
21
+ color?: string;
22
+ /**
23
+ * Factor de multiplicación de la velocidad del loader.
24
+ * Por defecto: `1`.
25
+ */
26
+ speedMultiplier?: number;
27
+ /**
28
+ * Estilos en línea para sobrescribir los predeterminados del loader.
29
+ */
30
+ cssOverride?: CSSProperties;
31
+ /**
32
+ * Opciones de tamaño del componente.
33
+ */
34
+ size?: Extract<Sizes, 'small' | 'medium'>;
35
+ /**
36
+ * data-testid para pruebas unitarias.
37
+ */
38
+ dataTestId?: string;
39
+ /**
40
+ * Clase CSS para sobrescribir los estilos predeterminados del loader.
41
+ */
42
+ className?: string;
43
+ /**
44
+ * Props adicionales que se pueden pasar al loader.
45
+ */
46
+ [key: string]: unknown;
47
+ }
48
+ export interface PropagateLoaderSpinnerOwnerState {
49
+ /**
50
+ * Tamaño del campo de texto.
51
+ */
52
+ propagateLoaderSize: PropagateLoaderSpinnerProps['size'];
53
+ /**
54
+ * Props adicionales que se pueden pasar al loader.
55
+ */
56
+ [key: string]: unknown;
57
+ }
58
+ export type PropagateLoaderSpinnerStyles = OverridesStyleRules<PropagateLoaderSpinnerType, typeof PROPAGATE_LOADER_SPINNER_KEY_COMPONENT, Theme>;
package/index.js CHANGED
@@ -10,7 +10,7 @@ import { I as I2 } from "./components/animate/IconButtonAnimate/index.js";
10
10
  import { M } from "./components/animate/MotionContainer/index.js";
11
11
  import { M as M2 } from "./components/animate/MotionLazyContainer/index.js";
12
12
  import { L } from "./components/animate/LoadingScreen/index.js";
13
- import { P } from "./components/animate/PropagateLoader/index.js";
13
+ import { P } from "./components/extended/React-Spinners/PropagateLoaderSpinner/PropagateLoaderSpinner.js";
14
14
  import { A } from "./components/animate/AnimatedScroll/animatedScroll.js";
15
15
  import { v } from "./components/animate/variants/fade.js";
16
16
  import { v as v2 } from "./components/animate/variants/bounce.js";
@@ -306,7 +306,7 @@ export {
306
306
  P13 as PopupsViewer,
307
307
  P4 as PriceFormatter,
308
308
  P5 as PrintingSystem,
309
- P as PropagateLoader,
309
+ P as PropagateLoaderSpinner,
310
310
  P11 as PropertyValue,
311
311
  R as RHFAutocomplete,
312
312
  R2 as RHFAutocompleteAsync,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m4l/components",
3
- "version": "9.1.69",
3
+ "version": "9.1.70",
4
4
  "license": "UNLICENSED",
5
5
  "lint-staged": {
6
6
  "*.{js,ts,tsx}": "eslint --fix --max-warnings 0"
@@ -1,6 +0,0 @@
1
- /**
2
- * Un componente de cargador que muestra un propagador de carga.
3
- * Utiliza React Spinners bajo el nombre de `PropagateLoader`.
4
- * @returns Un componente de cargador que muestra un propagador de carga.
5
- */
6
- export declare const PropagateLoader: () => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useTheme } from "@mui/material";
3
- import { PropagateLoader as PropagateLoader$1 } from "react-spinners";
4
- import { W as WrapperPropageteLoader } from "./syles.js";
5
- const PropagateLoader = () => {
6
- const { palette } = useTheme();
7
- return /* @__PURE__ */ jsx(WrapperPropageteLoader, { children: /* @__PURE__ */ jsx(PropagateLoader$1, { color: palette.primary.main }) });
8
- };
9
- export {
10
- PropagateLoader as P
11
- };
@@ -1 +0,0 @@
1
- export declare const WrapperPropageteLoader: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,16 +0,0 @@
1
- import { styled } from "@mui/material/styles";
2
- const WrapperPropageteLoader = styled("div")(({ theme }) => ({
3
- right: 0,
4
- bottom: 0,
5
- zIndex: 99999,
6
- width: "100%",
7
- height: "100%",
8
- position: "fixed",
9
- display: "flex",
10
- alignItems: "center",
11
- justifyContent: "center",
12
- background: theme.vars.palette.background.default
13
- }));
14
- export {
15
- WrapperPropageteLoader as W
16
- };