@acvl/frontend-components 0.0.93 → 0.0.94

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/index.d.ts CHANGED
@@ -3384,6 +3384,142 @@ declare function PollingCountdownChip({ pollingInterval, isFetching, onRefresh,
3384
3384
  */
3385
3385
  declare function ServerGrid(props: ServerGridProps): react_jsx_runtime.JSX.Element;
3386
3386
 
3387
+ /** Lo que vale un estado en el filtro: el entero de un `choices` o su clave de texto. */
3388
+ type EstadoDeFiltro = string | number;
3389
+ interface EstadoTabConfig {
3390
+ value: string;
3391
+ label: string;
3392
+ /**
3393
+ * Estado —o estados— por los que filtra la pestaña. Si se omite, la pestaña muestra todo.
3394
+ *
3395
+ * Un arreglo agrupa varios en una sola pestaña ("En curso" = sin iniciar + en progreso). Lo
3396
+ * que tiene que corresponder es el `estadoField`: `estado` para uno solo, `estado__in`
3397
+ * cuando la pestaña es un grupo.
3398
+ */
3399
+ estado?: EstadoDeFiltro | EstadoDeFiltro[];
3400
+ /** Icono de la pestaña (p. ej. un contador). */
3401
+ icon?: ReactNode;
3402
+ /** Columnas específicas de esta pestaña (sobrescribe las columnas por defecto). */
3403
+ columns?: GridColDefPropsOverrides[];
3404
+ /**
3405
+ * Lo que esta pestaña le cambia al modo edición: casi siempre sus columnas, cuando la grilla
3406
+ * las sirve desde `api.edit` y no desde `dataGridProps`. Se mezcla sobre el `edit` de arriba;
3407
+ * sin ninguno de los dos no hay capa de edición.
3408
+ */
3409
+ edit?: Partial<ServerGridEditApi>;
3410
+ /** Habilita el borrado en esta pestaña (sobrescribe el valor por defecto). */
3411
+ withDelete?: boolean;
3412
+ /** Campo de ordenamiento de esta pestaña (sobrescribe el valor por defecto). */
3413
+ sortField?: string;
3414
+ /** Dirección de ordenamiento de esta pestaña (sobrescribe el valor por defecto). */
3415
+ sortDirection?: "asc" | "desc";
3416
+ /**
3417
+ * Habilita el botón de crear en esta pestaña, aunque no haya carga por CSV ni opciones
3418
+ * extra (sobrescribe el valor por defecto).
3419
+ */
3420
+ create?: boolean;
3421
+ /** Habilita la carga por CSV en esta pestaña (sobrescribe el valor por defecto). */
3422
+ csvUpload?: boolean;
3423
+ /** Opciones extra del menú de carga por CSV de esta pestaña. */
3424
+ csvUploadOptions?: CSVMenuOptionProps[];
3425
+ /** Opciones extra del botón de crear de esta pestaña (sobrescribe el valor por defecto). */
3426
+ createExtraOptions?: ExtraCreateOptionProps[];
3427
+ /** Props adicionales del DataGrid, combinadas con las generadas (columnas, ordenamiento…). */
3428
+ dataGridProps?: Partial<MyDataGridProps>;
3429
+ /** `slotProps` del `<ServerGrid_v2>` de esta pestaña. */
3430
+ slotProps?: ServerGridProps["slotProps"];
3431
+ /** Filtros propios del panel de esta pestaña (sobrescribe el valor por defecto). */
3432
+ customFilters?: CustomFilterDef[];
3433
+ /** Elemento(s) renderizados junto al `<ServerGrid_v2>` dentro de la pestaña (p. ej. un drawer). */
3434
+ before?: ReactNode;
3435
+ }
3436
+ interface BuildEstadoTabsOptions {
3437
+ pathname: string;
3438
+ /** Configuración de cada pestaña. */
3439
+ tabs: EstadoTabConfig[];
3440
+ /** Hook lazy-query de RTK Query usado por todas las pestañas. */
3441
+ query: any;
3442
+ /**
3443
+ * El filtro con el que se le pide el estado al recurso. Es el nombre del parámetro tal como
3444
+ * lo declara el `FilterSet`, no el campo del modelo: `estado` para el `exact` de siempre,
3445
+ * `estado__in` cuando la pestaña agrupa estados — y cuando la columna de estado ya filtra por
3446
+ * ese mismo nombre, para que `protectFilters` cierre la misma llave que el panel escribiría.
3447
+ *
3448
+ * @default "estado"
3449
+ */
3450
+ estadoField?: string;
3451
+ /** Columnas por defecto cuando una pestaña no define las suyas. */
3452
+ columns?: GridColDefPropsOverrides[];
3453
+ /**
3454
+ * Modo edición por defecto, para las grillas que sirven sus columnas desde `api.edit`. Con
3455
+ * `disabled: true` es además la forma de tener las columnas ahí sin ofrecer la edición.
3456
+ */
3457
+ edit?: ServerGridEditApi;
3458
+ /** Campo de ordenamiento inicial por defecto. */
3459
+ sortField: string;
3460
+ /** Dirección de ordenamiento inicial por defecto. Por defecto "asc". */
3461
+ sortDirection?: "asc" | "desc";
3462
+ /** Mutación de borrado; se aplica a las pestañas con `withDelete`. */
3463
+ deleteMutation?: any;
3464
+ /** Valor por defecto de `withDelete` para las pestañas que no lo especifican. */
3465
+ withDelete?: boolean;
3466
+ /**
3467
+ * Valor por defecto del botón de crear para las pestañas que no lo especifican.
3468
+ * Úsalo cuando solo se quiere la opción "Manual", sin carga por CSV.
3469
+ */
3470
+ create?: boolean;
3471
+ /**
3472
+ * Valor por defecto de la carga por CSV para las pestañas que no lo especifican. Sólo surte
3473
+ * efecto con `importacion`: sin diálogo que abrir no se ofrece.
3474
+ */
3475
+ csvUpload?: boolean;
3476
+ /**
3477
+ * El diálogo de importación del listado, tal como lo arma la página (con el permiso del
3478
+ * modelo y lo demás que el diálogo necesita). Va aquí y no se arma adentro porque
3479
+ * `buildEstadoTabs` no es un hook: corre en el render, pero una llamada condicional —por
3480
+ * pestaña, según `csvUpload`— rompería el orden de los hooks.
3481
+ */
3482
+ importacion?: NonNullable<ServerGridCreateApi["csv_upload"]>;
3483
+ /** Opciones extra del menú de carga por CSV, por defecto para todas las pestañas. */
3484
+ csvUploadOptions?: CSVMenuOptionProps[];
3485
+ /** Opciones extra del botón de crear, por defecto para todas las pestañas. */
3486
+ createExtraOptions?: ExtraCreateOptionProps[];
3487
+ /**
3488
+ * Filtros que el panel de filtros no puede sacar de las columnas —"Mis órdenes de envío" y
3489
+ * demás—, por defecto para todas las pestañas.
3490
+ *
3491
+ * Tiene que ser un arreglo estable (memoizado): `<ServerGrid_v2>` lo tiene como dependencia
3492
+ * de un `useMemo`, igual que los `args`.
3493
+ */
3494
+ customFilters?: CustomFilterDef[];
3495
+ /**
3496
+ * Menú de exportar, el mismo en todas las pestañas. Se arma con `menuDeExportacion` cuando
3497
+ * el listado ofrece además las descargas de sus hijos (los bultos de estas transferencias).
3498
+ *
3499
+ * Va aquí y no pestaña por pestaña porque el juego de descargas es del recurso, no del
3500
+ * estado: repetirlo en cada pestaña es donde se cuela la que se quedó sin actualizar.
3501
+ */
3502
+ exportMenu?: Record<string, any>;
3503
+ }
3504
+
3505
+ /**
3506
+ * Construye las pestañas (`MyTab[]`) de un listado filtrado por estado, cada una renderizando un
3507
+ * `<ServerGrid_v2>` con el filtro de estado, el ordenamiento y las acciones (edición / borrado /
3508
+ * crear) ya cableados. Cada pestaña puede sobrescribir los valores por defecto del listado y
3509
+ * aportar props adicionales del DataGrid; qué decide cada llave está en `props.ts`.
3510
+ *
3511
+ * **El estado de la pestaña no se puede quitar desde el panel de filtros** (`protectFilters`): es
3512
+ * lo que la pestaña *es*, no un filtro que el usuario haya puesto. Por eso las pestañas de un
3513
+ * estado concreto suelen ir sin la columna de estado —dentro de "Nuevos" esa columna dice siempre
3514
+ * lo mismo— y la de "Todos" sí la lleva, que es donde el filtro vuelve a tener sentido.
3515
+ *
3516
+ * Cada pestaña recuerda por separado sus filtros, su orden y sus columnas: `Tabs` le inyecta a su
3517
+ * hijo el `slotProps.tab` de la pestaña y de ahí sale la llave de persistencia. Una pestaña con
3518
+ * `before` envuelve al grid en un fragmento, así que ahí la inyección no llega y la llave se pone
3519
+ * a mano (`slotProps: { tab }`).
3520
+ */
3521
+ declare function buildEstadoTabs(opciones: BuildEstadoTabsOptions): MyTab[];
3522
+
3387
3523
  interface ExportCSVProps {
3388
3524
  handleClick: () => void;
3389
3525
  filterModel: MyGridFilterModel;
@@ -4776,5 +4912,5 @@ declare const mutationParams: (arg: any) => {
4776
4912
  */
4777
4913
  declare const mutationId: (arg: any) => any;
4778
4914
 
4779
- export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, CatalogoItem, CatalogoList, 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, GrillaHastaElFondo, HEADER_CONTAINER, HEADER_NARROW, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, LocaleContext, LocaleProvider, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PageActionsHostContext, PageBadgeHostContext, PageInfo, PageInfoHostContext, Panel, PollingCountdownChip, PulseDot, RESPONSIVE_ACTION_MODES, ResponsiveActions, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StickyPageHeaderContext, StyledMenu, TEXTOS, Tabs, Transitions, TrueFalse, UncontrolledText, aplicarLocaleDeDayjs, changeTitle, closeProgressSnack, columnasDeCatalogo, composeGridProps, crearFabricaDeCatalogos, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, headerContainerSx, _default as headerReducer, localeDeNumeros, localeTextDeMUI, localeTextDeToolpad, manualCacheRefresh, mergeSettings, mutationData, mutationId, mutationParams, openProgressSnack, pageSizeOptions, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, resolveStatusColor, setErrors, singularizarPalabra, singularizarTitulo, _default$1 as snackProgressReducer, statusColors, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useLocale, useMutationHandler, useNavigation, usePageActionsHost, usePageBadgeHost, usePageInfoHost, useServerGrid, useSidePanelHost, useStickyPageHeader, useStickyPageHeaderHost, useTextos, valueLabel };
4780
- export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, AutocompleteOption, CatalogoAPI, CatalogoItemProps, CatalogoListProps, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledAutocompleteProps, ControlledInput, CrearCatalogoAPI, CustomFilterDef, CustomToolbarProps, DefinicionDeCatalogo, 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, GrillaHastaElFondoProps, InsigniaDeCatalogo, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, Locale, LocaleContextProps, LocaleProviderProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MutationArgs, 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, StickyPageHeaderHost, Textos, UseColorModeResult, UseServerGridOptions };
4915
+ export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, CatalogoItem, CatalogoList, 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, GrillaHastaElFondo, HEADER_CONTAINER, HEADER_NARROW, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, LocaleContext, LocaleProvider, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PageActionsHostContext, PageBadgeHostContext, PageInfo, PageInfoHostContext, Panel, PollingCountdownChip, PulseDot, RESPONSIVE_ACTION_MODES, ResponsiveActions, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StickyPageHeaderContext, StyledMenu, TEXTOS, Tabs, Transitions, TrueFalse, UncontrolledText, aplicarLocaleDeDayjs, buildEstadoTabs, changeTitle, closeProgressSnack, columnasDeCatalogo, composeGridProps, crearFabricaDeCatalogos, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, headerContainerSx, _default as headerReducer, localeDeNumeros, localeTextDeMUI, localeTextDeToolpad, manualCacheRefresh, mergeSettings, mutationData, mutationId, mutationParams, openProgressSnack, pageSizeOptions, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, resolveStatusColor, setErrors, singularizarPalabra, singularizarTitulo, _default$1 as snackProgressReducer, statusColors, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useLocale, useMutationHandler, useNavigation, usePageActionsHost, usePageBadgeHost, usePageInfoHost, useServerGrid, useSidePanelHost, useStickyPageHeader, useStickyPageHeaderHost, useTextos, valueLabel };
4916
+ export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, AutocompleteOption, BuildEstadoTabsOptions, CSVMenuOptionProps, CatalogoAPI, CatalogoItemProps, CatalogoListProps, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledAutocompleteProps, ControlledInput, CrearCatalogoAPI, CustomFilterDef, CustomToolbarProps, DefinicionDeCatalogo, DeleteGridColumnsProps$1 as DeleteGridColumnsProps, DetachedPage, DetailExtraButton, DetailFormApi, DetailFormConfig, DetailFormController, DetailFormDialogProps, DetailFormDrawerNavigation, DetailFormDrawerProps, DetailFormProps, DetailFormStatus, DetailPageV2Props, DetailRenderProps, DrawerGridDrawerConfig, DrawerGridEditConfig, DrawerGridProps, EditGridColumnsProps, EditReadOnlyFields, EstadoDeFiltro, EstadoTabConfig, ExportCSVProps as ExportCSVProps_v2, ExtraCreateOptionProps, FieldFilter, FieldProps$1 as FieldProps, FieldValidationProps, FilterInput, FormBreakpoint, FormGridSxOptions, GlobalSearchOption, GlobalSearchProps, GridArgs, GridColDefPropsOverrides, GridLayerContribution, GridLayerId, GridLayerMap, GrillaHastaElFondoProps, InsigniaDeCatalogo, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, Locale, LocaleContextProps, LocaleProviderProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MutationArgs, 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, StickyPageHeaderHost, Textos, UseColorModeResult, UseServerGridOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acvl/frontend-components",
3
- "version": "0.0.93",
3
+ "version": "0.0.94",
4
4
  "description": "Component library for ACV frontend projects.",
5
5
  "homepage": "https://github.com/ACV-Logistics/acv-frontend-components#readme",
6
6
  "access": "public",