@xcelsior/ui-spreadsheets 1.0.5 → 1.0.7

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.mts CHANGED
@@ -377,10 +377,10 @@ interface SpreadsheetCellProps {
377
377
  rightOffset?: number;
378
378
  /** Callback when cell is clicked */
379
379
  onClick?: (event: React$1.MouseEvent) => void;
380
- /** Callback when cell value changes */
380
+ /** Callback when cell value changes (only called on blur/confirm, not during typing) */
381
381
  onChange?: (newValue: any) => void;
382
- /** Callback when editing is confirmed */
383
- onConfirm?: () => void;
382
+ /** Callback when editing is confirmed, receives the final value */
383
+ onConfirm?: (finalValue?: any) => void;
384
384
  /** Callback when editing is cancelled */
385
385
  onCancel?: () => void;
386
386
  /** Callback to copy value down */
@@ -560,24 +560,10 @@ declare namespace Spreadsheet {
560
560
  }
561
561
 
562
562
  /**
563
- * SpreadsheetCell component - A single cell in the spreadsheet table.
564
- * Supports static display, inline editing, and various cell interactions.
565
- *
566
- * @example
567
- * ```tsx
568
- * <SpreadsheetCell
569
- * value="John Doe"
570
- * column={{ id: 'name', label: 'Name', editable: true }}
571
- * row={rowData}
572
- * rowIndex={0}
573
- * rowId="1"
574
- * isEditable={true}
575
- * onClick={handleClick}
576
- * onChange={handleChange}
577
- * />
578
- * ```
563
+ * Memoized SpreadsheetCell to prevent unnecessary re-renders
564
+ * Only re-renders when props that affect this specific cell change
579
565
  */
580
- declare const SpreadsheetCell: React$1.FC<SpreadsheetCellProps>;
566
+ declare const MemoizedSpreadsheetCell: React$1.NamedExoticComponent<SpreadsheetCellProps>;
581
567
 
582
568
  /**
583
569
  * SpreadsheetHeader component - A column header cell with sorting, filtering, and pinning capabilities.
@@ -684,4 +670,4 @@ interface SpreadsheetSettingsModalProps {
684
670
  */
685
671
  declare const SpreadsheetSettingsModal: React.FC<SpreadsheetSettingsModalProps>;
686
672
 
687
- export { type CellComment, type CellHighlight, type CellPosition, type PaginationState, type RowAction, type SelectionState, Spreadsheet, SpreadsheetCell, type SpreadsheetCellProps, type SpreadsheetColumn, type SpreadsheetColumnFilter, type SpreadsheetColumnGroup, type SpreadsheetColumnGroupHeaderProps, SpreadsheetFilterDropdown, type SpreadsheetFilterDropdownProps, SpreadsheetHeader, type SpreadsheetHeaderProps, type SpreadsheetProps, type SpreadsheetSettings, SpreadsheetSettingsModal, type SpreadsheetSortConfig, type SpreadsheetState, SpreadsheetToolbar, type SpreadsheetToolbarProps };
673
+ export { type CellComment, type CellHighlight, type CellPosition, type PaginationState, type RowAction, type SelectionState, Spreadsheet, MemoizedSpreadsheetCell as SpreadsheetCell, type SpreadsheetCellProps, type SpreadsheetColumn, type SpreadsheetColumnFilter, type SpreadsheetColumnGroup, type SpreadsheetColumnGroupHeaderProps, SpreadsheetFilterDropdown, type SpreadsheetFilterDropdownProps, SpreadsheetHeader, type SpreadsheetHeaderProps, type SpreadsheetProps, type SpreadsheetSettings, SpreadsheetSettingsModal, type SpreadsheetSortConfig, type SpreadsheetState, SpreadsheetToolbar, type SpreadsheetToolbarProps };
package/dist/index.d.ts CHANGED
@@ -377,10 +377,10 @@ interface SpreadsheetCellProps {
377
377
  rightOffset?: number;
378
378
  /** Callback when cell is clicked */
379
379
  onClick?: (event: React$1.MouseEvent) => void;
380
- /** Callback when cell value changes */
380
+ /** Callback when cell value changes (only called on blur/confirm, not during typing) */
381
381
  onChange?: (newValue: any) => void;
382
- /** Callback when editing is confirmed */
383
- onConfirm?: () => void;
382
+ /** Callback when editing is confirmed, receives the final value */
383
+ onConfirm?: (finalValue?: any) => void;
384
384
  /** Callback when editing is cancelled */
385
385
  onCancel?: () => void;
386
386
  /** Callback to copy value down */
@@ -560,24 +560,10 @@ declare namespace Spreadsheet {
560
560
  }
561
561
 
562
562
  /**
563
- * SpreadsheetCell component - A single cell in the spreadsheet table.
564
- * Supports static display, inline editing, and various cell interactions.
565
- *
566
- * @example
567
- * ```tsx
568
- * <SpreadsheetCell
569
- * value="John Doe"
570
- * column={{ id: 'name', label: 'Name', editable: true }}
571
- * row={rowData}
572
- * rowIndex={0}
573
- * rowId="1"
574
- * isEditable={true}
575
- * onClick={handleClick}
576
- * onChange={handleChange}
577
- * />
578
- * ```
563
+ * Memoized SpreadsheetCell to prevent unnecessary re-renders
564
+ * Only re-renders when props that affect this specific cell change
579
565
  */
580
- declare const SpreadsheetCell: React$1.FC<SpreadsheetCellProps>;
566
+ declare const MemoizedSpreadsheetCell: React$1.NamedExoticComponent<SpreadsheetCellProps>;
581
567
 
582
568
  /**
583
569
  * SpreadsheetHeader component - A column header cell with sorting, filtering, and pinning capabilities.
@@ -684,4 +670,4 @@ interface SpreadsheetSettingsModalProps {
684
670
  */
685
671
  declare const SpreadsheetSettingsModal: React.FC<SpreadsheetSettingsModalProps>;
686
672
 
687
- export { type CellComment, type CellHighlight, type CellPosition, type PaginationState, type RowAction, type SelectionState, Spreadsheet, SpreadsheetCell, type SpreadsheetCellProps, type SpreadsheetColumn, type SpreadsheetColumnFilter, type SpreadsheetColumnGroup, type SpreadsheetColumnGroupHeaderProps, SpreadsheetFilterDropdown, type SpreadsheetFilterDropdownProps, SpreadsheetHeader, type SpreadsheetHeaderProps, type SpreadsheetProps, type SpreadsheetSettings, SpreadsheetSettingsModal, type SpreadsheetSortConfig, type SpreadsheetState, SpreadsheetToolbar, type SpreadsheetToolbarProps };
673
+ export { type CellComment, type CellHighlight, type CellPosition, type PaginationState, type RowAction, type SelectionState, Spreadsheet, MemoizedSpreadsheetCell as SpreadsheetCell, type SpreadsheetCellProps, type SpreadsheetColumn, type SpreadsheetColumnFilter, type SpreadsheetColumnGroup, type SpreadsheetColumnGroupHeaderProps, SpreadsheetFilterDropdown, type SpreadsheetFilterDropdownProps, SpreadsheetHeader, type SpreadsheetHeaderProps, type SpreadsheetProps, type SpreadsheetSettings, SpreadsheetSettingsModal, type SpreadsheetSortConfig, type SpreadsheetState, SpreadsheetToolbar, type SpreadsheetToolbarProps };