@scmlatam/web-ui 0.2.61 → 0.2.62

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.
@@ -1,3 +1,3 @@
1
1
  import { default as React } from 'react';
2
2
  import { RbTableBaseRow, RbTableProps } from './types';
3
- export declare function RbTable<Row extends RbTableBaseRow = RbTableBaseRow>({ id, columns, rows, loading, getRowKey, title, description, toolbarLeft, toolbarRight, showToolbar, toolbarClassName, emptyText, emptyState, className, rootClassName, bodyClassName, size, fill, density, maxHeight, onRowClick, onCellContextMenu, rowClassName, getCellClassName, getRowClassName, checkboxSelection, rowSelectionModel, setRowSelectionModel, onRowSelectionModelChange, isRowSelectable, disableRowSelectionOnClick, disableColumnPinning, pinnedColumns, onPinnedColumnsChange, initialState, paginate, paginationMode, paginationModel, setPaginationModel, onPaginationModelChange, rowCount, defaultRowsPerPage, rowsPerPageOptions, resultsLabel, viewAllLabel, prevAriaLabel, nextAriaLabel, footer, footerActions, hideFooter, }: RbTableProps<Row>): React.JSX.Element;
3
+ export declare function RbTable<Row extends RbTableBaseRow = RbTableBaseRow>({ id, columns, rows, loading, getRowKey, title, description, toolbarLeft, toolbarRight, showToolbar, toolbarClassName, emptyText, emptyState, className, rootClassName, bodyClassName, size, fill, density, maxHeight, onRowClick, onCellContextMenu, rowClassName, getCellClassName, getRowClassName, checkboxSelection, rowSelectionModel, setRowSelectionModel, onRowSelectionModelChange, isRowSelectable, isDisabledRow, isDisabledCell, disabledColumns, isLockedRow, isLockedCell, lockedColumns, disableRowSelectionOnClick, disableColumnPinning, pinnedColumns, onPinnedColumnsChange, initialState, paginate, paginationMode, paginationModel, setPaginationModel, onPaginationModelChange, rowCount, defaultRowsPerPage, rowsPerPageOptions, resultsLabel, viewAllLabel, prevAriaLabel, nextAriaLabel, footer, footerActions, hideFooter, }: RbTableProps<Row>): React.JSX.Element;
@@ -238,6 +238,42 @@ export type RbTableProps<Row extends RbTableBaseRow = RbTableBaseRow> = {
238
238
  setRowSelectionModel?: (value: RbTableRowId[]) => void;
239
239
  onRowSelectionModelChange?: (value: RbTableRowId[]) => void;
240
240
  isRowSelectable?: (params: RbTableRowParams<Row>) => boolean;
241
+ /**
242
+ * Determina si una fila está deshabilitada (Período cerrado).
243
+ * Las filas deshabilitadas no pueden ser seleccionadas, clickeadas ni interactivas.
244
+ * Visual: opacity-50, cursor-not-allowed, pointer-events-none.
245
+ */
246
+ isDisabledRow?: (params: RbTableRowParams<Row>) => boolean;
247
+ /**
248
+ * Determina si una celda individual está deshabilitada (Período cerrado).
249
+ * Las celdas deshabilitadas no permiten interacción pero mantienen legibilidad.
250
+ * Visual: opacity-50, cursor-not-allowed, pointer-events-none.
251
+ */
252
+ isDisabledCell?: (params: RbTableCellParams<Row>) => boolean;
253
+ /**
254
+ * Lista de claves de columnas deshabilitadas (Período cerrado).
255
+ * Todas las celdas de estas columnas serán deshabilitadas.
256
+ * Visual: opacity-50, cursor-not-allowed, pointer-events-none.
257
+ */
258
+ disabledColumns?: string[];
259
+ /**
260
+ * Determina si una fila está bloqueada (Edición concurrente).
261
+ * Las filas bloqueadas muestran estado de ocupación pero permiten visualización.
262
+ * Visual: fondo #E7E6E4, border-accent y cursor-busy.
263
+ */
264
+ isLockedRow?: (params: RbTableRowParams<Row>) => boolean;
265
+ /**
266
+ * Determina si una celda está bloqueada (Edición concurrente).
267
+ * Las celdas bloqueadas muestran estado de ocupación pero permiten visualización.
268
+ * Visual: fondo #E7E6E4, border-accent y cursor-busy.
269
+ */
270
+ isLockedCell?: (params: RbTableCellParams<Row>) => boolean;
271
+ /**
272
+ * Lista de claves de columnas bloqueadas (Edición concurrente).
273
+ * Todas las celdas de estas columnas mostrarán estado de ocupación.
274
+ * Visual: fondo #E7E6E4, border-accent y cursor-busy.
275
+ */
276
+ lockedColumns?: string[];
241
277
  disableRowSelectionOnClick?: boolean;
242
278
  /** Oculta el menú para fijar columnas sin desactivar el pinning por API. */
243
279
  disableColumnPinning?: boolean;
@@ -15,9 +15,9 @@ export type CalendarioRange = [Dayjs | null, Dayjs | null];
15
15
  export type CalendarioDateFormat = "DD/MM/YYYY" | "MM/DD/YYYY" | "YYYY-MM-DD";
16
16
  interface CalendarioBaseProps {
17
17
  label: string;
18
- disabled: boolean;
19
- white: boolean;
20
- fullWidth: boolean;
18
+ disabled?: boolean;
19
+ white?: boolean;
20
+ fullWidth?: boolean;
21
21
  placeholder?: string;
22
22
  /**
23
23
  * label: mes y año como texto.
@@ -100,7 +100,7 @@ interface CalendarioBaseProps {
100
100
  helperText?: React.ReactNode;
101
101
  }
102
102
  export interface CalendarioSingleProps extends CalendarioBaseProps {
103
- selectionMode?: "single";
103
+ selectionMode?: "single" | undefined;
104
104
  initialValue: Dayjs | null;
105
105
  value: Dayjs | null;
106
106
  setValue: (newValue: Dayjs | null) => void;