@acvl/frontend-components 0.0.72 → 0.0.73
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/dist/cjs/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +482 -30
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _mui_material from '@mui/material';
|
|
2
|
-
import { ButtonProps, ButtonGroupProps, IconButtonProps, MenuItemProps,
|
|
2
|
+
import { ButtonProps, ButtonGroupProps, IconButtonProps, MenuItemProps, BoxProps, AutocompleteProps, SliderProps, SwitchProps, GridProps, DrawerProps, SxProps, Theme, StackProps, TypographyProps, MenuProps, PaletteColorOptions, TextFieldProps as TextFieldProps$1, InputBaseProps, DialogProps, DialogContentProps } from '@mui/material';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import React__default, { ReactNode, Dispatch, SetStateAction, JSX, RefObject, ReactElement, FC, BaseSyntheticEvent, JSXElementConstructor, ElementType } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
@@ -127,13 +127,68 @@ interface ExtraButtonsProps {
|
|
|
127
127
|
}
|
|
128
128
|
declare const ExtraButtons: (props: ExtraButtonsProps) => react_jsx_runtime.JSX.Element;
|
|
129
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Los colores de la paleta con los que se puede pintar un estado. Son los mismos que admite el
|
|
132
|
+
* chip de una tabla (`ChipCell`), y a propósito: así el mapa de colores de un catálogo —el que
|
|
133
|
+
* dice que el estado "2" es `info`— se declara una vez y sirve en la tabla y en la ficha.
|
|
134
|
+
*/
|
|
135
|
+
type StatusColor = "primary" | "secondary" | "error" | "warning" | "info" | "success";
|
|
130
136
|
interface StatusBadgeProps {
|
|
131
|
-
|
|
137
|
+
/**
|
|
138
|
+
* El color, no la gravedad, aunque se siga llamando así: las cuatro severidades de un
|
|
139
|
+
* `Alert` son también nombres de la paleta, y esto admite además `primary` y `secondary`.
|
|
140
|
+
*
|
|
141
|
+
* Rara vez se escribe a mano —lo normal es sacarlo de {@link resolveStatusColor}, que es
|
|
142
|
+
* quien sabe qué color le toca a cada estado del catálogo—.
|
|
143
|
+
*/
|
|
144
|
+
severity?: StatusColor;
|
|
132
145
|
title: string;
|
|
133
146
|
slotProps?: {
|
|
134
147
|
box?: Partial<BoxProps>;
|
|
135
148
|
};
|
|
136
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Los dos colores de un estado: la tinta —texto y contorno— y el relleno.
|
|
152
|
+
*
|
|
153
|
+
* Salen del tema y no de una gama fija (`green[800]`, `yellow[100]`…), que es lo que hace que
|
|
154
|
+
* un mismo estado se vea igual en la pastilla de una ficha que en el chip de una tabla
|
|
155
|
+
* (`ChipCell`), y que los dos sigan al esquema de color activo en vez de quedarse en los tonos
|
|
156
|
+
* del claro. `severity` es además el nombre del color en la paleta —`success`, `warning`…—, así
|
|
157
|
+
* que no hay tabla de equivalencias que mantener: sin severidad se pinta neutro.
|
|
158
|
+
*
|
|
159
|
+
* El relleno es el mismo tono al 20%. Va escrito contra el canal (`mainChannel`) porque es la
|
|
160
|
+
* forma de que una transparencia siga a las variables CSS; `ChipCell` calcula ese mismo 20% con
|
|
161
|
+
* `alpha()`, que lo resuelve una sola vez y contra el esquema claro. Un tema sin variables se
|
|
162
|
+
* queda sin relleno —el contorno y el texto siguen en pie—.
|
|
163
|
+
*
|
|
164
|
+
* Se exporta porque el rótulo no siempre cabe: donde hay que reducirlo a un punto de color
|
|
165
|
+
* —un encabezado angosto— ese punto tiene que decir lo mismo, y la única forma de que no se
|
|
166
|
+
* separen con el tiempo es que el color salga de aquí.
|
|
167
|
+
*/
|
|
168
|
+
declare const statusColors: (severity?: StatusColor) => {
|
|
169
|
+
/** Texto y contorno. */
|
|
170
|
+
ink: string;
|
|
171
|
+
/** Fondo. */
|
|
172
|
+
fill: string;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* El color que le toca a un estado, según el mapa que declara el proyecto:
|
|
176
|
+
*
|
|
177
|
+
* const coloresDeEstado: Record<string, StatusColor> = { "1": "warning", "2": "info" };
|
|
178
|
+
*
|
|
179
|
+
* Es el mismo mapa que recibe `renderChipCell`, y esa es la idea: el estado "2" se ve igual en
|
|
180
|
+
* la columna de una tabla que en la cabecera de su ficha, sin declararlo dos veces.
|
|
181
|
+
*
|
|
182
|
+
* El estado llega como lo manda el backend —`{ value: "2", label: "Nueva" }`—, así que busca
|
|
183
|
+
* primero por código, que es lo estable, y después por etiqueta sin distinguir mayúsculas, para
|
|
184
|
+
* los endpoints que sólo mandan el texto. Sin mapa —o sin coincidencia— queda un último intento:
|
|
185
|
+
* que el propio valor sea ya un nombre de la paleta, que es como se pintaban los estados cuando
|
|
186
|
+
* el backend mandaba la severidad en vez del código.
|
|
187
|
+
*
|
|
188
|
+
* Devuelve `undefined` cuando no encuentra ninguno, y eso es una respuesta: la insignia se pinta
|
|
189
|
+
* neutra en vez de inventarle un color a un estado que nadie clasificó.
|
|
190
|
+
*/
|
|
191
|
+
declare const resolveStatusColor: (estado: unknown, colors?: Record<string, StatusColor>) => StatusColor | undefined;
|
|
137
192
|
declare const StatusBadge: React__default.FC<StatusBadgeProps>;
|
|
138
193
|
|
|
139
194
|
interface CoverPageCardProps$1 {
|
|
@@ -737,6 +792,12 @@ interface MainDrawerV2Props {
|
|
|
737
792
|
/** Radio de las esquinas del panel de contenido. Por defecto `theme.shape.borderRadius`. */
|
|
738
793
|
contentBorderRadius?: number;
|
|
739
794
|
slots?: {
|
|
795
|
+
/**
|
|
796
|
+
* Lo que califica al título y va pegado a él —el estado de un registro—. No se encoge:
|
|
797
|
+
* lo que cede ancho cuando el encabezado se queda corto es el título, que ya corta con
|
|
798
|
+
* elipsis.
|
|
799
|
+
*/
|
|
800
|
+
badge?: ReactNode;
|
|
740
801
|
/** Acciones del encabezado, a la izquierda del botón de cerrar. */
|
|
741
802
|
headerActions?: ReactNode;
|
|
742
803
|
/** Pie fijo — no scrollea con el cuerpo. Pensado para guardar/cancelar. */
|
|
@@ -828,6 +889,16 @@ declare module "@mui/x-data-grid" {
|
|
|
828
889
|
pageType: PageType;
|
|
829
890
|
}
|
|
830
891
|
}
|
|
892
|
+
/**
|
|
893
|
+
* Campo del panel de edición. Es el mismo campo de un formulario, salvo que su `display` puede
|
|
894
|
+
* ser una función: la evalúa contra la fila que se está editando, así una fila pinta sólo los
|
|
895
|
+
* campos que le tocan según lo que ya tiene capturado —una condición de "primer envío" no lleva
|
|
896
|
+
* cantidad, y pedirla nada más para ignorarla al guardar confunde a quien la captura.
|
|
897
|
+
*/
|
|
898
|
+
interface ArrayFieldItemProps extends Omit<FieldProps$1, "display"> {
|
|
899
|
+
/** Por defecto `true`. Como función, recibe la fila en edición y su índice. */
|
|
900
|
+
display?: boolean | ((row: any, index: number) => boolean);
|
|
901
|
+
}
|
|
831
902
|
interface ArrayFieldProps {
|
|
832
903
|
name: string;
|
|
833
904
|
label: string;
|
|
@@ -838,7 +909,7 @@ interface ArrayFieldProps {
|
|
|
838
909
|
gridProps?: GridProps;
|
|
839
910
|
pageType?: PageType;
|
|
840
911
|
parser?: JSONParserProps;
|
|
841
|
-
fields:
|
|
912
|
+
fields: ArrayFieldItemProps[];
|
|
842
913
|
/**
|
|
843
914
|
* What the edit panel's fields resolve their `size` breakpoints against. Defaults to
|
|
844
915
|
* `"container"`: that panel is a drawer, narrow by construction. It needs its own setting
|
|
@@ -1803,7 +1874,7 @@ interface DeleteGridColumnsProps {
|
|
|
1803
1874
|
*/
|
|
1804
1875
|
declare const deleteColumn: (props: DeleteGridColumnsProps) => GridColDefPropsOverrides[];
|
|
1805
1876
|
|
|
1806
|
-
type ChipColor =
|
|
1877
|
+
type ChipColor = StatusColor;
|
|
1807
1878
|
type ChipOption = {
|
|
1808
1879
|
value: string;
|
|
1809
1880
|
label: string;
|
|
@@ -1943,6 +2014,75 @@ declare const ControlledAmountWithCurrency: {
|
|
|
1943
2014
|
formatDetail({ fieldData, extraProps, data, name, }: DetailRenderProps): string;
|
|
1944
2015
|
};
|
|
1945
2016
|
|
|
2017
|
+
/**
|
|
2018
|
+
* Helpers puros del `ControlledAutocomplete`: los argumentos de la consulta, la
|
|
2019
|
+
* lista que se muestra y las cuentas del "seleccionar todo". Viven fuera del
|
|
2020
|
+
* componente para poder probarlos sin montar MUI ni RTK Query.
|
|
2021
|
+
*/
|
|
2022
|
+
|
|
2023
|
+
/** Una opción del desplegable, tal como la devuelve `como_opciones`. */
|
|
2024
|
+
interface AutocompleteOption {
|
|
2025
|
+
value: any;
|
|
2026
|
+
label: string;
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
interface ControlledAutocompleteProps {
|
|
2030
|
+
name: string;
|
|
2031
|
+
label?: string;
|
|
2032
|
+
/** Control de react-hook-form; lo inyecta el `EditField` o el panel de filtros. */
|
|
2033
|
+
control?: any;
|
|
2034
|
+
/** Props que se pasan tal cual al `Autocomplete` (ganan sobre las de aquí). */
|
|
2035
|
+
fieldProps?: Partial<AutocompleteProps<any, any, any, any>>;
|
|
2036
|
+
extraProps?: {
|
|
2037
|
+
/** Selección múltiple con casillas y chips. Por defecto, simple. */
|
|
2038
|
+
multiple?: boolean;
|
|
2039
|
+
/** Opciones fijas. Con ellas no se consulta nada y filtra el navegador. */
|
|
2040
|
+
options?: AutocompleteOption[];
|
|
2041
|
+
/** Origen remoto de las opciones (endpoint `como_opciones`). */
|
|
2042
|
+
queryArgs?: ComoOpcionesProps;
|
|
2043
|
+
/** Filtro contra el que se busca el texto. Por defecto `nombre__icontains`. */
|
|
2044
|
+
searchField?: string;
|
|
2045
|
+
/** Retardo del tecleo antes de consultar. Por defecto 400 ms. */
|
|
2046
|
+
debounceMs?: number;
|
|
2047
|
+
/** Caracteres mínimos para consultar. Por defecto 0 (lista completa al abrir). */
|
|
2048
|
+
minChars?: number;
|
|
2049
|
+
/** Fila de "seleccionar todo" en el modo múltiple. Por defecto, sí. */
|
|
2050
|
+
selectAll?: boolean;
|
|
2051
|
+
/** Quita el hueco reservado para el mensaje de error debajo del campo. */
|
|
2052
|
+
disableHT?: boolean;
|
|
2053
|
+
};
|
|
2054
|
+
}
|
|
2055
|
+
/**
|
|
2056
|
+
* Desplegable de opciones para react-hook-form: simple o múltiple, con opciones
|
|
2057
|
+
* fijas o consultadas a `como_opciones` según lo que se escribe. Unifica los
|
|
2058
|
+
* `ControlledDropdown` (simple) y `ControlledSelect` (múltiple) de v1, que eran
|
|
2059
|
+
* el mismo componente duplicado.
|
|
2060
|
+
*
|
|
2061
|
+
* ```ts
|
|
2062
|
+
* {
|
|
2063
|
+
* name: "cliente",
|
|
2064
|
+
* label: "Cliente",
|
|
2065
|
+
* type: ControlledAutocomplete,
|
|
2066
|
+
* extraProps: { queryArgs: { endpoint: "clientes" } },
|
|
2067
|
+
* }
|
|
2068
|
+
* ```
|
|
2069
|
+
*
|
|
2070
|
+
* Sobre las peticiones, que era el punto flojo de v1:
|
|
2071
|
+
*
|
|
2072
|
+
* - **Una por apertura.** v1 pedía dos veces al abrir (el `onOpen` disparaba la
|
|
2073
|
+
* consulta y el efecto la repetía con retardo) y otra vez en cada render del
|
|
2074
|
+
* padre, porque `queryArgs` llega como objeto literal y su identidad cambiaba.
|
|
2075
|
+
* - **Elegir una opción no consulta.** Al elegir, MUI reescribe el texto del
|
|
2076
|
+
* campo con la etiqueta; v1 lo trataba como búsqueda nueva y volvía a pedir.
|
|
2077
|
+
* - **Sin parpadeo ni respuestas cruzadas.** La lista es la del hook de RTK
|
|
2078
|
+
* Query, que siempre corresponde a los últimos argumentos disparados; v1
|
|
2079
|
+
* guardaba las opciones en estado propio, las vaciaba en cada tecla y una
|
|
2080
|
+
* respuesta lenta podía pisar a una más nueva.
|
|
2081
|
+
* - **Repetir una búsqueda sale de la caché**, incluido borrar el texto para
|
|
2082
|
+
* volver al listado completo.
|
|
2083
|
+
*/
|
|
2084
|
+
declare const ControlledAutocomplete: ControlledInput<ControlledAutocompleteProps>;
|
|
2085
|
+
|
|
1946
2086
|
interface ControlledColorProps {
|
|
1947
2087
|
/** Ruta del color en el formulario. */
|
|
1948
2088
|
name: string;
|
|
@@ -1990,8 +2130,16 @@ declare const ControlledColor: ControlledInput<ControlledColorProps>;
|
|
|
1990
2130
|
declare const ControlledDate: ControlledInput;
|
|
1991
2131
|
|
|
1992
2132
|
/**
|
|
1993
|
-
* `ControlledSelect` de v2
|
|
1994
|
-
*
|
|
2133
|
+
* `ControlledSelect` de v2: hoy es un `ControlledAutocomplete` en modo múltiple.
|
|
2134
|
+
*
|
|
2135
|
+
* Se conserva el nombre porque ya lo usan varias pantallas de los dos
|
|
2136
|
+
* proyectos; lo que cambia por dentro es cuándo y cuántas veces se piden las
|
|
2137
|
+
* opciones (ver `ControlledAutocomplete`). `disableHT` viene en `true` para no
|
|
2138
|
+
* mover el alto de esas pantallas: el select de v1 no reservaba el renglón del
|
|
2139
|
+
* mensaje de error. Quien lo necesite puede pasarlo en `false`.
|
|
2140
|
+
*
|
|
2141
|
+
* Para código nuevo conviene usar `ControlledAutocomplete` directamente, que
|
|
2142
|
+
* además cubre el modo simple.
|
|
1995
2143
|
*/
|
|
1996
2144
|
declare const ControlledSelect: ControlledInput;
|
|
1997
2145
|
|
|
@@ -2049,6 +2197,17 @@ interface SubsectionProps {
|
|
|
2049
2197
|
fields?: FieldProps[];
|
|
2050
2198
|
arrayFields?: ArrayFieldProps[];
|
|
2051
2199
|
content?: (data: any) => ReactNode;
|
|
2200
|
+
/**
|
|
2201
|
+
* Acciones de la subsección, alineadas a la derecha en el renglón del título.
|
|
2202
|
+
*
|
|
2203
|
+
* Son de la subsección, no de su contenido: viven fuera del `Collapse`, así que siguen a la
|
|
2204
|
+
* mano con la subsección plegada. Y son hermanas del título, no sus hijas: usarlas no la
|
|
2205
|
+
* pliega —plegar es del título y su flecha, que es donde se declara con el cursor.
|
|
2206
|
+
*
|
|
2207
|
+
* El hueco que les queda a la derecha del título es suyo, así que una barra que sepa medirse
|
|
2208
|
+
* —`ResponsiveActions`— puede encogerse ahí dentro en lugar de desbordar el renglón.
|
|
2209
|
+
*/
|
|
2210
|
+
actions?: ReactNode | ((data: any) => ReactNode);
|
|
2052
2211
|
}
|
|
2053
2212
|
|
|
2054
2213
|
interface SectionProps extends Partial<Omit<MyTab, "children">> {
|
|
@@ -2368,6 +2527,13 @@ interface DetailFormDrawerProps {
|
|
|
2368
2527
|
saveAndNext?: string;
|
|
2369
2528
|
};
|
|
2370
2529
|
slots?: {
|
|
2530
|
+
/**
|
|
2531
|
+
* Ruta al estado del registro —`"estado"`—, la misma que recibe `DetailPage_v2`: se
|
|
2532
|
+
* pinta junto al título, como en la página, y con el mismo mapa de colores.
|
|
2533
|
+
*
|
|
2534
|
+
* @see DetailPageV2Props.slots.badge
|
|
2535
|
+
*/
|
|
2536
|
+
badge?: string;
|
|
2371
2537
|
/** Extra actions rendered in the header, left of the close button (e.g. "open full page"). */
|
|
2372
2538
|
headerActions?: ReactNode;
|
|
2373
2539
|
};
|
|
@@ -2376,6 +2542,10 @@ interface DetailFormDrawerProps {
|
|
|
2376
2542
|
saveButton?: Partial<ButtonProps>;
|
|
2377
2543
|
cancelButton?: Partial<ButtonProps>;
|
|
2378
2544
|
saveAndNextButton?: Partial<ButtonProps>;
|
|
2545
|
+
/** @see DetailPageV2Props.slotProps.badge */
|
|
2546
|
+
badge?: {
|
|
2547
|
+
colors?: Record<string, StatusColor>;
|
|
2548
|
+
};
|
|
2379
2549
|
};
|
|
2380
2550
|
}
|
|
2381
2551
|
/**
|
|
@@ -2473,6 +2643,23 @@ interface DrawerGridDrawerConfig {
|
|
|
2473
2643
|
* de abrirlo en su página.
|
|
2474
2644
|
*/
|
|
2475
2645
|
extraButtons?: DetailExtraButton[];
|
|
2646
|
+
/**
|
|
2647
|
+
* El estado del registro, junto al título de la cabecera del cajón —igual que en su página
|
|
2648
|
+
* completa—. `path` es la ruta al campo dentro del dato, que el backend manda como
|
|
2649
|
+
* `{ value, label }`, y `colors` dice de qué color va cada código:
|
|
2650
|
+
*
|
|
2651
|
+
* badge: { path: "estado", colors: { "1": "warning", "2": "info" } }
|
|
2652
|
+
*
|
|
2653
|
+
* `colors` es el mismo mapa que recibe `renderChipCell`, así que lo natural es declararlo
|
|
2654
|
+
* junto al catálogo y pasárselo a los dos: el estado se ve igual en la columna de la tabla
|
|
2655
|
+
* que en el cajón que abre esa misma fila.
|
|
2656
|
+
*
|
|
2657
|
+
* @see DetailPageV2Props.slots.badge
|
|
2658
|
+
*/
|
|
2659
|
+
badge?: {
|
|
2660
|
+
path: string;
|
|
2661
|
+
colors?: Record<string, StatusColor>;
|
|
2662
|
+
};
|
|
2476
2663
|
/** Runs after any successful create/edit (e.g. side effects; the grid refetches via RTK tag invalidation). */
|
|
2477
2664
|
onSaved?: (response: any) => void;
|
|
2478
2665
|
/**
|
|
@@ -2582,7 +2769,132 @@ interface ConfirmDialogProps {
|
|
|
2582
2769
|
* confirmar puede mostrar estado de carga mientras se resuelve la acción. */
|
|
2583
2770
|
declare function ConfirmDialog({ open, titulo, mensaje, confirmLabel, cancelLabel, confirmColor, confirmIcon, isLoading, onConfirm, onClose, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
|
|
2584
2771
|
|
|
2585
|
-
interface
|
|
2772
|
+
interface PulseDotProps {
|
|
2773
|
+
/** Cuando es `true`, el punto es verde y parpadea; si no, usa `inactiveColor`. */
|
|
2774
|
+
active: boolean;
|
|
2775
|
+
/** Color cuando no está activo. Por defecto `error.main`. */
|
|
2776
|
+
inactiveColor?: string;
|
|
2777
|
+
/** Tamaño del punto en px. Por defecto 10. */
|
|
2778
|
+
size?: number;
|
|
2779
|
+
/** Título opcional; si se pasa, envuelve el punto en un Tooltip. */
|
|
2780
|
+
title?: ReactNode;
|
|
2781
|
+
}
|
|
2782
|
+
/** Punto de estado: verde con animación de parpadeo cuando está activo, de lo
|
|
2783
|
+
* contrario un color fijo. Se usa para indicar conexión/actividad en vivo. */
|
|
2784
|
+
declare function PulseDot({ active, inactiveColor, size, title }: PulseDotProps): react_jsx_runtime.JSX.Element;
|
|
2785
|
+
|
|
2786
|
+
/**
|
|
2787
|
+
* El contenedor que declara todo renglón que lleve un título y sus adornos: el encabezado de
|
|
2788
|
+
* una página, el de un cajón y el de un diálogo.
|
|
2789
|
+
*
|
|
2790
|
+
* Se llama igual en los tres a propósito. Lo que aterriza en ese renglón —el estado de un
|
|
2791
|
+
* registro, una barra de acciones— tiene que encogerse cuando el renglón se queda corto, y con
|
|
2792
|
+
* un solo nombre esa regla se escribe una vez y sirve en los tres sitios: cada cosa mide contra
|
|
2793
|
+
* el renglón que la contiene, que en una página es el ancho de la página y en un cajón de 460px
|
|
2794
|
+
* es el del cajón. Los breakpoints del viewport no sabrían distinguirlos —la pantalla es la
|
|
2795
|
+
* misma— y `@container` sí.
|
|
2796
|
+
*
|
|
2797
|
+
* No se pisan entre ellos aunque compartan nombre: un cajón y un diálogo se pintan por portal,
|
|
2798
|
+
* fuera del árbol de la página, así que nunca hay uno dentro de otro. Y si lo hubiera, una
|
|
2799
|
+
* `@container` resuelve contra el contenedor ancestro más cercano, que es justo el que manda.
|
|
2800
|
+
*/
|
|
2801
|
+
declare const HEADER_CONTAINER = "acv-header";
|
|
2802
|
+
/**
|
|
2803
|
+
* Debajo de este ancho el renglón se considera angosto y lo que viva en él debería encogerse:
|
|
2804
|
+
* la insignia de estado, por ejemplo, se queda en un punto de color con el rótulo en el globo.
|
|
2805
|
+
*
|
|
2806
|
+
* Se escribe como regla y no como número suelto para que quien la use no tenga que rearmar la
|
|
2807
|
+
* consulta —ni equivocarse al hacerlo—:
|
|
2808
|
+
*
|
|
2809
|
+
* sx={{ [HEADER_NARROW]: { display: "none" } }}
|
|
2810
|
+
*/
|
|
2811
|
+
declare const HEADER_NARROW = "@container acv-header (max-width: 600px)";
|
|
2812
|
+
/**
|
|
2813
|
+
* Convierte un renglón en el contenedor contra el que se miden sus adornos.
|
|
2814
|
+
*
|
|
2815
|
+
* `inline-size`, nunca `size`: contener también el eje de bloque le fijaría la altura al
|
|
2816
|
+
* encabezado, que crece con lo que lleva dentro —un subtítulo, un título en dos renglones—.
|
|
2817
|
+
*/
|
|
2818
|
+
declare const headerContainerSx: CSSObject;
|
|
2819
|
+
|
|
2820
|
+
/**
|
|
2821
|
+
* Cómo se está dibujando la barra. En orden de lo que ocupa: las acciones a la vista con su
|
|
2822
|
+
* etiqueta, las mismas sólo con el icono, sólo las fijadas, o ninguna.
|
|
2823
|
+
*
|
|
2824
|
+
* El modo dice qué se dibuja *fuera* del menú; lo que quede fuera de eso —y lo que sobre del
|
|
2825
|
+
* tope de `maxVisible`— está siempre dentro de él, así que hasta en `"full"` puede haber menú.
|
|
2826
|
+
*
|
|
2827
|
+
* `"pinned"` sólo es un escalón cuando hay alguna acción fijada; sin ellas la barra pasa de
|
|
2828
|
+
* `"icons"` derecho a `"menu"`.
|
|
2829
|
+
*/
|
|
2830
|
+
declare const RESPONSIVE_ACTION_MODES: readonly ["full", "icons", "pinned", "menu"];
|
|
2831
|
+
type ResponsiveActionsMode = (typeof RESPONSIVE_ACTION_MODES)[number];
|
|
2832
|
+
interface ResponsiveAction {
|
|
2833
|
+
/** Texto del botón; también lo que se lee en el menú y en el tooltip del modo icono. */
|
|
2834
|
+
label: string;
|
|
2835
|
+
/** Se dibuja como `startIcon`, como el botón entero, o a la izquierda del renglón del menú. */
|
|
2836
|
+
icon: ReactNode;
|
|
2837
|
+
onClick: () => void;
|
|
2838
|
+
/** Ayuda larga. Sustituye a `label` como tooltip —el modo icono siempre lleva uno. */
|
|
2839
|
+
tooltip?: string;
|
|
2840
|
+
disabled?: boolean;
|
|
2841
|
+
/** Spinner en lugar del icono, y la acción bloqueada mientras tanto. */
|
|
2842
|
+
loading?: boolean;
|
|
2843
|
+
/** También tiñe el renglón del menú, para que la acción se vea igual se dibuje como se dibuje. */
|
|
2844
|
+
color?: ButtonProps["color"];
|
|
2845
|
+
/**
|
|
2846
|
+
* La última en esconderse: cuando el renglón deja de dar para todas, esta se queda a la vista
|
|
2847
|
+
* —como icono— y las demás se van al menú. Es para la que se usa siempre (editar, en una
|
|
2848
|
+
* ficha); fijar media barra no sirve de mucho, porque entonces ese escalón acaba pesando casi
|
|
2849
|
+
* lo mismo que el anterior y se salta solo.
|
|
2850
|
+
*/
|
|
2851
|
+
pinned?: boolean;
|
|
2852
|
+
}
|
|
2853
|
+
interface ResponsiveActionsProps {
|
|
2854
|
+
actions: ResponsiveAction[];
|
|
2855
|
+
/**
|
|
2856
|
+
* Cuántas acciones se dibujan como botón, como mucho. Las demás se van al menú desde el
|
|
2857
|
+
* primer modo, quepan o no: es un tope de cuántas *merecen* estar a la vista, no de cuántas
|
|
2858
|
+
* caben —de eso ya se encarga la medición—. Sin él salen todas.
|
|
2859
|
+
*
|
|
2860
|
+
* Se queda con las primeras, así que el orden manda: lo importante va delante. Fijar una
|
|
2861
|
+
* acción (`pinned`) no la adelanta, sólo la hace la última en esconderse.
|
|
2862
|
+
*/
|
|
2863
|
+
maxVisible?: number;
|
|
2864
|
+
/** @default "small" */
|
|
2865
|
+
size?: "small" | "medium";
|
|
2866
|
+
/** Fija el modo y apaga la medición. Para cuando el ancho no es quien debe decidir. */
|
|
2867
|
+
mode?: ResponsiveActionsMode;
|
|
2868
|
+
}
|
|
2869
|
+
/**
|
|
2870
|
+
* Una barra de acciones que se encoge sola cuando deja de caber: primero pierde las etiquetas y
|
|
2871
|
+
* se queda en iconos, después esconde en un menú de tres puntos todo menos lo fijado, y al final
|
|
2872
|
+
* se mete ahí entera.
|
|
2873
|
+
*
|
|
2874
|
+
* Encogerse es cosa del ancho; cuántas acciones merecen un botón, no. Para eso está `maxVisible`,
|
|
2875
|
+
* que manda al menú lo que pase de la cuenta aunque sobre sitio —una barra de ocho botones cabe
|
|
2876
|
+
* en una pantalla ancha y aun así no hay quien la lea—.
|
|
2877
|
+
*
|
|
2878
|
+
* Mide, no adivina. Los breakpoints del viewport no sirven aquí —la misma barra vive en una
|
|
2879
|
+
* página ancha y en un cajón de 460px, donde la pantalla es grande y el hueco no—, así que
|
|
2880
|
+
* compara el ancho que le dejaron con el que sus botones piden y baja un escalón cuando no
|
|
2881
|
+
* alcanza. Es el mismo motivo por el que el layout de los campos resuelve por `@container`.
|
|
2882
|
+
*
|
|
2883
|
+
* Para que la medición signifique algo, el padre tiene que ser un renglón flex que le deje
|
|
2884
|
+
* crecer al sobrante: la raíz se estira (`flexGrow`) para que su ancho *sea* el hueco, y los
|
|
2885
|
+
* botones van dentro sin encogerse, así que su ancho es lo que piden de verdad.
|
|
2886
|
+
*/
|
|
2887
|
+
declare const ResponsiveActions: ({ actions, maxVisible, size, mode: forcedMode, }: ResponsiveActionsProps) => react_jsx_runtime.JSX.Element | null;
|
|
2888
|
+
|
|
2889
|
+
interface DetailActionsProps {
|
|
2890
|
+
/**
|
|
2891
|
+
* Editar. Va fijada, así que es la última en irse al menú cuando el renglón se estrecha: es
|
|
2892
|
+
* la acción de siempre en una ficha, y la que se busca sin leer. Se lleva consigo el Ctrl+E
|
|
2893
|
+
* que vivía en `EditButton`, el botón suelto que esta barra vino a sustituir.
|
|
2894
|
+
*/
|
|
2895
|
+
edit?: {
|
|
2896
|
+
onClick: () => void;
|
|
2897
|
+
};
|
|
2586
2898
|
delete?: {
|
|
2587
2899
|
mutation: any;
|
|
2588
2900
|
disableNavBack?: boolean;
|
|
@@ -2599,8 +2911,14 @@ interface ActionsMenuProps {
|
|
|
2599
2911
|
icon: ReactNode;
|
|
2600
2912
|
onClick: () => void;
|
|
2601
2913
|
}[];
|
|
2602
|
-
/** Tamaño
|
|
2914
|
+
/** Tamaño de los botones. `"small"` para las cabeceras del cajón. */
|
|
2603
2915
|
size?: "small" | "medium";
|
|
2916
|
+
/**
|
|
2917
|
+
* Fija cómo se dibuja la barra en vez de dejar que se mida. El cajón lo usa para quedarse
|
|
2918
|
+
* siempre en el menú de tres puntos: su cabecera ya lleva sus propios botones al lado.
|
|
2919
|
+
* @see ResponsiveActionsProps.mode
|
|
2920
|
+
*/
|
|
2921
|
+
mode?: ResponsiveActionsMode;
|
|
2604
2922
|
}
|
|
2605
2923
|
|
|
2606
2924
|
interface DetailPageV2Props {
|
|
@@ -2626,13 +2944,19 @@ interface DetailPageV2Props {
|
|
|
2626
2944
|
slots?: {
|
|
2627
2945
|
button?: ReactNode;
|
|
2628
2946
|
/**
|
|
2629
|
-
* Acciones propias del registro, junto a las del armazón. En `"detail"`
|
|
2630
|
-
*
|
|
2947
|
+
* Acciones propias del registro, junto a las del armazón. En `"detail"` entran en la
|
|
2948
|
+
* barra de acciones; en alta y edición, como iconos al lado de Guardar.
|
|
2631
2949
|
*
|
|
2632
2950
|
* Las mismas se le pueden pasar al cajón de `DrawerGrid_v2` (`drawer.extraButtons`),
|
|
2633
2951
|
* para que el registro traiga sus acciones se abra donde se abra.
|
|
2634
2952
|
*/
|
|
2635
2953
|
extraButtons?: DetailExtraButton[];
|
|
2954
|
+
/**
|
|
2955
|
+
* Ruta al estado del registro dentro del dato —`"estado"`—, que el backend manda como
|
|
2956
|
+
* `{ value, label }`: se lee la etiqueta y el código decide el color.
|
|
2957
|
+
*
|
|
2958
|
+
* @see DetailPageV2Props.slotProps.badge
|
|
2959
|
+
*/
|
|
2636
2960
|
badge?: string;
|
|
2637
2961
|
};
|
|
2638
2962
|
slotProps?: {
|
|
@@ -2645,15 +2969,30 @@ interface DetailPageV2Props {
|
|
|
2645
2969
|
cancel?: Partial<ButtonProps>;
|
|
2646
2970
|
};
|
|
2647
2971
|
/**
|
|
2648
|
-
* The history panel opened from the actions
|
|
2972
|
+
* The history panel opened from the actions bar. It docks beside the page rather
|
|
2649
2973
|
* than floating over it, so the record stays readable next to what the history says
|
|
2650
|
-
* about it — see `
|
|
2974
|
+
* about it — see `DetailActionsProps.historial` for how to change that.
|
|
2651
2975
|
*/
|
|
2652
|
-
historial?:
|
|
2976
|
+
historial?: DetailActionsProps["historial"];
|
|
2653
2977
|
permissionsPath?: string;
|
|
2654
2978
|
deleteButton?: {
|
|
2655
2979
|
disableNavBack?: boolean;
|
|
2656
2980
|
};
|
|
2981
|
+
badge?: {
|
|
2982
|
+
/**
|
|
2983
|
+
* De qué color se pinta cada estado, por código:
|
|
2984
|
+
*
|
|
2985
|
+
* colors: { "1": "warning", "2": "info", "3": "success" }
|
|
2986
|
+
*
|
|
2987
|
+
* Es el mismo mapa que recibe `renderChipCell` en las columnas de una tabla, así que
|
|
2988
|
+
* lo natural es declararlo junto al catálogo y pasarlo a los dos: el estado "2" se ve
|
|
2989
|
+
* igual en la lista que en la ficha.
|
|
2990
|
+
*
|
|
2991
|
+
* Sin mapa la insignia queda neutra —gris—, que es como se veían todos antes de que
|
|
2992
|
+
* hubiera con qué distinguirlos.
|
|
2993
|
+
*/
|
|
2994
|
+
colors?: Record<string, StatusColor>;
|
|
2995
|
+
};
|
|
2657
2996
|
};
|
|
2658
2997
|
}
|
|
2659
2998
|
declare function DetailPage(props: DetailPageV2Props): react_jsx_runtime.JSX.Element;
|
|
@@ -2684,11 +3023,27 @@ interface DetailFormDialogProps {
|
|
|
2684
3023
|
save?: string;
|
|
2685
3024
|
cancel?: string;
|
|
2686
3025
|
};
|
|
3026
|
+
slots?: {
|
|
3027
|
+
/**
|
|
3028
|
+
* Ruta al estado del registro —`"estado"`—, la misma que recibe `DetailPage_v2`: se
|
|
3029
|
+
* pinta junto al título, con el mismo mapa de colores.
|
|
3030
|
+
*
|
|
3031
|
+
* Un diálogo es angosto por construcción, así que casi siempre se verá como el punto de
|
|
3032
|
+
* color con el rótulo en el globo.
|
|
3033
|
+
*
|
|
3034
|
+
* @see DetailPageV2Props.slots.badge
|
|
3035
|
+
*/
|
|
3036
|
+
badge?: string;
|
|
3037
|
+
};
|
|
2687
3038
|
slotProps?: {
|
|
2688
3039
|
dialog?: Partial<DialogProps>;
|
|
2689
3040
|
content?: Partial<DialogContentProps>;
|
|
2690
3041
|
saveButton?: Partial<ButtonProps>;
|
|
2691
3042
|
cancelButton?: Partial<ButtonProps>;
|
|
3043
|
+
/** @see DetailPageV2Props.slotProps.badge */
|
|
3044
|
+
badge?: {
|
|
3045
|
+
colors?: Record<string, StatusColor>;
|
|
3046
|
+
};
|
|
2692
3047
|
};
|
|
2693
3048
|
}
|
|
2694
3049
|
/**
|
|
@@ -2697,7 +3052,7 @@ interface DetailFormDialogProps {
|
|
|
2697
3052
|
* becomes a `DialogTitle` and the buttons move into `DialogActions`. The save button lives
|
|
2698
3053
|
* outside the `<form>` tree, so it submits via the native `form={formId}` attribute.
|
|
2699
3054
|
*/
|
|
2700
|
-
declare function DetailFormDialog({ open, onClose, title, api, form, sections, pageType, permissionsPath, onSuccess, responsiveTo, containerBreakpoints, labels, slotProps, }: DetailFormDialogProps): react_jsx_runtime.JSX.Element;
|
|
3055
|
+
declare function DetailFormDialog({ open, onClose, title, api, form, sections, pageType, permissionsPath, onSuccess, responsiveTo, containerBreakpoints, labels, slots, slotProps, }: DetailFormDialogProps): react_jsx_runtime.JSX.Element;
|
|
2701
3056
|
|
|
2702
3057
|
/**
|
|
2703
3058
|
* Encabezado por defecto del `PageContainer`: resuelve título y breadcrumbs a
|
|
@@ -2706,6 +3061,11 @@ declare function DetailFormDialog({ open, onClose, title, api, form, sections, p
|
|
|
2706
3061
|
*
|
|
2707
3062
|
* El título se lee de `state.header.title` (slice `headerReducer` de la librería)
|
|
2708
3063
|
* cuando hay un id en la ruta; de lo contrario se deriva del título de la página.
|
|
3064
|
+
*
|
|
3065
|
+
* Pinta la misma estructura que el `PageHeader` de Toolpad —breadcrumbs arriba, título
|
|
3066
|
+
* y barra de acciones abajo— y no aquel componente, porque su título es un `string` y
|
|
3067
|
+
* aquí hace falta poder poner algo a su lado: el hueco donde aterriza la nota de la
|
|
3068
|
+
* página (ver `PageInfo`).
|
|
2709
3069
|
**/
|
|
2710
3070
|
/**
|
|
2711
3071
|
* Página sin entrada en la navegación de Toolpad. Como `useActivePage` no la
|
|
@@ -2916,6 +3276,112 @@ interface MainLayoutProps {
|
|
|
2916
3276
|
declare const SIDE_PANEL_WIDTH_VAR = "--acv-side-panel-width";
|
|
2917
3277
|
declare const MainLayout: (props: MainLayoutProps) => react_jsx_runtime.JSX.Element;
|
|
2918
3278
|
|
|
3279
|
+
interface PageInfoProps {
|
|
3280
|
+
/**
|
|
3281
|
+
* La nota. Admite marcado —negritas, listas, enlaces—, así que puede ser lo mismo
|
|
3282
|
+
* que antes se pintaba en un `Alert` al principio del contenido.
|
|
3283
|
+
*/
|
|
3284
|
+
children: ReactNode;
|
|
3285
|
+
/** Nombre accesible del botón. */
|
|
3286
|
+
label?: string;
|
|
3287
|
+
/** Ancho máximo del globo, en px. */
|
|
3288
|
+
maxWidth?: number;
|
|
3289
|
+
}
|
|
3290
|
+
/**
|
|
3291
|
+
* Explica la página desde un botón junto a su título, en vez de gastar un `Alert` en la
|
|
3292
|
+
* primera pantalla: el que ya sabe cómo funciona no vuelve a leerlo, pero sigue a mano
|
|
3293
|
+
* para el que llega nuevo.
|
|
3294
|
+
*
|
|
3295
|
+
* Se declara dentro de la página —no pinta nada donde se pone— y viaja por portal hasta
|
|
3296
|
+
* el hueco del encabezado (ver `PageInfoHostContext`). Sólo puede haber una nota por
|
|
3297
|
+
* página: dos `<PageInfo>` a la vez dejan los dos botones uno junto al otro.
|
|
3298
|
+
*
|
|
3299
|
+
* <PageInfo>
|
|
3300
|
+
* El tope limita la <strong>suma de los porcentajes</strong> del mes.
|
|
3301
|
+
* </PageInfo>
|
|
3302
|
+
*
|
|
3303
|
+
* El globo se abre al pasar el cursor y también al llegar al botón con el tabulador, y
|
|
3304
|
+
* es interactivo: se puede entrar en él a copiar el texto o a seguir un enlace.
|
|
3305
|
+
**/
|
|
3306
|
+
declare const PageInfo: ({ children, label, maxWidth }: PageInfoProps) => react_jsx_runtime.JSX.Element | null;
|
|
3307
|
+
|
|
3308
|
+
interface PageInfoHost {
|
|
3309
|
+
/**
|
|
3310
|
+
* El nodo que el encabezado reserva junto al título, o `null` mientras no haya uno
|
|
3311
|
+
* —pantalla completa, o un `pageHeader` propio que no lo reserve—.
|
|
3312
|
+
*/
|
|
3313
|
+
element: HTMLElement | null;
|
|
3314
|
+
/** Lo publica el encabezado al montarse, y lo retira (`null`) al desmontarse. */
|
|
3315
|
+
publicar: (element: HTMLElement | null) => void;
|
|
3316
|
+
}
|
|
3317
|
+
/**
|
|
3318
|
+
* Cómo llega la nota de una página hasta el costado de su título.
|
|
3319
|
+
*
|
|
3320
|
+
* La nota la escribe la página —es texto suyo, no del cascarón— pero se pinta en el
|
|
3321
|
+
* encabezado, que ni siquiera es hijo suyo: `PageContainer` lo dibuja aparte del
|
|
3322
|
+
* `Outlet`. Así que `<PageInfo>` se declara donde se quiera dentro de la página y se
|
|
3323
|
+
* teletransporta (portal) hasta `element`.
|
|
3324
|
+
*
|
|
3325
|
+
* Fuera de un `MainLayout` el contexto es `null` y `<PageInfo>` no pinta nada, en vez de
|
|
3326
|
+
* soltar el botón en medio del contenido.
|
|
3327
|
+
*/
|
|
3328
|
+
declare const PageInfoHostContext: React.Context<PageInfoHost | null>;
|
|
3329
|
+
/** El hueco de la nota del encabezado, o `null` si no hay ninguno arriba. */
|
|
3330
|
+
declare const usePageInfoHost: () => PageInfoHost | null;
|
|
3331
|
+
|
|
3332
|
+
interface PageActionsHost {
|
|
3333
|
+
/**
|
|
3334
|
+
* El nodo que el encabezado deja libre a la derecha del título, o `null` mientras no haya
|
|
3335
|
+
* uno —pantalla completa, o un `pageHeader` propio que no lo reserve—.
|
|
3336
|
+
*/
|
|
3337
|
+
element: HTMLElement | null;
|
|
3338
|
+
/** Lo publica el encabezado al montarse, y lo retira (`null`) al desmontarse. */
|
|
3339
|
+
publicar: (element: HTMLElement | null) => void;
|
|
3340
|
+
}
|
|
3341
|
+
/**
|
|
3342
|
+
* Cómo llegan las acciones de una página hasta el renglón de su título.
|
|
3343
|
+
*
|
|
3344
|
+
* Mismo viaje que la nota de la página (ver `PageInfoHostContext`) y por la misma razón: las
|
|
3345
|
+
* acciones son de la página, pero se pintan en el encabezado, que ni siquiera es hijo suyo.
|
|
3346
|
+
* La diferencia está en para qué sirve el hueco. La nota sólo necesitaba dónde aterrizar; estas
|
|
3347
|
+
* necesitan además *cuánto espacio hay*, y por eso el hueco se queda con el sobrante del renglón
|
|
3348
|
+
* en vez de ceñirse a su contenido: así una barra que se mide sola (`ResponsiveActions`) puede
|
|
3349
|
+
* comparar lo que piden sus botones contra lo que el título le dejó, y encogerse cuando ya no
|
|
3350
|
+
* alcanza. Es la respuesta que la esquina flotante del `ContentLayout` no sabe dar: al estar
|
|
3351
|
+
* posicionada y ajustarse a su contenido, ahí el hueco y los botones miden siempre lo mismo.
|
|
3352
|
+
*
|
|
3353
|
+
* Fuera de un `MainLayout` el contexto es `null`, y quien lo use se las arregla por su cuenta
|
|
3354
|
+
* —la página de detalle vuelve a la esquina flotante de siempre—.
|
|
3355
|
+
*/
|
|
3356
|
+
declare const PageActionsHostContext: React.Context<PageActionsHost | null>;
|
|
3357
|
+
/** El hueco de las acciones del encabezado, o `null` si no hay ninguno arriba. */
|
|
3358
|
+
declare const usePageActionsHost: () => PageActionsHost | null;
|
|
3359
|
+
|
|
3360
|
+
interface PageBadgeHost {
|
|
3361
|
+
/**
|
|
3362
|
+
* El nodo que el encabezado reserva al lado del título, o `null` mientras no haya uno
|
|
3363
|
+
* —pantalla completa, o un `pageHeader` propio que no lo reserve—.
|
|
3364
|
+
*/
|
|
3365
|
+
element: HTMLElement | null;
|
|
3366
|
+
/** Lo publica el encabezado al montarse, y lo retira (`null`) al desmontarse. */
|
|
3367
|
+
publicar: (element: HTMLElement | null) => void;
|
|
3368
|
+
}
|
|
3369
|
+
/**
|
|
3370
|
+
* Cómo llega el estado de un registro hasta el lado de su título.
|
|
3371
|
+
*
|
|
3372
|
+
* Mismo viaje que la nota (ver `PageInfoHostContext`) y que las acciones
|
|
3373
|
+
* (`PageActionsHostContext`); lo que cambia es dónde aterriza y por qué. El estado califica al
|
|
3374
|
+
* registro igual que su nombre —"embarque 12345, cerrado"—, así que se lee junto a él y no en
|
|
3375
|
+
* la otra punta del renglón: allí quedaba pegado a los botones, como si fuera uno más, y encima
|
|
3376
|
+
* gastaba el ancho que las acciones necesitan para no encogerse.
|
|
3377
|
+
*
|
|
3378
|
+
* Fuera de un `MainLayout` el contexto es `null` y la página de detalle vuelve a colgar la
|
|
3379
|
+
* insignia de la esquina flotante del `ContentLayout`, que es donde vivía.
|
|
3380
|
+
*/
|
|
3381
|
+
declare const PageBadgeHostContext: React.Context<PageBadgeHost | null>;
|
|
3382
|
+
/** El hueco de la insignia del encabezado, o `null` si no hay ninguno arriba. */
|
|
3383
|
+
declare const usePageBadgeHost: () => PageBadgeHost | null;
|
|
3384
|
+
|
|
2919
3385
|
/**
|
|
2920
3386
|
* Contenido por defecto de cada snack dentro de `ObjectProgressStack`.
|
|
2921
3387
|
* Muestra una barra de progreso (determinada si `progress` viene definido,
|
|
@@ -3172,19 +3638,5 @@ interface UseColorModeResult {
|
|
|
3172
3638
|
}
|
|
3173
3639
|
declare function useColorMode(): UseColorModeResult;
|
|
3174
3640
|
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
active: boolean;
|
|
3178
|
-
/** Color cuando no está activo. Por defecto `error.main`. */
|
|
3179
|
-
inactiveColor?: string;
|
|
3180
|
-
/** Tamaño del punto en px. Por defecto 10. */
|
|
3181
|
-
size?: number;
|
|
3182
|
-
/** Título opcional; si se pasa, envuelve el punto en un Tooltip. */
|
|
3183
|
-
title?: ReactNode;
|
|
3184
|
-
}
|
|
3185
|
-
/** Punto de estado: verde con animación de parpadeo cuando está activo, de lo
|
|
3186
|
-
* contrario un color fijo. Se usa para indicar conexión/actividad en vivo. */
|
|
3187
|
-
declare function PulseDot({ active, inactiveColor, size, title }: PulseDotProps): react_jsx_runtime.JSX.Element;
|
|
3188
|
-
|
|
3189
|
-
export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, ChipCell, ConfirmDialog, ContentLayout, ControlledAddressAutocomplete, ControlledAmountWithCurrency, ControlledColor, ControlledDate$1 as ControlledDate, ControlledDate as ControlledDate_v2, ControlledDropdown, ControlledFileField$1 as ControlledFileField, ControlledFileField as ControlledFileField_v2, FileUploadBox as ControlledFileUploadBox, ControlledNumber, ControlledPhoneNumber, ControlledSelect$1 as ControlledSelect, ControlledSelect as ControlledSelect_v2, ControlledSlider as ControlledSimpleSlider, ControlledSlider$1 as ControlledSlider, ControlledSwitch, ControlledText, ControlledTimePicker, ControlledToggleButtons, CoverPage, CreateButtonBase, CreateButtonWithMenuOptions, CrudDropdown, CustomNoRows, DEFAULT_FORM_BREAKPOINTS, DEFAULT_PAGINATION, DeleteButton, DeleteConfirmationDialog, DetailFormDialog as DetailFormDialog_v2, DetailFormDrawer as DetailFormDrawer_v2, DetailForm as DetailForm_v2, DetailPage$1 as DetailPage, DetailPage as DetailPage_v2, DrawerGrid as DrawerGrid_v2, EditButton, ExportCSV$1 as ExportCSV, ExportCSV as ExportCSV_v2, ExtraButtons, FORM_CONTAINER_NAME, GlobalSearch, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PAGE_SIZE_OPTIONS, Panel, PollingCountdownChip, PulseDot, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StyledMenu, Tabs, Transitions, TrueFalse, UncontrolledText, changeTitle, closeProgressSnack, composeGridProps, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, _default as headerReducer, manualCacheRefresh, mergeSettings, openProgressSnack, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, setErrors, _default$1 as snackProgressReducer, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useMutationHandler, useNavigation, useServerGrid, useSidePanelHost, valueLabel };
|
|
3190
|
-
export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledInput, CustomFilterDef, CustomToolbarProps, DeleteGridColumnsProps$1 as DeleteGridColumnsProps, DetachedPage, DetailExtraButton, DetailFormApi, DetailFormConfig, DetailFormController, DetailFormDialogProps, DetailFormDrawerNavigation, DetailFormDrawerProps, DetailFormProps, DetailFormStatus, DetailPageV2Props, DetailRenderProps, DrawerGridDrawerConfig, DrawerGridEditConfig, DrawerGridProps, EditGridColumnsProps, EditReadOnlyFields, ExportCSVProps as ExportCSVProps_v2, FieldFilter, FieldProps$1 as FieldProps, FieldValidationProps, FilterInput, FormBreakpoint, FormGridSxOptions, GlobalSearchOption, GlobalSearchProps, GridArgs, GridColDefPropsOverrides, GridLayerContribution, GridLayerId, GridLayerMap, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MyDataGridProps, MyGridFilterModel, MyTab, MyTabProps, NotificationItemProps, NotificationsApi, NotificationsBellProps, PageType, PanelProps, PollingCountdownChipProps, ProgressStatusProps, PulseDotProps, RowsSnapshot, ServerGridArgs, ServerGridCreateApi, ServerGridDataApi, ServerGridDeleteApi, ServerGridEditApi, ServerGridEditToggleApi, ServerGridHandle, ServerGridProps, ServerGridSnapshot, ServerGridState, SidePanelHost, UseColorModeResult, UseServerGridOptions };
|
|
3641
|
+
export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, ChipCell, ConfirmDialog, ContentLayout, ControlledAddressAutocomplete, ControlledAmountWithCurrency, ControlledAutocomplete, ControlledColor, ControlledDate$1 as ControlledDate, ControlledDate as ControlledDate_v2, ControlledDropdown, ControlledFileField$1 as ControlledFileField, ControlledFileField as ControlledFileField_v2, FileUploadBox as ControlledFileUploadBox, ControlledNumber, ControlledPhoneNumber, ControlledSelect$1 as ControlledSelect, ControlledSelect as ControlledSelect_v2, ControlledSlider as ControlledSimpleSlider, ControlledSlider$1 as ControlledSlider, ControlledSwitch, ControlledText, ControlledTimePicker, ControlledToggleButtons, CoverPage, CreateButtonBase, CreateButtonWithMenuOptions, CrudDropdown, CustomNoRows, DEFAULT_FORM_BREAKPOINTS, DEFAULT_PAGINATION, DeleteButton, DeleteConfirmationDialog, DetailFormDialog as DetailFormDialog_v2, DetailFormDrawer as DetailFormDrawer_v2, DetailForm as DetailForm_v2, DetailPage$1 as DetailPage, DetailPage as DetailPage_v2, DrawerGrid as DrawerGrid_v2, EditButton, ExportCSV$1 as ExportCSV, ExportCSV as ExportCSV_v2, ExtraButtons, FORM_CONTAINER_NAME, GlobalSearch, HEADER_CONTAINER, HEADER_NARROW, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PAGE_SIZE_OPTIONS, PageActionsHostContext, PageBadgeHostContext, PageInfo, PageInfoHostContext, Panel, PollingCountdownChip, PulseDot, RESPONSIVE_ACTION_MODES, ResponsiveActions, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StyledMenu, Tabs, Transitions, TrueFalse, UncontrolledText, changeTitle, closeProgressSnack, composeGridProps, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, headerContainerSx, _default as headerReducer, manualCacheRefresh, mergeSettings, openProgressSnack, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, resolveStatusColor, setErrors, _default$1 as snackProgressReducer, statusColors, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useMutationHandler, useNavigation, usePageActionsHost, usePageBadgeHost, usePageInfoHost, useServerGrid, useSidePanelHost, valueLabel };
|
|
3642
|
+
export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, AutocompleteOption, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledAutocompleteProps, ControlledInput, CustomFilterDef, CustomToolbarProps, DeleteGridColumnsProps$1 as DeleteGridColumnsProps, DetachedPage, DetailExtraButton, DetailFormApi, DetailFormConfig, DetailFormController, DetailFormDialogProps, DetailFormDrawerNavigation, DetailFormDrawerProps, DetailFormProps, DetailFormStatus, DetailPageV2Props, DetailRenderProps, DrawerGridDrawerConfig, DrawerGridEditConfig, DrawerGridProps, EditGridColumnsProps, EditReadOnlyFields, ExportCSVProps as ExportCSVProps_v2, FieldFilter, FieldProps$1 as FieldProps, FieldValidationProps, FilterInput, FormBreakpoint, FormGridSxOptions, GlobalSearchOption, GlobalSearchProps, GridArgs, GridColDefPropsOverrides, GridLayerContribution, GridLayerId, GridLayerMap, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MyDataGridProps, MyGridFilterModel, MyTab, MyTabProps, NotificationItemProps, NotificationsApi, NotificationsBellProps, PageActionsHost, PageBadgeHost, PageInfoHost, PageInfoProps, PageType, PanelProps, PollingCountdownChipProps, ProgressStatusProps, PulseDotProps, ResponsiveAction, ResponsiveActionsMode, ResponsiveActionsProps, RowsSnapshot, ServerGridArgs, ServerGridCreateApi, ServerGridDataApi, ServerGridDeleteApi, ServerGridEditApi, ServerGridEditToggleApi, ServerGridHandle, ServerGridProps, ServerGridSnapshot, ServerGridState, SidePanelHost, StatusColor, UseColorModeResult, UseServerGridOptions };
|