velox-grid 0.11.0

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +483 -0
  2. package/README.md +755 -0
  3. package/dist/react/index.esm.js +3757 -0
  4. package/dist/react/index.esm.js.map +1 -0
  5. package/dist/react/index.js +7 -0
  6. package/dist/react/index.js.map +1 -0
  7. package/dist/react/react/VeloxGridReact.d.ts +33 -0
  8. package/dist/react/react/VeloxGridReact.d.ts.map +1 -0
  9. package/dist/react/react/index.d.ts +9 -0
  10. package/dist/react/react/index.d.ts.map +1 -0
  11. package/dist/react/react/types.d.ts +52 -0
  12. package/dist/react/react/types.d.ts.map +1 -0
  13. package/dist/react/react/useVeloxGrid.d.ts +23 -0
  14. package/dist/react/react/useVeloxGrid.d.ts.map +1 -0
  15. package/dist/react/types/index.d.ts +878 -0
  16. package/dist/react/types/index.d.ts.map +1 -0
  17. package/dist/types/core/GridColumnMenu.d.ts +35 -0
  18. package/dist/types/core/GridColumnMenu.d.ts.map +1 -0
  19. package/dist/types/core/GridDragManager.d.ts +83 -0
  20. package/dist/types/core/GridDragManager.d.ts.map +1 -0
  21. package/dist/types/core/GridEditorFactory.d.ts +33 -0
  22. package/dist/types/core/GridEditorFactory.d.ts.map +1 -0
  23. package/dist/types/core/GridFilterPopup.d.ts +43 -0
  24. package/dist/types/core/GridFilterPopup.d.ts.map +1 -0
  25. package/dist/types/core/GridHistory.d.ts +84 -0
  26. package/dist/types/core/GridHistory.d.ts.map +1 -0
  27. package/dist/types/core/GridRenderer.d.ts +73 -0
  28. package/dist/types/core/GridRenderer.d.ts.map +1 -0
  29. package/dist/types/core/GridSummary.d.ts +98 -0
  30. package/dist/types/core/GridSummary.d.ts.map +1 -0
  31. package/dist/types/core/GridTooltip.d.ts +43 -0
  32. package/dist/types/core/GridTooltip.d.ts.map +1 -0
  33. package/dist/types/core/GridValidator.d.ts +63 -0
  34. package/dist/types/core/GridValidator.d.ts.map +1 -0
  35. package/dist/types/core/VeloxGrid.d.ts +437 -0
  36. package/dist/types/core/VeloxGrid.d.ts.map +1 -0
  37. package/dist/types/core/index.d.ts +15 -0
  38. package/dist/types/core/index.d.ts.map +1 -0
  39. package/dist/types/index.d.ts +16 -0
  40. package/dist/types/index.d.ts.map +1 -0
  41. package/dist/types/react/VeloxGridReact.d.ts +40 -0
  42. package/dist/types/react/VeloxGridReact.d.ts.map +1 -0
  43. package/dist/types/react/index.d.ts +9 -0
  44. package/dist/types/react/index.d.ts.map +1 -0
  45. package/dist/types/react/types.d.ts +55 -0
  46. package/dist/types/react/types.d.ts.map +1 -0
  47. package/dist/types/react/useVeloxGrid.d.ts +54 -0
  48. package/dist/types/react/useVeloxGrid.d.ts.map +1 -0
  49. package/dist/types/types/index.d.ts +878 -0
  50. package/dist/types/types/index.d.ts.map +1 -0
  51. package/dist/types/utils/data.d.ts +41 -0
  52. package/dist/types/utils/data.d.ts.map +1 -0
  53. package/dist/types/utils/dom.d.ts +13 -0
  54. package/dist/types/utils/dom.d.ts.map +1 -0
  55. package/dist/types/utils/export.d.ts +60 -0
  56. package/dist/types/utils/export.d.ts.map +1 -0
  57. package/dist/types/utils/index.d.ts +4 -0
  58. package/dist/types/utils/index.d.ts.map +1 -0
  59. package/dist/types/vue/index.d.ts +9 -0
  60. package/dist/types/vue/index.d.ts.map +1 -0
  61. package/dist/types/vue/types.d.ts +68 -0
  62. package/dist/types/vue/types.d.ts.map +1 -0
  63. package/dist/types/vue/useVeloxGrid.d.ts +49 -0
  64. package/dist/types/vue/useVeloxGrid.d.ts.map +1 -0
  65. package/dist/velox-grid.css +1 -0
  66. package/dist/velox-grid.esm.js +3387 -0
  67. package/dist/velox-grid.esm.js.map +1 -0
  68. package/dist/velox-grid.iife.js +14 -0
  69. package/dist/velox-grid.iife.js.map +1 -0
  70. package/dist/velox-grid.js +14 -0
  71. package/dist/velox-grid.js.map +1 -0
  72. package/dist/vue/index.esm.js +3754 -0
  73. package/dist/vue/index.esm.js.map +1 -0
  74. package/dist/vue/index.js +7 -0
  75. package/dist/vue/index.js.map +1 -0
  76. package/dist/vue/types/index.d.ts +878 -0
  77. package/dist/vue/types/index.d.ts.map +1 -0
  78. package/dist/vue/vue/index.d.ts +9 -0
  79. package/dist/vue/vue/index.d.ts.map +1 -0
  80. package/dist/vue/vue/types.d.ts +65 -0
  81. package/dist/vue/vue/types.d.ts.map +1 -0
  82. package/dist/vue/vue/useVeloxGrid.d.ts +21 -0
  83. package/dist/vue/vue/useVeloxGrid.d.ts.map +1 -0
  84. package/package.json +120 -0
@@ -0,0 +1,437 @@
1
+ /**
2
+ * VeloxGrid - Core Grid Class v6.0
3
+ *
4
+ * A lightweight, high-performance data grid library
5
+ *
6
+ * Architecture:
7
+ * - Modular design with delegated components
8
+ * - GridRenderer: Rendering (header, body, cells)
9
+ * - GridFilterPopup: Filter UI
10
+ * - GridColumnMenu: Column context menu
11
+ * - GridDragManager: Column/Row drag & resize
12
+ * - GridHistory: Undo/Redo management
13
+ * - Column caching for performance
14
+ */
15
+ import type { GridOptions, GridState, RowData, ColumnDefinition, SortState, SortDirection, FilterState, FilterCondition, CellValue, VeloxGridInstance, GridEvents, FilterOperator, CellIndex, Selection, ExportOptions, UndoAction, GridContext, RowStateType, ChangesResult, PaginationState } from '../types';
16
+ import { type ImportResult } from '../utils/export';
17
+ export declare class VeloxGrid implements VeloxGridInstance, GridContext {
18
+ private container;
19
+ private options;
20
+ private state;
21
+ private events;
22
+ private gridId;
23
+ rootElement: HTMLElement;
24
+ headerElement: HTMLElement;
25
+ bodyElement: HTMLElement;
26
+ bodyInner: HTMLElement;
27
+ footerElement: HTMLElement | null;
28
+ fixedLeftFooter: HTMLElement | null;
29
+ loadingOverlay: HTMLElement | null;
30
+ fixedLeftContainer: HTMLElement | null;
31
+ fixedLeftHeader: HTMLElement | null;
32
+ fixedLeftBody: HTMLElement | null;
33
+ fixedLeftBodyInner: HTMLElement | null;
34
+ fixedRightContainer: HTMLElement | null;
35
+ fixedRightHeader: HTMLElement | null;
36
+ fixedRightBody: HTMLElement | null;
37
+ fixedRightBodyInner: HTMLElement | null;
38
+ fixedRightFooter: HTMLElement | null;
39
+ paginationContainer: HTMLElement | null;
40
+ private infiniteScrollLoading;
41
+ private infiniteScrollAllLoaded;
42
+ private blockSelecting;
43
+ private measureCanvas;
44
+ private measureContext;
45
+ private boundHandleBlockSelectionEnd;
46
+ private boundHandleKeyDown;
47
+ private virtualState;
48
+ private dataIndexMap;
49
+ private columnCache;
50
+ private history;
51
+ private tooltip;
52
+ private editModeCleanup;
53
+ private renderer;
54
+ private filterPopupManager;
55
+ private columnMenuManager;
56
+ private dragManager;
57
+ private summary;
58
+ constructor(container: HTMLElement | string, options: GridOptions, events?: GridEvents);
59
+ rebuildDataIndexMap(): void;
60
+ initCheckableRows(): void;
61
+ invalidateColumnCache(): void;
62
+ /**
63
+ * Get special columns with displayOrder
64
+ * Phase 14.1: Helper method to generate special columns sorted by displayOrder
65
+ */
66
+ private getSpecialColumnsWithOrder;
67
+ /**
68
+ * Get fixed left columns
69
+ * Phase 14: Only include special columns when fixedOptions.colCount > 0
70
+ * Phase 14.1: Sort special columns by displayOrder
71
+ *
72
+ * Logic:
73
+ * - If colCount = 0: Fixed left is empty (special columns go to scrollable)
74
+ * - If colCount > 0: Fixed left = special columns (sorted by displayOrder) + first N data columns
75
+ */
76
+ getFixedLeftColumns(): ColumnDefinition[];
77
+ /**
78
+ * Get columns fixed to right (based on fixedOptions.rightCount)
79
+ * Phase 14: New method for right fixed columns
80
+ */
81
+ getFixedRightColumns(): ColumnDefinition[];
82
+ /**
83
+ * Get scrollable columns (middle area between fixed left and fixed right)
84
+ * Phase 14: Include special columns when colCount = 0
85
+ * Phase 14.1: Sort special columns by displayOrder
86
+ *
87
+ * Logic:
88
+ * - If colCount = 0: Scrollable = special columns (sorted by displayOrder) + all data columns (except fixed right)
89
+ * - If colCount > 0: Scrollable = middle data columns only (between fixed left and fixed right)
90
+ */
91
+ getScrollableColumns(): ColumnDefinition[];
92
+ /**
93
+ * Get data columns (exclude special columns)
94
+ * Phase 14: Helper method to filter out special columns
95
+ */
96
+ private getDataColumns;
97
+ /**
98
+ * Check if column is special (CheckBar, RowNumbers, DragHandle)
99
+ * Phase 14: Helper method to identify special columns
100
+ */
101
+ private isSpecialColumn;
102
+ getVisibleColumns(): ColumnDefinition[];
103
+ /**
104
+ * Check if grid has fixed left columns
105
+ * Phase 14: Only true when fixedOptions.colCount > 0
106
+ */
107
+ hasFixedLeft(): boolean;
108
+ /**
109
+ * Check if grid has fixed right columns
110
+ * Phase 14: New method for hasFixedRight
111
+ */
112
+ hasFixedRight(): boolean;
113
+ private build;
114
+ private buildLoadingOverlay;
115
+ calculateVirtualState(): void;
116
+ getVisibleRows(): {
117
+ data: RowData;
118
+ index: number;
119
+ }[];
120
+ render(): void;
121
+ renderHeader(): void;
122
+ renderBody(): void;
123
+ updateLoadingState(): void;
124
+ showFilterPopup(column: ColumnDefinition, anchor: HTMLElement): void;
125
+ closeFilterPopup(): void;
126
+ applyColumnFilter(field: string, operator: FilterOperator, value: CellValue): void;
127
+ removeColumnFilter(field: string): void;
128
+ private scrollHandlers;
129
+ private wheelHandler;
130
+ private detachEvents;
131
+ private attachEvents;
132
+ handleSort(field: string): void;
133
+ handleRowClick(rowIndex: number, e: MouseEvent): void;
134
+ handleRowSelection(rowIndex: number, e: MouseEvent): void;
135
+ handleCellClick(rowIndex: number, field: string, value: CellValue, e: MouseEvent): void;
136
+ handleCellSelection(rowIndex: number, field: string, e: MouseEvent): void;
137
+ selectCellRange(startRow: number, startField: string, endRow: number, endField: string): void;
138
+ startBlockSelection(rowIndex: number, field: string): void;
139
+ updateBlockSelection(rowIndex: number, field: string): void;
140
+ handleBlockSelectionEnd(): void;
141
+ handleRowDoubleClick(rowIndex: number, _e: MouseEvent): void;
142
+ handleKeyDown(e: KeyboardEvent): void;
143
+ private selectAllCells;
144
+ startResize(e: MouseEvent, column: ColumnDefinition): void;
145
+ applyDataTransformations(): void;
146
+ /**
147
+ * Clear all selection state (rows, cells, focused cell)
148
+ * Extracted to reduce code duplication
149
+ */
150
+ clearSelectionState(): void;
151
+ getData(): RowData[];
152
+ setData(data: RowData[]): void;
153
+ getRow(index: number): RowData | null;
154
+ getRowCount(): number;
155
+ getVisibleRowCount(): number;
156
+ addRow(row: RowData, index?: number): void;
157
+ updateRow(index: number, data: Partial<RowData>): void;
158
+ removeRow(index: number): void;
159
+ clearData(): void;
160
+ getSelectedRows(): number[];
161
+ getSelectedData(): RowData[];
162
+ selectRow(index: number, selected?: boolean): void;
163
+ selectAll(selected?: boolean): void;
164
+ clearSelection(): void;
165
+ isRowSelected(index: number): boolean;
166
+ selectCell(rowIndex: number, field: string, selected?: boolean): void;
167
+ getSelectedCells(): CellIndex[];
168
+ setFocusedCell(rowIndex: number, field: string): void;
169
+ getFocusedCell(): CellIndex | null;
170
+ setSelection(selection: Selection): void;
171
+ getSelection(): Selection | null;
172
+ getSelectionData(): CellValue[][];
173
+ checkItem(index: number, checked?: boolean): void;
174
+ checkItems(indices: number[], checked?: boolean): void;
175
+ checkAll(checked?: boolean): void;
176
+ uncheckAll(): void;
177
+ getCheckedItems(): number[];
178
+ getCheckedData(): RowData[];
179
+ isItemChecked(index: number): boolean;
180
+ isItemCheckable(index: number): boolean;
181
+ checkRow(index: number, checked?: boolean): void;
182
+ getCheckedRows(): number[];
183
+ sort(field: string, direction?: SortDirection): void;
184
+ clearSort(): void;
185
+ getSortState(): SortState[];
186
+ filter(conditions: FilterCondition | FilterCondition[]): void;
187
+ clearFilter(): void;
188
+ getFilterState(): FilterState | null;
189
+ startEdit(rowIndex: number, field: string): void;
190
+ renderEditCell(rowIndex: number, field: string, value: CellValue): void;
191
+ endEdit(save?: boolean): void;
192
+ cancelEdit(): void;
193
+ isEditing(): boolean;
194
+ /**
195
+ * End edit and move to adjacent cell (Phase 9)
196
+ */
197
+ private endEditAndMove;
198
+ getColumn(field: string): ColumnDefinition | null;
199
+ setColumnWidth(field: string, width: number): void;
200
+ showColumn(field: string): void;
201
+ hideColumn(field: string): void;
202
+ setColumns(columns: ColumnDefinition[]): void;
203
+ autoFitColumn(field: string): void;
204
+ autoFitAllColumns(): void;
205
+ measureTextWidth(text: string, font?: string): number;
206
+ scrollToRow(index: number): void;
207
+ scrollToTop(): void;
208
+ scrollToBottom(): void;
209
+ scrollToCell(rowIndex: number, field: string): void;
210
+ copy(): void;
211
+ paste(): void;
212
+ cut(): void;
213
+ pushUndo(action: UndoAction): void;
214
+ undo(): boolean;
215
+ redo(): boolean;
216
+ canUndo(): boolean;
217
+ canRedo(): boolean;
218
+ clearHistory(): void;
219
+ deleteSelectedCells(): void;
220
+ deleteSelectedRows(): void;
221
+ private createExportContext;
222
+ /**
223
+ * Export grid data to Excel (.xlsx) file
224
+ * Requires SheetJS library to be loaded via CDN:
225
+ * <script src="https://cdn.sheetjs.com/xlsx-0.20.1/package/dist/xlsx.full.min.js"></script>
226
+ */
227
+ exportToExcel(options?: ExportOptions): void;
228
+ /**
229
+ * Export grid data to CSV format
230
+ * @returns CSV string
231
+ */
232
+ exportToCSV(options?: ExportOptions): string;
233
+ /**
234
+ * Export grid data to JSON format
235
+ * @returns JSON string
236
+ */
237
+ exportToJSON(options?: ExportOptions): string;
238
+ /**
239
+ * Download grid data as CSV file
240
+ */
241
+ downloadCSV(options?: ExportOptions): void;
242
+ /**
243
+ * Download grid data as JSON file
244
+ */
245
+ downloadJSON(options?: ExportOptions): void;
246
+ /**
247
+ * Import data from CSV string
248
+ * @param csvString CSV content
249
+ * @param hasHeader Whether first row is header (default: true)
250
+ */
251
+ importFromCSV(csvString: string, hasHeader?: boolean): ImportResult;
252
+ /**
253
+ * Import data from Excel file
254
+ * Requires SheetJS library to be loaded via CDN
255
+ * @param file Excel file (File object)
256
+ * @param sheetIndex Sheet index to import (default: 0)
257
+ */
258
+ importFromExcel(file: File, sheetIndex?: number): Promise<ImportResult>;
259
+ /**
260
+ * Check if SheetJS library is available for Excel operations
261
+ */
262
+ static isExcelSupported(): boolean;
263
+ getCellValue(rowIndex: number, field: string): CellValue;
264
+ setCellValue(rowIndex: number, field: string, value: CellValue): void;
265
+ /**
266
+ * Get summary value for a specific field
267
+ * @param field Column field name
268
+ * @returns Calculated summary value
269
+ */
270
+ getSummaryValue(field: string): CellValue;
271
+ /**
272
+ * Get all summary values
273
+ * @returns Object with field names as keys and summary values
274
+ */
275
+ getSummaryValues(): Record<string, CellValue>;
276
+ /**
277
+ * Refresh summary calculations (clear cache)
278
+ */
279
+ refreshSummary(): void;
280
+ setOptions(options: Partial<GridOptions>): void;
281
+ getOptions(): GridOptions;
282
+ setLoading(loading: boolean): void;
283
+ refresh(): void;
284
+ /**
285
+ * Fix/unfix column to a position
286
+ */
287
+ fixColumn(field: string, position: 'left' | 'right' | false): void;
288
+ /**
289
+ * Reorder column to new position
290
+ */
291
+ reorderColumn(sourceField: string, targetField: string): void;
292
+ showColumnMenu(column: ColumnDefinition, anchor: HTMLElement): void;
293
+ closeColumnMenu(): void;
294
+ startColumnDrag(e: MouseEvent, column: ColumnDefinition): void;
295
+ /**
296
+ * Move row to new position
297
+ */
298
+ moveRow(fromIndex: number, toIndex: number): void;
299
+ startRowDrag(e: MouseEvent, rowIndex: number, rowElement: HTMLElement): void;
300
+ /** GridContext: 그리드 상태 반환 */
301
+ getState(): GridState;
302
+ /** GridContext: 이벤트 핸들러 반환 */
303
+ getEvents(): GridEvents;
304
+ /** GridContext: 그리드 고유 ID 반환 */
305
+ getGridId(): string;
306
+ /** GridContext: 표시 데이터 반환 */
307
+ getDisplayData(): RowData[];
308
+ /** GridContext: 가상 스크롤 상태 반환 */
309
+ getVirtualState(): typeof this.virtualState;
310
+ /** GridContext: 이벤트 발행 헬퍼 */
311
+ emitEvent<K extends keyof GridEvents>(event: K, ...args: Parameters<NonNullable<GridEvents[K]>>): void;
312
+ /** GridContext: Block selection 상태 확인 */
313
+ isBlockSelecting(): boolean;
314
+ /** GridContext: Tooltip 표시 */
315
+ showTooltip(cell: HTMLElement, value: CellValue, rowData: RowData, column: ColumnDefinition): void;
316
+ /** GridContext: Tooltip 숨기기 */
317
+ hideTooltip(): void;
318
+ /**
319
+ * Set fixed columns options
320
+ * @param options - Fixed options (colCount, rightCount)
321
+ */
322
+ setFixedOptions(options: import('../types').FixedOptions): void;
323
+ /**
324
+ * Rebuild DOM structure and re-attach events
325
+ * Phase 14: For dynamic fixed columns
326
+ */
327
+ private rebuildDOM;
328
+ /**
329
+ * Get current fixed columns options
330
+ * @returns Fixed options
331
+ */
332
+ getFixedOptions(): import('../types').FixedOptions;
333
+ /**
334
+ * Get row state by display index
335
+ * @param index - Display index (in displayData array)
336
+ * @returns Row state type
337
+ */
338
+ getRowState(index: number): RowStateType;
339
+ /**
340
+ * Get row state by row data object
341
+ * @param row - Row data object
342
+ * @returns Row state type
343
+ */
344
+ getRowStateByData(row: RowData): RowStateType;
345
+ /**
346
+ * Set row state manually
347
+ * @param index - Display index
348
+ * @param state - New state
349
+ */
350
+ setRowState(index: number, state: RowStateType): void;
351
+ /**
352
+ * Get all changes (created, updated, deleted rows)
353
+ * @returns Changes result with separated arrays
354
+ */
355
+ getChanges(): ChangesResult;
356
+ /**
357
+ * Get newly created rows
358
+ * @returns Array of created rows
359
+ */
360
+ getCreatedRows(): RowData[];
361
+ /**
362
+ * Get updated rows
363
+ * @returns Array of updated rows
364
+ */
365
+ getUpdatedRows(): RowData[];
366
+ /**
367
+ * Get deleted rows (marked for deletion)
368
+ * @returns Array of deleted rows
369
+ */
370
+ getDeletedRows(): RowData[];
371
+ /**
372
+ * Clear all row states (reset to 'none')
373
+ */
374
+ clearRowStates(): void;
375
+ /**
376
+ * Commit changes (mark all rows as 'none')
377
+ * This is typically called after successfully saving changes to server
378
+ */
379
+ commit(): void;
380
+ /**
381
+ * Remote 데이터 소스 여부 확인
382
+ */
383
+ isRemoteDataSource(): boolean;
384
+ /**
385
+ * 페이지네이션 상태 조회
386
+ */
387
+ getPaginationState(): PaginationState;
388
+ /**
389
+ * 특정 페이지로 이동
390
+ * @param page - 이동할 페이지 번호 (1-based)
391
+ */
392
+ goToPage(page: number): void;
393
+ /**
394
+ * 페이지 크기 변경
395
+ * @param pageSize - 새 페이지 크기
396
+ */
397
+ setPageSize(pageSize: number): void;
398
+ /**
399
+ * 서버에서 데이터 가져오기 (remote 모드)
400
+ */
401
+ fetchData(): Promise<void>;
402
+ /**
403
+ * 전체 페이지 수 재계산
404
+ */
405
+ private updateTotalPages;
406
+ /**
407
+ * 로컬 데이터에 페이지네이션 적용
408
+ * sort/filter 적용 후 현재 페이지 데이터만 displayData에 설정
409
+ */
410
+ private applyLocalPagination;
411
+ /**
412
+ * Infinite Scroll: 스크롤 바닥 감지 (Phase 18)
413
+ */
414
+ private checkInfiniteScroll;
415
+ /**
416
+ * Infinite Scroll: 다음 페이지 로드 (Phase 18)
417
+ */
418
+ private loadNextPage;
419
+ /**
420
+ * Local Infinite Scroll: 다음 페이지 데이터 추가 (Phase 18)
421
+ */
422
+ private applyLocalInfiniteScroll;
423
+ /**
424
+ * Infinite Scroll 상태 표시 렌더링 (Phase 18)
425
+ */
426
+ private renderInfiniteScrollStatus;
427
+ /**
428
+ * Pagination UI 렌더링 (Phase 18)
429
+ */
430
+ private renderPagination;
431
+ /**
432
+ * 페이지 버튼 생성 헬퍼 (Phase 18)
433
+ */
434
+ private createPageButton;
435
+ destroy(): void;
436
+ }
437
+ //# sourceMappingURL=VeloxGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VeloxGrid.d.ts","sourceRoot":"","sources":["../../../src/core/VeloxGrid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * VeloxGrid Core Module Exports
3
+ */
4
+ export { VeloxGrid } from './VeloxGrid';
5
+ export { GridHistory } from './GridHistory';
6
+ export { GridValidator } from './GridValidator';
7
+ export { GridEditorFactory } from './GridEditorFactory';
8
+ export { GridTooltip } from './GridTooltip';
9
+ export { GridRenderer } from './GridRenderer';
10
+ export { GridFilterPopup } from './GridFilterPopup';
11
+ export { GridColumnMenu } from './GridColumnMenu';
12
+ export { GridDragManager } from './GridDragManager';
13
+ export { GridSummary } from './GridSummary';
14
+ export type { HistoryOptions } from './GridHistory';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * VeloxGrid
3
+ * A fast, lightweight, and framework-agnostic data grid library
4
+ *
5
+ * @author bumki
6
+ * @license MIT
7
+ * @version 0.9.1
8
+ */
9
+ export { VeloxGrid } from './core';
10
+ export type { ValueType, CellValue, RowData, ColumnDefinition, GridOptions, SortDirection, SortState, FilterOperator, FilterCondition, FilterState, SelectionState, SelectionMode, SelectionStyle, CellIndex, Selection, CheckBarOptions, CheckBarState, RowNumbersOptions, RowDragOptions, RowStateType, RowStateManager, ChangesResult, EditState, CellEditEvent, ExportOptions, ImportResult, GridEvents, VeloxGridInstance, GridState, RenderContext, } from './types';
11
+ export { createElement, addClass, removeClass, toggleClass, hasClass, setStyles, throttle, debounce, } from './utils/dom';
12
+ export { deepClone, generateId, formatValue, parseValue, compareValues, sortData, filterData, escapeHtml, } from './utils/data';
13
+ export { exportToExcel, exportToCSV, exportToJSON, downloadFile, downloadCSV, downloadJSON, parseCSV, importFromExcel, importFromExcelBySheetName, isSheetJSAvailable, type ExportContext, } from './utils/export';
14
+ import './styles/velox-grid.css';
15
+ export declare const VERSION = "0.11.0";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,YAAY,EAEV,SAAS,EACT,SAAS,EACT,OAAO,EAGP,gBAAgB,EAGhB,WAAW,EAGX,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,EAGX,cAAc,EACd,aAAa,EACb,cAAc,EACd,SAAS,EACT,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EAGd,YAAY,EACZ,eAAe,EACf,aAAa,EAGb,SAAS,EACT,aAAa,EAGb,aAAa,EACb,YAAY,EAGZ,UAAU,EAGV,iBAAiB,EAGjB,SAAS,EACT,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,yBAAyB,CAAC;AAGjC,eAAO,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * VeloxGrid React Component
3
+ * @description React wrapper for VeloxGrid
4
+ * Phase 17: Framework Wrappers (React)
5
+ *
6
+ * GridOptions를 Props로 전달하고, GridEvents를 콜백으로 바인딩합니다.
7
+ * ref를 통해 VeloxGrid 인스턴스의 모든 public 메서드에 접근할 수 있습니다.
8
+ */
9
+ import type { VeloxGridReactProps, VeloxGridReactRef } from './types';
10
+ /**
11
+ * VeloxGridReact 컴포넌트
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { VeloxGridReact } from 'velox-grid/react';
16
+ *
17
+ * function App() {
18
+ * const gridRef = useRef<VeloxGridReactRef>(null);
19
+ *
20
+ * return (
21
+ * <VeloxGridReact
22
+ * ref={gridRef}
23
+ * columns={[
24
+ * { field: 'name', header: 'Name', width: 150 },
25
+ * { field: 'age', header: 'Age', type: 'number', width: 80 },
26
+ * ]}
27
+ * data={[
28
+ * { name: 'Alice', age: 30 },
29
+ * { name: 'Bob', age: 25 },
30
+ * ]}
31
+ * height={400}
32
+ * editable={true}
33
+ * onCellEditEnd={(e) => console.log('Edit:', e)}
34
+ * />
35
+ * );
36
+ * }
37
+ * ```
38
+ */
39
+ export declare const VeloxGridReact: import("react").ForwardRefExoticComponent<VeloxGridReactProps & import("react").RefAttributes<VeloxGridReactRef>>;
40
+ //# sourceMappingURL=VeloxGridReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VeloxGridReact.d.ts","sourceRoot":"","sources":["../../../src/react/VeloxGridReact.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA6EtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,mHAyN1B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * VeloxGrid React Wrapper
3
+ * @description React component and hook for VeloxGrid
4
+ * Phase 17: Framework Wrappers (React)
5
+ */
6
+ export { VeloxGridReact } from './VeloxGridReact';
7
+ export { useVeloxGrid } from './useVeloxGrid';
8
+ export type { VeloxGridReactProps, VeloxGridReactRef } from './types';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * VeloxGrid React Wrapper Types
3
+ * Phase 17: Framework Wrappers (React)
4
+ */
5
+ import type { GridOptions, GridEvents, VeloxGridInstance } from '../types';
6
+ /**
7
+ * VeloxGridReact 컴포넌트 Props
8
+ * GridOptions의 모든 옵션을 Props로 전달할 수 있으며,
9
+ * GridEvents의 모든 이벤트를 콜백 Props로 전달할 수 있습니다.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * <VeloxGridReact
14
+ * columns={columns}
15
+ * data={data}
16
+ * height={400}
17
+ * editable={true}
18
+ * onCellEditEnd={(e) => console.log(e)}
19
+ * />
20
+ * ```
21
+ */
22
+ export interface VeloxGridReactProps extends GridOptions, GridEvents {
23
+ /**
24
+ * 컨테이너에 적용할 CSS 클래스
25
+ * GridOptions.className과 별개로 wrapper div에 적용됩니다.
26
+ */
27
+ wrapperClassName?: string;
28
+ /**
29
+ * 컨테이너에 적용할 인라인 스타일
30
+ */
31
+ wrapperStyle?: React.CSSProperties;
32
+ }
33
+ /**
34
+ * VeloxGridReact ref를 통해 접근 가능한 메서드
35
+ * VeloxGridInstance의 모든 메서드를 포함합니다.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * const gridRef = useRef<VeloxGridReactRef>(null);
40
+ *
41
+ * // 데이터 조회
42
+ * const data = gridRef.current?.getData();
43
+ *
44
+ * // 행 추가
45
+ * gridRef.current?.addRow({ name: 'New', value: 100 });
46
+ * ```
47
+ */
48
+ export interface VeloxGridReactRef extends VeloxGridInstance {
49
+ /**
50
+ * 내부 VeloxGrid 인스턴스에 직접 접근
51
+ * 일반적으로 ref 메서드를 사용하되, 고급 시나리오에서 사용
52
+ */
53
+ getGridInstance(): VeloxGridInstance | null;
54
+ }
55
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,UAAU;IAClE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D;;;OAGG;IACH,eAAe,IAAI,iBAAiB,GAAG,IAAI,CAAC;CAC7C"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * useVeloxGrid Hook
3
+ * @description VeloxGrid 인스턴스를 React에서 편리하게 사용하기 위한 Hook
4
+ * Phase 17: Framework Wrappers (React)
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * import { useVeloxGrid } from 'velox-grid/react';
9
+ *
10
+ * function App() {
11
+ * const { containerRef, grid } = useVeloxGrid({
12
+ * columns: [
13
+ * { field: 'name', header: 'Name' },
14
+ * { field: 'age', header: 'Age', type: 'number' },
15
+ * ],
16
+ * data: [{ name: 'Alice', age: 30 }],
17
+ * height: 400,
18
+ * editable: true,
19
+ * onCellEditEnd: (e) => console.log(e),
20
+ * });
21
+ *
22
+ * return (
23
+ * <div>
24
+ * <button onClick={() => grid?.addRow({ name: 'New', age: 0 })}>
25
+ * Add Row
26
+ * </button>
27
+ * <div ref={containerRef} />
28
+ * </div>
29
+ * );
30
+ * }
31
+ * ```
32
+ */
33
+ import type { GridOptions, GridEvents, VeloxGridInstance } from '../types';
34
+ type UseVeloxGridOptions = GridOptions & Partial<GridEvents>;
35
+ interface UseVeloxGridReturn {
36
+ /** 그리드가 마운트될 컨테이너 ref (div에 연결) */
37
+ containerRef: React.RefObject<HTMLDivElement | null>;
38
+ /** VeloxGrid 인스턴스 (초기화 전 null) */
39
+ grid: VeloxGridInstance | null;
40
+ /** 그리드 초기화 여부 */
41
+ isReady: boolean;
42
+ }
43
+ /**
44
+ * useVeloxGrid Hook
45
+ *
46
+ * GridOptions + GridEvents를 받아서 VeloxGrid 인스턴스를 생성하고 관리합니다.
47
+ * containerRef를 div에 연결하면 자동으로 그리드가 초기화됩니다.
48
+ *
49
+ * @param options - GridOptions와 GridEvents를 합친 옵션 객체
50
+ * @returns containerRef, grid 인스턴스, isReady 상태
51
+ */
52
+ export declare function useVeloxGrid(options: UseVeloxGridOptions): UseVeloxGridReturn;
53
+ export {};
54
+ //# sourceMappingURL=useVeloxGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVeloxGrid.d.ts","sourceRoot":"","sources":["../../../src/react/useVeloxGrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3E,KAAK,mBAAmB,GAAG,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE7D,UAAU,kBAAkB;IAC1B,mCAAmC;IACnC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,kCAAkC;IAClC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B,iBAAiB;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAkC7E"}