@m4l/components 9.3.34 → 9.3.35
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/@types/export.d.ts +3 -0
- package/@types/types.d.ts +11 -0
- package/components/DataGrid/Datagrid.styles.js +1 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/ImageFormatterCell.d.ts +13 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/ImageFormatterCell.js +33 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/constants.d.ts +6 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/constants.js +6 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/formatter.d.ts +8 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/formatter.js +25 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/index.d.ts +3 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/index.js +1 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/tests/ColumnImageFormatter.test.d.ts +1 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/types.d.ts +44 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/types.js +1 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/useColumnImage.d.ts +9 -0
- package/components/DataGrid/formatters/ColumnImageFormatter/useColumnImage.js +22 -0
- package/components/DataGrid/formatters/index.d.ts +1 -0
- package/components/DataGrid/subcomponents/Cards/helpers/scrollToCardElement.js +2 -2
- package/components/DataGrid/subcomponents/Cards/index.js +16 -3
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardRow/index.js +1 -0
- package/components/DataGrid/subcomponents/Table/index.js +10 -1
- package/components/DataGrid/tests/helpers/types.d.ts +10 -0
- package/components/formatters/ImageFormatter/ImageFormatter.d.ts +10 -0
- package/components/formatters/ImageFormatter/ImageFormatter.js +72 -0
- package/components/formatters/ImageFormatter/ImageFormatter.styles.d.ts +2 -0
- package/components/formatters/ImageFormatter/ImageFormatter.styles.js +42 -0
- package/components/formatters/ImageFormatter/constants.d.ts +5 -0
- package/components/formatters/ImageFormatter/constants.js +10 -0
- package/components/formatters/ImageFormatter/index.d.ts +2 -0
- package/components/formatters/ImageFormatter/index.js +1 -0
- package/components/formatters/ImageFormatter/slots/ImageFormatterEnum.d.ts +5 -0
- package/components/formatters/ImageFormatter/slots/ImageFormatterEnum.js +9 -0
- package/components/formatters/ImageFormatter/slots/ImageFormatterSlots.d.ts +9 -0
- package/components/formatters/ImageFormatter/slots/ImageFormatterSlots.js +23 -0
- package/components/formatters/ImageFormatter/tests/ImageFormatter.test.d.ts +1 -0
- package/components/formatters/ImageFormatter/types.d.ts +51 -0
- package/components/formatters/ImageFormatter/types.js +1 -0
- package/components/formatters/index.d.ts +1 -0
- package/index.js +68 -62
- package/package.json +1 -1
package/@types/export.d.ts
CHANGED
|
@@ -241,5 +241,8 @@ declare module '@mui/material/styles' {
|
|
|
241
241
|
M4LIconsFormatter?: {
|
|
242
242
|
styleOverrides?: ComponentsOverrides<Theme>['M4LIconsFormatter'];
|
|
243
243
|
};
|
|
244
|
+
M4LImageFormatter?: {
|
|
245
|
+
styleOverrides?: ComponentsOverrides<Theme>['M4LImageFormatter'];
|
|
246
|
+
};
|
|
244
247
|
}
|
|
245
248
|
}
|
package/@types/types.d.ts
CHANGED
|
@@ -304,6 +304,10 @@ import {
|
|
|
304
304
|
IconsFormatterOwnerState,
|
|
305
305
|
IconsFormatterSlotsType,
|
|
306
306
|
} from '../components/formatters/IconsFormatter/types';
|
|
307
|
+
import {
|
|
308
|
+
ImageFormatterOwnerState,
|
|
309
|
+
ImageFormatterSlotsType,
|
|
310
|
+
} from '../components/formatters/ImageFormatter';
|
|
307
311
|
|
|
308
312
|
declare module '@mui/material/styles' {
|
|
309
313
|
// Define the slots in the theme
|
|
@@ -397,6 +401,7 @@ declare module '@mui/material/styles' {
|
|
|
397
401
|
M4LMFIsolationApp: MFIsolationAppSlotsType;
|
|
398
402
|
M4LTagsFormatter: TagsFormatterSlotsType;
|
|
399
403
|
M4LIconsFormatter: IconsFormatterSlotsType;
|
|
404
|
+
M4LImageFormatter: ImageFormatterSlotsType;
|
|
400
405
|
}
|
|
401
406
|
interface ComponentsPropsList {
|
|
402
407
|
// Extend ComponentsProps or ComponentsOwnerState(this extend ComponentProps)
|
|
@@ -489,6 +494,7 @@ declare module '@mui/material/styles' {
|
|
|
489
494
|
M4LMFIsolationApp: Partial<MFIsolationAppOwnerState>;
|
|
490
495
|
M4LTagsFormatter: Partial<TagsFormatterOwnerState>;
|
|
491
496
|
M4LIconsFormatter: Partial<IconsFormatterOwnerState>;
|
|
497
|
+
M4LImageFormatter: Partial<ImageFormatterOwnerState>;
|
|
492
498
|
}
|
|
493
499
|
interface Components {
|
|
494
500
|
M4LDynamicFilter?: {
|
|
@@ -946,5 +952,10 @@ declare module '@mui/material/styles' {
|
|
|
946
952
|
styleOverrides?: ComponentsOverrides<Theme>['M4LIconsFormatter'];
|
|
947
953
|
variants?: ComponentsVariants['M4LIconsFormatter'];
|
|
948
954
|
};
|
|
955
|
+
M4LImageFormatter?: {
|
|
956
|
+
defaultProps?: ComponentsPropsList['M4LImageFormatter'];
|
|
957
|
+
styleOverrides?: ComponentsOverrides<Theme>['M4LImageFormatter'];
|
|
958
|
+
variants?: ComponentsVariants['M4LImageFormatter'];
|
|
959
|
+
};
|
|
949
960
|
}
|
|
950
961
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ColumnImageFormatterProps } from './types';
|
|
2
|
+
import { RenderCellProps } from 'react-data-grid';
|
|
3
|
+
/**
|
|
4
|
+
* Componente interno que renderiza la celda y puede usar hooks
|
|
5
|
+
*/
|
|
6
|
+
export declare function ImageFormatterCell<TRow>(props: {
|
|
7
|
+
formatterProps: RenderCellProps<TRow>;
|
|
8
|
+
fieldValue: ColumnImageFormatterProps<TRow>['fieldValue'];
|
|
9
|
+
fieldText: ColumnImageFormatterProps<TRow>['fieldText'];
|
|
10
|
+
width?: ColumnImageFormatterProps<TRow>['width'];
|
|
11
|
+
height?: ColumnImageFormatterProps<TRow>['height'];
|
|
12
|
+
cover?: ColumnImageFormatterProps<TRow>['cover'];
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { getPropertyByString } from "@m4l/core";
|
|
4
|
+
import { I as IMAGE_SIZES } from "./constants.js";
|
|
5
|
+
import { a as DataGridContext } from "../../contexts/DataGridContext/index.js";
|
|
6
|
+
import { I as ImageFormatter } from "../../../formatters/ImageFormatter/ImageFormatter.js";
|
|
7
|
+
function ImageFormatterCell(props) {
|
|
8
|
+
const { formatterProps, fieldValue, fieldText, width, height, cover } = props;
|
|
9
|
+
const context = useContext(DataGridContext);
|
|
10
|
+
const viewMode = context?.viewMode ?? "cards";
|
|
11
|
+
const hasCustomSize = width !== void 0 && height !== void 0;
|
|
12
|
+
const finalWidth = viewMode === "cards" && hasCustomSize ? width : viewMode === "cards" ? IMAGE_SIZES.cards : void 0;
|
|
13
|
+
const finalHeight = viewMode === "cards" && hasCustomSize ? height : viewMode === "cards" ? IMAGE_SIZES.cards : void 0;
|
|
14
|
+
const src = getPropertyByString(formatterProps.row, fieldValue) ?? void 0;
|
|
15
|
+
const text = fieldText ? getPropertyByString(formatterProps.row, fieldText) ?? void 0 : void 0;
|
|
16
|
+
if (!src) {
|
|
17
|
+
return /* @__PURE__ */ jsx(Fragment, { children: "-" });
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
ImageFormatter,
|
|
21
|
+
{
|
|
22
|
+
src,
|
|
23
|
+
alt: text || src,
|
|
24
|
+
width: finalWidth,
|
|
25
|
+
height: finalHeight,
|
|
26
|
+
text,
|
|
27
|
+
cover
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
ImageFormatterCell as I
|
|
33
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RenderCellProps } from 'react-data-grid';
|
|
2
|
+
import { ColumnImageFormatterProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Formatter para mostrar imágenes con o sin texto
|
|
5
|
+
* @param props - Propiedades del formatter
|
|
6
|
+
* @returns Función que recibe RenderCellProps y retorna el ImageFormatter
|
|
7
|
+
*/
|
|
8
|
+
export declare function ColumnImageFormatter<TRow>(props: ColumnImageFormatterProps<TRow>): (formatterProps: RenderCellProps<TRow>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { I as ImageFormatterCell } from "./ImageFormatterCell.js";
|
|
3
|
+
function ColumnImageFormatter(props) {
|
|
4
|
+
const { fieldValue, fieldText, cover } = props;
|
|
5
|
+
const width = "width" in props && props.width !== void 0 ? props.width : void 0;
|
|
6
|
+
const height = "height" in props && props.height !== void 0 ? props.height : void 0;
|
|
7
|
+
const formatter = (formatterProps) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
ImageFormatterCell,
|
|
10
|
+
{
|
|
11
|
+
formatterProps,
|
|
12
|
+
fieldValue,
|
|
13
|
+
fieldText,
|
|
14
|
+
width,
|
|
15
|
+
height,
|
|
16
|
+
cover
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
formatter.__imageFormatterHeight = height ?? 60;
|
|
21
|
+
return formatter;
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
ColumnImageFormatter as C
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/components/DataGrid/formatters/ColumnImageFormatter/tests/ColumnImageFormatter.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DeepKeyOf } from '../../../../utils/types';
|
|
2
|
+
interface ColumnImageFormatterBaseProps<TRow> {
|
|
3
|
+
/**
|
|
4
|
+
* Campo del row que contiene la URL de la imagen
|
|
5
|
+
*/
|
|
6
|
+
fieldValue: DeepKeyOf<TRow>;
|
|
7
|
+
/**
|
|
8
|
+
* Campo opcional del row que contiene el texto a mostrar junto a la imagen
|
|
9
|
+
*/
|
|
10
|
+
fieldText?: DeepKeyOf<TRow>;
|
|
11
|
+
/**
|
|
12
|
+
* Si es true, la imagen usa object-fit: cover (recorta si es necesario)
|
|
13
|
+
* Si es false o undefined, usa object-fit: contain (muestra completa)
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
cover?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Props sin dimensiones personalizadas (usa IMAGE_SIZES.cards por defecto)
|
|
20
|
+
*/
|
|
21
|
+
interface ColumnImageFormatterWithoutSize<TRow> extends ColumnImageFormatterBaseProps<TRow> {
|
|
22
|
+
width?: never;
|
|
23
|
+
height?: never;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Props con dimensiones personalizadas para vista cards
|
|
27
|
+
* IMPORTANTE: width y height deben proporcionarse juntas
|
|
28
|
+
*/
|
|
29
|
+
interface ColumnImageFormatterWithSize<TRow> extends ColumnImageFormatterBaseProps<TRow> {
|
|
30
|
+
/**
|
|
31
|
+
* Ancho personalizado para la imagen en vista cards (en píxeles)
|
|
32
|
+
*/
|
|
33
|
+
width: number;
|
|
34
|
+
/**
|
|
35
|
+
* Alto personalizado para la imagen en vista cards (en píxeles)
|
|
36
|
+
*/
|
|
37
|
+
height: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Props para ColumnImageFormatter
|
|
41
|
+
* Puede tener dimensiones personalizadas (width Y height juntas) o ninguna
|
|
42
|
+
*/
|
|
43
|
+
export type ColumnImageFormatterProps<TRow> = ColumnImageFormatterWithoutSize<TRow> | ColumnImageFormatterWithSize<TRow>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ColumnImageFormatterProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook que retorna el formatter para columnas con imágenes en DataGrid
|
|
4
|
+
* @param props - Propiedades del formatter
|
|
5
|
+
* @returns Objeto con el formatter
|
|
6
|
+
*/
|
|
7
|
+
export declare const useColumnImage: <TRow>(props: ColumnImageFormatterProps<TRow>) => {
|
|
8
|
+
formatter: (formatterProps: import('react-data-grid').RenderCellProps<TRow, unknown>) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useState, useRef, useEffect, useMemo } from "react";
|
|
2
|
+
import { deepEqual } from "fast-equals";
|
|
3
|
+
import { C as ColumnImageFormatter } from "./formatter.js";
|
|
4
|
+
const useColumnImage = (props) => {
|
|
5
|
+
const [stateProps, setStateProps] = useState(props);
|
|
6
|
+
const refProps = useRef({ ...props });
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (!deepEqual(refProps.current, props)) {
|
|
9
|
+
refProps.current = props;
|
|
10
|
+
setStateProps(props);
|
|
11
|
+
}
|
|
12
|
+
}, [props]);
|
|
13
|
+
return useMemo(
|
|
14
|
+
() => ({
|
|
15
|
+
formatter: ColumnImageFormatter(stateProps)
|
|
16
|
+
}),
|
|
17
|
+
[stateProps]
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
useColumnImage as u
|
|
22
|
+
};
|
|
@@ -13,8 +13,8 @@ function scrollToCardElement(containerElement, rowKey, selectorType = "data-attr
|
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
foundElement.scrollIntoView({
|
|
16
|
-
behavior: "
|
|
17
|
-
block: "
|
|
16
|
+
behavior: "smooth",
|
|
17
|
+
block: "end"
|
|
18
18
|
});
|
|
19
19
|
} catch (error) {
|
|
20
20
|
console.error("scrollToCardElement: Error al hacer scroll", error);
|
|
@@ -21,6 +21,7 @@ function Cards(props) {
|
|
|
21
21
|
onCheckedRowsChange
|
|
22
22
|
} = props;
|
|
23
23
|
const containerRef = useRef(null);
|
|
24
|
+
const hasScrolledToFocusRow = useRef(false);
|
|
24
25
|
const processedColumns = useProcessedColumns(columns);
|
|
25
26
|
const allProcessedColumns = useProcessedColumns(columns, {
|
|
26
27
|
applyVisibilityFilter: false
|
|
@@ -31,13 +32,21 @@ function Cards(props) {
|
|
|
31
32
|
onRowsChange
|
|
32
33
|
});
|
|
33
34
|
const cardHeight = useMemo(() => {
|
|
35
|
+
const imageHeight = processedColumns.reduce((totalHeight, col) => {
|
|
36
|
+
const formatterHeight = col.renderCell?.__imageFormatterHeight;
|
|
37
|
+
return formatterHeight ? totalHeight + formatterHeight : totalHeight;
|
|
38
|
+
}, 0);
|
|
34
39
|
return calculateCardHeight({
|
|
35
40
|
visibleColumnsCount: processedColumns.length,
|
|
36
41
|
customMinHeight: cardsViewConfig?.customRender?.minHeight
|
|
37
|
-
});
|
|
38
|
-
}, [processedColumns
|
|
42
|
+
}) + imageHeight;
|
|
43
|
+
}, [processedColumns, cardsViewConfig]);
|
|
39
44
|
useEffect(() => {
|
|
40
45
|
if (!focusOnRowKey) {
|
|
46
|
+
hasScrolledToFocusRow.current = false;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (hasScrolledToFocusRow.current) {
|
|
41
50
|
return;
|
|
42
51
|
}
|
|
43
52
|
const rowIndex = rows.findIndex(
|
|
@@ -58,9 +67,13 @@ function Cards(props) {
|
|
|
58
67
|
"data-attribute",
|
|
59
68
|
"data-row-key"
|
|
60
69
|
);
|
|
70
|
+
if (onSelectedRowsChange) {
|
|
71
|
+
onSelectedRowsChange(/* @__PURE__ */ new Set([focusOnRowKey]));
|
|
72
|
+
}
|
|
73
|
+
hasScrolledToFocusRow.current = true;
|
|
61
74
|
}, 300);
|
|
62
75
|
return () => clearTimeout(timer);
|
|
63
|
-
}, [focusOnRowKey, rows, rowKeyGetter, cardHeight]);
|
|
76
|
+
}, [focusOnRowKey, rows, rowKeyGetter, cardHeight, onSelectedRowsChange]);
|
|
64
77
|
if (processedColumns.length === 0) {
|
|
65
78
|
return null;
|
|
66
79
|
}
|
|
@@ -68,6 +68,7 @@ function Table(props) {
|
|
|
68
68
|
anchorEl: null,
|
|
69
69
|
columnKey: null
|
|
70
70
|
});
|
|
71
|
+
const hasScrolledToFocusRow = useRef(false);
|
|
71
72
|
const [allowSortChange, setAllowSortChange] = useState(false);
|
|
72
73
|
const handleSortColumnsChange = (newSortColumns) => {
|
|
73
74
|
if (allowSortChange) {
|
|
@@ -113,6 +114,10 @@ function Table(props) {
|
|
|
113
114
|
}, [finalRows]);
|
|
114
115
|
useEffect(() => {
|
|
115
116
|
if (!focusOnRowKey) {
|
|
117
|
+
hasScrolledToFocusRow.current = false;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (hasScrolledToFocusRow.current) {
|
|
116
121
|
return;
|
|
117
122
|
}
|
|
118
123
|
const rowIndex = finalRows.findIndex(
|
|
@@ -120,8 +125,12 @@ function Table(props) {
|
|
|
120
125
|
);
|
|
121
126
|
if (rowIndex !== -1) {
|
|
122
127
|
ref_data_grid.current?.scrollToCell({ rowIdx: rowIndex });
|
|
128
|
+
if (onSelectedRowsChange) {
|
|
129
|
+
onSelectedRowsChange(/* @__PURE__ */ new Set([focusOnRowKey]));
|
|
130
|
+
}
|
|
131
|
+
hasScrolledToFocusRow.current = true;
|
|
123
132
|
}
|
|
124
|
-
}, [focusOnRowKey, finalRows, rowKeyGetter]);
|
|
133
|
+
}, [focusOnRowKey, finalRows, rowKeyGetter, onSelectedRowsChange]);
|
|
125
134
|
const onColumnResize = (idx, width) => {
|
|
126
135
|
onChangeColumnWidth(finalColumns[idx].key, width);
|
|
127
136
|
};
|
|
@@ -20,6 +20,12 @@ export interface SeedProps {
|
|
|
20
20
|
withCesar?: boolean;
|
|
21
21
|
withChipStatus?: boolean;
|
|
22
22
|
withTags?: boolean;
|
|
23
|
+
withImage?: boolean;
|
|
24
|
+
withImageCustomSize?: {
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
};
|
|
28
|
+
withImageWithoutText?: boolean;
|
|
23
29
|
withActions?: boolean;
|
|
24
30
|
withActionsUser?: boolean;
|
|
25
31
|
withBooleanStatus?: boolean;
|
|
@@ -69,6 +75,10 @@ export interface RowType {
|
|
|
69
75
|
currentStatus: 'superadmin' | 'admin' | 'user';
|
|
70
76
|
};
|
|
71
77
|
color?: string;
|
|
78
|
+
image?: {
|
|
79
|
+
url: string;
|
|
80
|
+
text?: string;
|
|
81
|
+
};
|
|
72
82
|
}
|
|
73
83
|
interface RangesUncertainty {
|
|
74
84
|
cmcMin: number;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ImageFormatterProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* ImageFormatter
|
|
4
|
+
* Componente para formatear y mostrar una imagen con texto opcional.
|
|
5
|
+
* Fuerza enableIntersectionObserver a false ya que se usa en contextos donde
|
|
6
|
+
* el lazy loading es manejado por el contenedor padre (ej. DataGrid).
|
|
7
|
+
* @param {ImageFormatterProps} props - Las propiedades del componente.
|
|
8
|
+
* @returns JSX.Element
|
|
9
|
+
*/
|
|
10
|
+
export declare function ImageFormatter(props: ImageFormatterProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { I as ImageStyled, T as TextImageStyled, R as RootStyled } from "./slots/ImageFormatterSlots.js";
|
|
4
|
+
import { I as ImageFormatterSlots } from "./slots/ImageFormatterEnum.js";
|
|
5
|
+
import clsx from "clsx";
|
|
6
|
+
import { a as getComponentSlotRoot } from "../../../utils/getComponentSlotRoot.js";
|
|
7
|
+
import { a as getPropDataTestId } from "../../../test/getNameDataTestId.js";
|
|
8
|
+
import { I as IMAGE_FORMATTER_KEY_COMPONENT } from "./constants.js";
|
|
9
|
+
function ImageFormatter(props) {
|
|
10
|
+
const { src, alt, text, width, height, cover, dataTestId, className } = props;
|
|
11
|
+
const ownerState = useMemo(
|
|
12
|
+
() => ({
|
|
13
|
+
width,
|
|
14
|
+
height,
|
|
15
|
+
hasDefinedSize: width !== void 0 && height !== void 0,
|
|
16
|
+
cover
|
|
17
|
+
}),
|
|
18
|
+
[width, height, cover]
|
|
19
|
+
);
|
|
20
|
+
const content = useMemo(() => {
|
|
21
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
+
/* @__PURE__ */ jsx(
|
|
23
|
+
ImageStyled,
|
|
24
|
+
{
|
|
25
|
+
ownerState,
|
|
26
|
+
...getPropDataTestId(
|
|
27
|
+
IMAGE_FORMATTER_KEY_COMPONENT,
|
|
28
|
+
ImageFormatterSlots.image,
|
|
29
|
+
dataTestId
|
|
30
|
+
),
|
|
31
|
+
src,
|
|
32
|
+
alt,
|
|
33
|
+
width,
|
|
34
|
+
height,
|
|
35
|
+
cover,
|
|
36
|
+
enableIntersectionObserver: false
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
text && /* @__PURE__ */ jsx(
|
|
40
|
+
TextImageStyled,
|
|
41
|
+
{
|
|
42
|
+
...getPropDataTestId(
|
|
43
|
+
IMAGE_FORMATTER_KEY_COMPONENT,
|
|
44
|
+
ImageFormatterSlots.textImage,
|
|
45
|
+
dataTestId
|
|
46
|
+
),
|
|
47
|
+
variant: "body",
|
|
48
|
+
children: text
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
] });
|
|
52
|
+
}, [src, alt, text, width, height, cover, dataTestId, ownerState]);
|
|
53
|
+
return /* @__PURE__ */ jsx(
|
|
54
|
+
RootStyled,
|
|
55
|
+
{
|
|
56
|
+
ownerState,
|
|
57
|
+
className: clsx(
|
|
58
|
+
getComponentSlotRoot(IMAGE_FORMATTER_KEY_COMPONENT),
|
|
59
|
+
className
|
|
60
|
+
),
|
|
61
|
+
...getPropDataTestId(
|
|
62
|
+
IMAGE_FORMATTER_KEY_COMPONENT,
|
|
63
|
+
ImageFormatterSlots.root,
|
|
64
|
+
dataTestId
|
|
65
|
+
),
|
|
66
|
+
children: content
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
ImageFormatter as I
|
|
72
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const imageFormatterStyles = {
|
|
2
|
+
/**
|
|
3
|
+
* Estilos del root principal
|
|
4
|
+
*/
|
|
5
|
+
root: ({ theme, ownerState }) => ({
|
|
6
|
+
display: "flex",
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
gap: theme.vars.size.baseSpacings.sp2,
|
|
9
|
+
width: "100%",
|
|
10
|
+
...!ownerState?.hasDefinedSize && {
|
|
11
|
+
height: "100%"
|
|
12
|
+
}
|
|
13
|
+
}),
|
|
14
|
+
/**
|
|
15
|
+
* Estilos de la imagen
|
|
16
|
+
*/
|
|
17
|
+
image: ({ theme, ownerState }) => ({
|
|
18
|
+
flexShrink: 0,
|
|
19
|
+
borderRadius: theme.vars.size.borderRadius.r2,
|
|
20
|
+
border: `1px solid ${theme.vars.palette.border.disabled}`,
|
|
21
|
+
...!ownerState?.hasDefinedSize && {
|
|
22
|
+
height: "90%",
|
|
23
|
+
aspectRatio: "1 / 1"
|
|
24
|
+
},
|
|
25
|
+
objectFit: ownerState?.cover ? "cover" : "contain"
|
|
26
|
+
}),
|
|
27
|
+
/**
|
|
28
|
+
* Estilos del texto de la imagen
|
|
29
|
+
*/
|
|
30
|
+
textImage: ({ theme }) => ({
|
|
31
|
+
overflow: "hidden",
|
|
32
|
+
textOverflow: "ellipsis",
|
|
33
|
+
whiteSpace: "nowrap",
|
|
34
|
+
flex: 1,
|
|
35
|
+
"&.M4LTypography-root": {
|
|
36
|
+
color: theme.vars.palette.primary
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
export {
|
|
41
|
+
imageFormatterStyles as i
|
|
42
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { g as getComponentClasses } from "../../../utils/getComponentSlotRoot.js";
|
|
2
|
+
import { I as ImageFormatterSlots } from "./slots/ImageFormatterEnum.js";
|
|
3
|
+
const IMAGE_FORMATTER_KEY_COMPONENT = "M4LImageFormatter";
|
|
4
|
+
getComponentClasses(
|
|
5
|
+
IMAGE_FORMATTER_KEY_COMPONENT,
|
|
6
|
+
ImageFormatterSlots
|
|
7
|
+
);
|
|
8
|
+
export {
|
|
9
|
+
IMAGE_FORMATTER_KEY_COMPONENT as I
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var ImageFormatterSlots = /* @__PURE__ */ ((ImageFormatterSlots2) => {
|
|
2
|
+
ImageFormatterSlots2["root"] = "root";
|
|
3
|
+
ImageFormatterSlots2["image"] = "image";
|
|
4
|
+
ImageFormatterSlots2["textImage"] = "textImage";
|
|
5
|
+
return ImageFormatterSlots2;
|
|
6
|
+
})(ImageFormatterSlots || {});
|
|
7
|
+
export {
|
|
8
|
+
ImageFormatterSlots as I
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const RootStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Record<string, unknown> & {
|
|
2
|
+
ownerState?: (Partial<import('..').ImageFormatterOwnerState> & Record<string, unknown>) | undefined;
|
|
3
|
+
}, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
|
|
4
|
+
export declare const ImageStyled: import('@emotion/styled').StyledComponent<Pick<import('../../../Image').ImageProps, keyof import('../../../Image').ImageProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Record<string, unknown> & {
|
|
5
|
+
ownerState?: (Partial<import('..').ImageFormatterOwnerState> & Record<string, unknown>) | undefined;
|
|
6
|
+
}, {}, {}>;
|
|
7
|
+
export declare const TextImageStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../../mui_extended/Typography/types').TypographyProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>, "size" | "children" | "title" | "component" | "zIndex" | "id" | "disabled" | "paragraph" | "border" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontSize" | "textTransform" | "fontFamily" | "typography" | "flex" | "hidden" | "color" | "left" | "right" | "bottom" | "top" | "ellipsis" | "content" | "style" | "position" | "padding" | "variant" | "borderRadius" | "width" | "display" | "borderColor" | "height" | "gap" | "minHeight" | "margin" | "overflow" | "boxShadow" | "minWidth" | "justifyContent" | "alignItems" | "paddingLeft" | "borderLeft" | "borderTop" | "maxWidth" | "flexDirection" | "paddingRight" | "borderRight" | "flexGrow" | "marginLeft" | "textOverflow" | "borderBottom" | "gridTemplateColumns" | "marginBottom" | "dataTestid" | "alignContent" | "alignSelf" | "boxSizing" | "columnGap" | "flexBasis" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateRows" | "justifyItems" | "justifySelf" | "marginBlockEnd" | "marginBlockStart" | "marginInlineEnd" | "marginInlineStart" | "marginRight" | "marginTop" | "maxHeight" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingTop" | "rowGap" | "textAlign" | "translate" | "visibility" | "whiteSpace" | "gridArea" | "gridColumn" | "gridRow" | "marginBlock" | "marginInline" | "paddingBlock" | "paddingInline" | "className" | "classes" | "sx" | "p" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "htmlFor" | "gutterBottom" | "noWrap" | "variantMapping" | "skeletonWidth" | "skeletonRows" | keyof import('react').RefAttributes<HTMLSpanElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Record<string, unknown> & {
|
|
8
|
+
ownerState?: (Partial<import('..').ImageFormatterOwnerState> & Record<string, unknown>) | undefined;
|
|
9
|
+
}, {}, {}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { styled } from "@mui/material";
|
|
2
|
+
import { I as IMAGE_FORMATTER_KEY_COMPONENT } from "../constants.js";
|
|
3
|
+
import { I as ImageFormatterSlots } from "./ImageFormatterEnum.js";
|
|
4
|
+
import { i as imageFormatterStyles } from "../ImageFormatter.styles.js";
|
|
5
|
+
import { I as Image } from "../../../Image/Image.js";
|
|
6
|
+
import { T as Typography } from "../../../mui_extended/Typography/Typography.js";
|
|
7
|
+
const RootStyled = styled("div", {
|
|
8
|
+
name: IMAGE_FORMATTER_KEY_COMPONENT,
|
|
9
|
+
slot: ImageFormatterSlots.root
|
|
10
|
+
})(imageFormatterStyles.root);
|
|
11
|
+
const ImageStyled = styled(Image, {
|
|
12
|
+
name: IMAGE_FORMATTER_KEY_COMPONENT,
|
|
13
|
+
slot: ImageFormatterSlots.image
|
|
14
|
+
})(imageFormatterStyles.image);
|
|
15
|
+
const TextImageStyled = styled(Typography, {
|
|
16
|
+
name: IMAGE_FORMATTER_KEY_COMPONENT,
|
|
17
|
+
slot: ImageFormatterSlots.textImage
|
|
18
|
+
})(imageFormatterStyles.textImage);
|
|
19
|
+
export {
|
|
20
|
+
ImageStyled as I,
|
|
21
|
+
RootStyled as R,
|
|
22
|
+
TextImageStyled as T
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { M4LOverridesStyleRules } from '../../../@types/augmentations';
|
|
2
|
+
import { ImageFormatterSlots } from './slots/ImageFormatterEnum';
|
|
3
|
+
import { ImageProps } from '../../Image';
|
|
4
|
+
import { IMAGE_FORMATTER_KEY_COMPONENT } from './constants';
|
|
5
|
+
import { Theme } from '@mui/material';
|
|
6
|
+
/**
|
|
7
|
+
* Props del ImageFormatter
|
|
8
|
+
*/
|
|
9
|
+
export interface ImageFormatterProps extends Pick<ImageProps, 'src' | 'alt' | 'width' | 'height' | 'cover' | 'enableIntersectionObserver'> {
|
|
10
|
+
/**
|
|
11
|
+
* Texto de la imagen
|
|
12
|
+
*/
|
|
13
|
+
text?: string;
|
|
14
|
+
/**
|
|
15
|
+
* ID para testing
|
|
16
|
+
*/
|
|
17
|
+
dataTestId?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Clase CSS personalizada
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Owner state del ImageFormatter
|
|
25
|
+
*/
|
|
26
|
+
export interface ImageFormatterOwnerState {
|
|
27
|
+
/**
|
|
28
|
+
* Ancho de la imagen
|
|
29
|
+
*/
|
|
30
|
+
width?: number | string;
|
|
31
|
+
/**
|
|
32
|
+
* Alto de la imagen
|
|
33
|
+
*/
|
|
34
|
+
height?: number | string;
|
|
35
|
+
/**
|
|
36
|
+
* Si la imagen tiene tamaño definido o debe usar 100% + aspect ratio
|
|
37
|
+
*/
|
|
38
|
+
hasDefinedSize: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Si es verdadero, la imagen se ajusta al contenedor y se recorta si es necesario.
|
|
41
|
+
*/
|
|
42
|
+
cover?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Tipos de slots disponibles para el ImageFormatter
|
|
46
|
+
*/
|
|
47
|
+
export type ImageFormatterSlotsType = ImageFormatterSlots;
|
|
48
|
+
/**
|
|
49
|
+
* Estilos aplicables al ImageFormatter
|
|
50
|
+
*/
|
|
51
|
+
export type ImageFormatterStyles = M4LOverridesStyleRules<ImageFormatterSlotsType, typeof IMAGE_FORMATTER_KEY_COMPONENT, Theme>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -10,3 +10,4 @@ export * from './DistanceToNowFormatter';
|
|
|
10
10
|
export type { UncertaintyRange } from './UncertaintyFormatter/types';
|
|
11
11
|
export { TagsFormatter } from './TagsFormatter';
|
|
12
12
|
export { ColorFormatter } from './ColorFormatter';
|
|
13
|
+
export { ImageFormatter } from './ImageFormatter';
|
package/index.js
CHANGED
|
@@ -62,6 +62,8 @@ import { C as C15 } from "./components/DataGrid/formatters/ColumnTagsFormatter/f
|
|
|
62
62
|
import { u as u13 } from "./components/DataGrid/formatters/ColumnTagsFormatter/useColumnTags.js";
|
|
63
63
|
import { C as C16 } from "./components/DataGrid/formatters/ColumnColorFormatter/formatter.js";
|
|
64
64
|
import { u as u14 } from "./components/DataGrid/formatters/ColumnColorFormatter/useColumnColor.js";
|
|
65
|
+
import { u as u15 } from "./components/DataGrid/formatters/ColumnImageFormatter/useColumnImage.js";
|
|
66
|
+
import { C as C17 } from "./components/DataGrid/formatters/ColumnImageFormatter/formatter.js";
|
|
65
67
|
import { D as D3 } from "./components/DragResizeWindowRND/DragResizeWindowRND.js";
|
|
66
68
|
import { d as d2 } from "./components/DragResizeWindowRND/classes/index.js";
|
|
67
69
|
import { W } from "./components/DragResizeWindowRND/constants.js";
|
|
@@ -83,7 +85,7 @@ import { R as R3 } from "./components/extended/React-Json-Viewer/ReactJsonViewer
|
|
|
83
85
|
import { A as A14 } from "./components/mui_extended/Avatar/Avatar.js";
|
|
84
86
|
import { B as B2 } from "./components/mui_extended/BoxIcon/index.js";
|
|
85
87
|
import { B as B3 } from "./components/mui_extended/Breadcrumbs/index.js";
|
|
86
|
-
import { C as
|
|
88
|
+
import { C as C18 } from "./components/mui_extended/CircularProgress/CircularProgress.js";
|
|
87
89
|
import { B as B4 } from "./components/mui_extended/Badge/Badge.js";
|
|
88
90
|
import { L as L3 } from "./components/mui_extended/LinearProgress/index.js";
|
|
89
91
|
import { L as L4 } from "./components/mui_extended/LinkWithRoute/index.js";
|
|
@@ -93,7 +95,7 @@ import { A as A15 } from "./components/mui_extended/Accordion/Accordion.js";
|
|
|
93
95
|
import { T as T3 } from "./components/mui_extended/Tooltip/Tooltip.js";
|
|
94
96
|
import { I as I2 } from "./components/mui_extended/IconButton/IconButton.js";
|
|
95
97
|
import { B as B5 } from "./components/mui_extended/Button/Button.js";
|
|
96
|
-
import { C as
|
|
98
|
+
import { C as C19 } from "./components/mui_extended/CheckBox/CheckBox.js";
|
|
97
99
|
import { I as I3 } from "./components/mui_extended/ImageButton/ImageButton.js";
|
|
98
100
|
import { P as P2 } from "./components/mui_extended/Popover/Popover.js";
|
|
99
101
|
import { S as S4 } from "./components/mui_extended/Select/Select.js";
|
|
@@ -121,15 +123,16 @@ import { B as B6 } from "./components/formatters/BooleanFormatter/BooleanFormatt
|
|
|
121
123
|
import { D as D8, g as g12 } from "./components/formatters/DateFormatter/DateFormatter.js";
|
|
122
124
|
import { U, g as g13 } from "./components/formatters/UncertaintyFormatter/UncertaintyFormatter.js";
|
|
123
125
|
import { P as P3, g as g14 } from "./components/formatters/PointsFormatter/PointsFormatter.js";
|
|
124
|
-
import { C as
|
|
125
|
-
import { P as P4, u as
|
|
126
|
+
import { C as C20, g as g15 } from "./components/formatters/ConcatenatedFormatter/ConcatenatedFormatter.js";
|
|
127
|
+
import { P as P4, u as u16 } from "./components/formatters/PeriodFormatter/PeriodFormatter.js";
|
|
126
128
|
import { P as P5, g as g16 } from "./components/formatters/PriceFormatter/PriceFormatter.js";
|
|
127
129
|
import { T as T17 } from "./components/formatters/TagsFormatter/TagsFormatter.js";
|
|
128
|
-
import { C as
|
|
129
|
-
import {
|
|
130
|
+
import { C as C21 } from "./components/formatters/ColorFormatter/ColorFormatter.js";
|
|
131
|
+
import { I as I4 } from "./components/formatters/ImageFormatter/ImageFormatter.js";
|
|
132
|
+
import { C as C22 } from "./components/formatters/ChipStatusFormatter/ChipStatusFormatter.js";
|
|
130
133
|
import { g as g17 } from "./components/formatters/DistanceToNowFormatter/dictionary.js";
|
|
131
134
|
import { D as D9 } from "./components/formatters/DistanceToNowFormatter/DistanceToNowFormatter.js";
|
|
132
|
-
import { u as
|
|
135
|
+
import { u as u17 } from "./components/formatters/DistanceToNowFormatter/hooks/useDistanceToNowFormatter.js";
|
|
133
136
|
import { g as g18 } from "./components/formatters/dictionary.js";
|
|
134
137
|
import { F as F2 } from "./components/FormContainer/FormContainer.js";
|
|
135
138
|
import { G } from "./components/GridLayout/GridLayout.js";
|
|
@@ -162,10 +165,10 @@ import { N as N3, P as P6, R as R20, S as S7 } from "./components/hook-form/RHFP
|
|
|
162
165
|
import { R as R21 } from "./components/hook-form/RHFNumberInput/RHFNumberInput.js";
|
|
163
166
|
import { R as R22 } from "./components/hook-form/RHFUpload/RHFUploadImage/RHFUploadImage.js";
|
|
164
167
|
import { V as V2, b as b4, a as a9 } from "./components/hook-form/RHFormProvider/types.js";
|
|
165
|
-
import { F as F3, R as R23, u as
|
|
168
|
+
import { F as F3, R as R23, u as u18 } from "./components/hook-form/RHFormProvider/RHFormProvider.js";
|
|
166
169
|
import { d as d4, a as a10, b as b5, c as c3 } from "./components/hook-form/RHFormProvider/schema.js";
|
|
167
|
-
import { I as
|
|
168
|
-
import { I as
|
|
170
|
+
import { I as I5 } from "./components/Icon/Icon.js";
|
|
171
|
+
import { I as I6 } from "./components/Image/Image.js";
|
|
169
172
|
import { L as L6 } from "./components/Label/Label.js";
|
|
170
173
|
import { L as L7 } from "./components/LanguagePopover/LanguagePopover.js";
|
|
171
174
|
import { L as L8 } from "./components/LinearProgressIndeterminate/LinearProgressIndeterminate.js";
|
|
@@ -178,7 +181,7 @@ import { M as M4 } from "./components/MFIsolationApp/MFIsolationApp.js";
|
|
|
178
181
|
import { M as M5 } from "./components/MFIsolationAppStorybook/MFIsolationAppStorybook.js";
|
|
179
182
|
import { M as M6 } from "./components/MFLoader/MFLoader.js";
|
|
180
183
|
import { g as g24 } from "./components/MFLoader/dictionary.js";
|
|
181
|
-
import { I as
|
|
184
|
+
import { I as I7 } from "./components/ImageText/ImageText.js";
|
|
182
185
|
import { N as N4 } from "./components/NoItemSelected/NoItemSelected.js";
|
|
183
186
|
import { g as g25 } from "./components/NoItemSelected/dictionary.js";
|
|
184
187
|
import { N as N5 } from "./components/NoItemPrivileges/NoItemPrivileges.js";
|
|
@@ -187,7 +190,7 @@ import { g as g27 } from "./components/ObjectLogs/dictionary.js";
|
|
|
187
190
|
import { O } from "./components/ObjectLogs/ObjectLogs.js";
|
|
188
191
|
import { P as P7 } from "./components/PaperForm/PaperForm.js";
|
|
189
192
|
import { P as P8 } from "./components/PDFViewer/PDFViewer.js";
|
|
190
|
-
import { u as
|
|
193
|
+
import { u as u19 } from "./components/popups/components/PopupsProvider/hooks/usePopupsStore.js";
|
|
191
194
|
import { a as a12, P as P9 } from "./components/popups/components/PopupsProvider/contexts/PopupsContext/PopupsContext.js";
|
|
192
195
|
import { P as P10 } from "./components/popups/components/PopupsViewer/PopupsViewer.js";
|
|
193
196
|
import { P as P11 } from "./components/PrintingSystem/PrintingSystem.js";
|
|
@@ -199,8 +202,8 @@ import { T as T19 } from "./components/ToastContainer/subcomponents/ToastMessage
|
|
|
199
202
|
import { T as T20 } from "./components/TabsNavigator/TabsNavigator.js";
|
|
200
203
|
import { g as g28 } from "./components/TabsNavigator/dictionary.js";
|
|
201
204
|
import { W as W2 } from "./components/WindowBase/WindowBase.js";
|
|
202
|
-
import { u as
|
|
203
|
-
import { u as
|
|
205
|
+
import { u as u20 } from "./components/WindowBase/hooks/useWindowToolsMF/index.js";
|
|
206
|
+
import { u as u21, a as a13 } from "./components/WindowBase/hooks/useDynamicMFParameters/index.js";
|
|
204
207
|
import { M as M7, W as W3, a as a14 } from "./components/WindowBase/contexts/WindowToolsMFContext/WindowToolsMFContext.js";
|
|
205
208
|
import { c as c4 } from "./components/WindowBase/contexts/DynamicMFParmsContext/store.js";
|
|
206
209
|
import { D as D10, a as a15, M as M8 } from "./components/WindowBase/contexts/DynamicMFParmsContext/DynamicMFParmsContext.js";
|
|
@@ -209,7 +212,7 @@ import { a as a16, g as g29 } from "./components/ModalDialog/dictionary.js";
|
|
|
209
212
|
import { M as M9 } from "./components/ModalDialog/ModalDialog.js";
|
|
210
213
|
import { S as S10 } from "./components/SettingsLayout/SettingsLayout.js";
|
|
211
214
|
import { P as P13 } from "./components/Pager/Pager.js";
|
|
212
|
-
import { u as
|
|
215
|
+
import { u as u22 } from "./components/Stepper/hooks/useStepper/index.js";
|
|
213
216
|
import { S as S11 } from "./components/Stepper/Stepper.js";
|
|
214
217
|
import { S as S12 } from "./components/Stepper/subcomponents/StepperContent/index.js";
|
|
215
218
|
import { S as S13 } from "./components/Stepper/subcomponents/StepperContent/subcomponents/Step/index.js";
|
|
@@ -223,26 +226,26 @@ import { S as S20 } from "./components/Stepper/subcomponents/StepperButtons/Step
|
|
|
223
226
|
import { e as e2 } from "./components/Stepper/helpers/evaluateVisibilityStepCondition/index.js";
|
|
224
227
|
import { g as g30 } from "./components/Stepper/dictionary.js";
|
|
225
228
|
import { g as g31 } from "./components/hook-form/RHFormProvider/dictionary.js";
|
|
226
|
-
import { u as
|
|
229
|
+
import { u as u23 } from "./contexts/AppearanceComponentContext/useAppearanceComponentStore.js";
|
|
227
230
|
import { A as A16 } from "./contexts/AppearanceComponentContext/AppearanceComponentContext.js";
|
|
228
231
|
import { a as a17, M as M10 } from "./contexts/ModalContext/index.js";
|
|
229
|
-
import { u as
|
|
230
|
-
import { u as
|
|
231
|
-
import { u as
|
|
232
|
+
import { u as u24 } from "./hooks/useFormAddEdit/useFormAddEdit.js";
|
|
233
|
+
import { u as u25 } from "./hooks/useModal/index.js";
|
|
234
|
+
import { u as u26 } from "./hooks/useTab/index.js";
|
|
232
235
|
import { g as g32 } from "./hooks/useFormAddEdit/dictionary.js";
|
|
233
|
-
import { u as
|
|
234
|
-
import { u as
|
|
235
|
-
import { u as
|
|
236
|
-
import { u as
|
|
237
|
-
import { u as
|
|
236
|
+
import { u as u27 } from "./hooks/useFormFocus/index.js";
|
|
237
|
+
import { u as u28 } from "./hooks/useInterval/index.js";
|
|
238
|
+
import { u as u29 } from "./hooks/useComponentSize/useComponentSize.js";
|
|
239
|
+
import { u as u30 } from "./hooks/useFormReadyForUpdate/index.js";
|
|
240
|
+
import { u as u31 } from "./hooks/useStateRef/index.js";
|
|
238
241
|
import { S as S21 } from "./hooks/useSvgColor/constants.js";
|
|
239
|
-
import { u as
|
|
240
|
-
import { u as
|
|
241
|
-
import { u as
|
|
242
|
-
import { u as
|
|
243
|
-
import { u as
|
|
244
|
-
import { u as
|
|
245
|
-
import { u as
|
|
242
|
+
import { u as u32 } from "./hooks/useSvgColor/useSvgColor.js";
|
|
243
|
+
import { u as u33 } from "./hooks/useDynamicFilterAndSort/useDynamicFilterAndSort.js";
|
|
244
|
+
import { u as u34 } from "./hooks/useDataGridPersistence/useDataGridPersistence.js";
|
|
245
|
+
import { u as u35 } from "./hooks/usePopoverContainer/usePopoverContainer.js";
|
|
246
|
+
import { u as u36 } from "./hooks/useIsVisible/useIsVisible.js";
|
|
247
|
+
import { u as u37 } from "./hooks/useSizeContainer/index.js";
|
|
248
|
+
import { u as u38 } from "./hooks/useWatchTyped/useTypedWatch.js";
|
|
246
249
|
import { c as c5 } from "./utils/capitalizeFirstLetter.js";
|
|
247
250
|
import { i as i2 } from "./utils/isValidDate.js";
|
|
248
251
|
import { g as g33 } from "./utils/getComponentUtilityClass.js";
|
|
@@ -283,17 +286,18 @@ export {
|
|
|
283
286
|
B3 as Breadcrumbs,
|
|
284
287
|
B5 as Button,
|
|
285
288
|
C as Card,
|
|
286
|
-
|
|
289
|
+
C19 as CheckBox,
|
|
287
290
|
C2 as Chip,
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
+
C22 as ChipStatusFormatter,
|
|
292
|
+
C18 as CircularProgress,
|
|
293
|
+
C21 as ColorFormatter,
|
|
291
294
|
C4 as ColumnBooleanFormatter,
|
|
292
295
|
C14 as ColumnChipStatusFormatter,
|
|
293
296
|
C16 as ColumnColorFormatter,
|
|
294
297
|
C5 as ColumnConcatenatedValueFormatter,
|
|
295
298
|
C6 as ColumnDateFormatter,
|
|
296
299
|
C7 as ColumnIconFormatter,
|
|
300
|
+
C17 as ColumnImageFormatter,
|
|
297
301
|
C8 as ColumnInteractiveCheckFormatter,
|
|
298
302
|
C9 as ColumnNestedValueFormatter,
|
|
299
303
|
C10 as ColumnPointsFormatter,
|
|
@@ -301,7 +305,7 @@ export {
|
|
|
301
305
|
C12 as ColumnSetCheckFormatter,
|
|
302
306
|
C15 as ColumnTagsFormatter,
|
|
303
307
|
C13 as ColumnUncertaintyFormatter,
|
|
304
|
-
|
|
308
|
+
C20 as ConcatenatedFormatter,
|
|
305
309
|
C3 as ContainerFlow,
|
|
306
310
|
b3 as DATAGRID_ROW_HEADER_HEIGHTS,
|
|
307
311
|
a4 as DATAGRID_ROW_HEIGHTS,
|
|
@@ -324,12 +328,13 @@ export {
|
|
|
324
328
|
H as HamburgerMenu,
|
|
325
329
|
H2 as HelmetPage,
|
|
326
330
|
H3 as HelperError,
|
|
327
|
-
|
|
331
|
+
I5 as Icon,
|
|
328
332
|
I2 as IconButton,
|
|
329
333
|
I as IconButtonAnimate,
|
|
330
|
-
|
|
334
|
+
I6 as Image,
|
|
331
335
|
I3 as ImageButton,
|
|
332
|
-
|
|
336
|
+
I4 as ImageFormatter,
|
|
337
|
+
I7 as ImageText,
|
|
333
338
|
L2 as LABEL_FILTER_BUTTON,
|
|
334
339
|
L6 as Label,
|
|
335
340
|
L7 as LanguagePopover,
|
|
@@ -518,7 +523,7 @@ export {
|
|
|
518
523
|
r as rhfPeriodStyles,
|
|
519
524
|
t as toggleButtonStyles,
|
|
520
525
|
t2 as toggleIconButtonStyles,
|
|
521
|
-
|
|
526
|
+
u23 as useAppearanceComponentStore,
|
|
522
527
|
u as useAreasStore,
|
|
523
528
|
u2 as useColumnBoolean,
|
|
524
529
|
u12 as useColumnChipStatus,
|
|
@@ -526,6 +531,7 @@ export {
|
|
|
526
531
|
u3 as useColumnConcatenatedValue,
|
|
527
532
|
u4 as useColumnDate,
|
|
528
533
|
u5 as useColumnIcon,
|
|
534
|
+
u15 as useColumnImage,
|
|
529
535
|
u6 as useColumnInteractiveCheck,
|
|
530
536
|
u7 as useColumnNestedValue,
|
|
531
537
|
u8 as useColumnPoints,
|
|
@@ -533,29 +539,29 @@ export {
|
|
|
533
539
|
u10 as useColumnSetCheck,
|
|
534
540
|
u13 as useColumnTags,
|
|
535
541
|
u11 as useColumnUncertanity,
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
+
u29 as useComponentSize,
|
|
543
|
+
u18 as useCustomForm,
|
|
544
|
+
u34 as useDataGridPersistence,
|
|
545
|
+
u17 as useDistanceToNowFormatter,
|
|
546
|
+
u33 as useDynamicFilterAndSort,
|
|
547
|
+
u21 as useDynamicMFParameters,
|
|
542
548
|
a13 as useDynamicMFParametersStore,
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
549
|
+
u24 as useFormAddEdit,
|
|
550
|
+
u27 as useFormFocus,
|
|
551
|
+
u30 as useFormReadyForUpdate,
|
|
552
|
+
u16 as useFormatPeriod,
|
|
553
|
+
u28 as useInterval,
|
|
554
|
+
u36 as useIsVisible,
|
|
555
|
+
u25 as useModal,
|
|
556
|
+
u35 as usePopoverContainer,
|
|
557
|
+
u19 as usePopupsStore,
|
|
558
|
+
u37 as useSizeContainer,
|
|
559
|
+
u31 as useStateRef,
|
|
560
|
+
u22 as useStepper,
|
|
561
|
+
u32 as useSvgColor,
|
|
562
|
+
u26 as useTab,
|
|
563
|
+
u38 as useWatchTyped,
|
|
564
|
+
u20 as useWindowToolsMF,
|
|
559
565
|
v2 as varBounce,
|
|
560
566
|
v3 as varContainer,
|
|
561
567
|
v as varFade,
|