react-open-source-grid 1.5.2 → 1.5.4

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 (89) hide show
  1. package/dist/lib/App.d.ts +3 -0
  2. package/dist/lib/chunk-FG3FLQAE.js +296 -0
  3. package/dist/lib/components/AccessibilityDemo.d.ts +8 -0
  4. package/dist/lib/components/ApiReferencePage.d.ts +2 -0
  5. package/dist/lib/components/BenchmarkDemo.d.ts +2 -0
  6. package/dist/lib/components/CellRenderersDemo.d.ts +16 -0
  7. package/dist/lib/components/CodeBlock.d.ts +10 -0
  8. package/dist/lib/components/ColumnFiltersDemo.d.ts +5 -0
  9. package/dist/lib/components/CompleteApiReferencePage.d.ts +2 -0
  10. package/dist/lib/components/ContextMenuDemo.d.ts +12 -0
  11. package/dist/lib/components/DataGrid/ARCHITECTURE.md.d.ts +288 -0
  12. package/dist/lib/components/DataGrid/AdvancedFilterBuilder.d.ts +12 -0
  13. package/dist/lib/components/DataGrid/CellRenderers.d.ts +64 -0
  14. package/dist/lib/components/DataGrid/ColumnChooser.d.ts +12 -0
  15. package/dist/lib/components/DataGrid/ColumnFilters.d.ts +16 -0
  16. package/dist/lib/components/DataGrid/ContextMenu.d.ts +10 -0
  17. package/dist/lib/components/DataGrid/DataGrid.d.ts +22 -0
  18. package/dist/lib/components/DataGrid/DensityToggle.d.ts +23 -0
  19. package/dist/lib/components/DataGrid/DragHandle.d.ts +7 -0
  20. package/dist/lib/components/DataGrid/DraggableRow.d.ts +14 -0
  21. package/dist/lib/components/DataGrid/ExportMenu.d.ts +12 -0
  22. package/dist/lib/components/DataGrid/FacetedSearch.d.ts +29 -0
  23. package/dist/lib/components/DataGrid/FilteredSearchBar.d.ts +36 -0
  24. package/dist/lib/components/DataGrid/FocusTrap.d.ts +12 -0
  25. package/dist/lib/components/DataGrid/GridApiDemo.d.ts +6 -0
  26. package/dist/lib/components/DataGrid/GridBody.d.ts +42 -0
  27. package/dist/lib/components/DataGrid/GridFooter.d.ts +18 -0
  28. package/dist/lib/components/DataGrid/GridHeader.d.ts +18 -0
  29. package/dist/lib/components/DataGrid/GridPagination.d.ts +10 -0
  30. package/dist/lib/components/DataGrid/GroupByPanel.d.ts +9 -0
  31. package/dist/lib/components/DataGrid/GroupRow.d.ts +31 -0
  32. package/dist/lib/components/DataGrid/InfiniteScrollDataGrid.d.ts +39 -0
  33. package/dist/lib/components/DataGrid/LayoutPresetsManager.d.ts +11 -0
  34. package/dist/lib/components/DataGrid/MarketDataEngine.d.ts +165 -0
  35. package/dist/lib/components/DataGrid/MarketDataGrid.d.ts +33 -0
  36. package/dist/lib/components/DataGrid/MarketDataGridUtils.d.ts +13 -0
  37. package/dist/lib/components/DataGrid/ScreenReaderAnnouncer.d.ts +8 -0
  38. package/dist/lib/components/DataGrid/ServerSideDataSource.d.ts +136 -0
  39. package/dist/lib/components/DataGrid/ThemeSelector.d.ts +12 -0
  40. package/dist/lib/components/DataGrid/Tooltip.d.ts +15 -0
  41. package/dist/lib/components/DataGrid/TreeRow.d.ts +31 -0
  42. package/dist/lib/components/DataGrid/VirtualScroller.d.ts +35 -0
  43. package/dist/lib/components/DataGrid/WebSocketMockFeed.d.ts +121 -0
  44. package/dist/lib/components/DataGrid/aggregationUtils.d.ts +25 -0
  45. package/dist/lib/components/DataGrid/contextMenuUtils.d.ts +36 -0
  46. package/dist/lib/components/DataGrid/demos/TooltipDemo.d.ts +1 -0
  47. package/dist/lib/components/DataGrid/densityModes.d.ts +42 -0
  48. package/dist/lib/components/DataGrid/dragRowUtils.d.ts +98 -0
  49. package/dist/lib/components/DataGrid/exportUtils.d.ts +30 -0
  50. package/dist/lib/components/DataGrid/filterUtils.d.ts +17 -0
  51. package/dist/lib/components/DataGrid/gridApi.d.ts +142 -0
  52. package/dist/lib/components/DataGrid/gridApi.types.d.ts +348 -0
  53. package/dist/lib/components/DataGrid/gridReducer.d.ts +4 -0
  54. package/dist/lib/components/DataGrid/groupingUtils.d.ts +17 -0
  55. package/dist/lib/components/DataGrid/index.d.ts +41 -0
  56. package/dist/lib/components/DataGrid/layoutPersistence.d.ts +95 -0
  57. package/dist/lib/components/DataGrid/themes.d.ts +113 -0
  58. package/dist/lib/components/DataGrid/treeDataUtils.d.ts +97 -0
  59. package/dist/lib/components/DataGrid/types.d.ts +536 -0
  60. package/dist/lib/components/DataGrid/useContextMenu.d.ts +31 -0
  61. package/dist/lib/components/DataGrid/useDensityMode.d.ts +36 -0
  62. package/dist/lib/components/DataGrid/useFocusTrap.d.ts +14 -0
  63. package/dist/lib/components/DataGrid/useMarketData.d.ts +57 -0
  64. package/dist/lib/components/DataGrid/useScreenReaderAnnouncements.d.ts +23 -0
  65. package/dist/lib/components/DataGrid/useTooltip.d.ts +21 -0
  66. package/dist/lib/components/DemoGridPage.d.ts +2 -0
  67. package/dist/lib/components/DensityModeDemo.d.ts +12 -0
  68. package/dist/lib/components/FacetedSearchDemo.d.ts +8 -0
  69. package/dist/lib/components/FeatureGallery.d.ts +2 -0
  70. package/dist/lib/components/FilteredSearchDemo.d.ts +7 -0
  71. package/dist/lib/components/GridApiDemoPage.d.ts +2 -0
  72. package/dist/lib/components/HomePage.d.ts +1 -0
  73. package/dist/lib/components/InfiniteScrollDemo.d.ts +13 -0
  74. package/dist/lib/components/LayoutPersistenceDemo.d.ts +2 -0
  75. package/dist/lib/components/LiveMarketDemo.d.ts +18 -0
  76. package/dist/lib/components/MarketDataExamples.d.ts +42 -0
  77. package/dist/lib/components/RowDraggingDemo.d.ts +3 -0
  78. package/dist/lib/components/RowPinningDemo.d.ts +12 -0
  79. package/dist/lib/components/ThemesDemo.d.ts +17 -0
  80. package/dist/lib/components/TooltipDemo.d.ts +1 -0
  81. package/dist/lib/components/TreeDataDemo.d.ts +3 -0
  82. package/dist/lib/components/VirtualScrollDemo.d.ts +13 -0
  83. package/dist/lib/index.cjs +12233 -0
  84. package/dist/lib/index.css +465 -0
  85. package/dist/lib/index.d.ts +1 -0
  86. package/dist/lib/index.js +11827 -0
  87. package/dist/lib/layoutPersistence-2MPTAEYI.js +20 -0
  88. package/dist/lib/main.d.ts +1 -0
  89. package/package.json +2 -2
@@ -0,0 +1,465 @@
1
+ /* src/components/DataGrid/ContextMenu.css */
2
+ .context-menu {
3
+ position: fixed;
4
+ background: var(--context-menu-bg, #ffffff);
5
+ border: 1px solid var(--context-menu-border, #d0d0d0);
6
+ border-radius: 6px;
7
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
8
+ min-width: 200px;
9
+ max-width: 320px;
10
+ padding: 4px 0;
11
+ z-index: 10000;
12
+ font-family:
13
+ -apple-system,
14
+ BlinkMacSystemFont,
15
+ "Segoe UI",
16
+ Roboto,
17
+ "Helvetica Neue",
18
+ Arial,
19
+ sans-serif;
20
+ font-size: 14px;
21
+ line-height: 1.5;
22
+ color: var(--context-menu-text, #333333);
23
+ user-select: none;
24
+ animation: contextMenuFadeIn 0.12s ease-out;
25
+ }
26
+ @keyframes contextMenuFadeIn {
27
+ from {
28
+ opacity: 0;
29
+ transform: scale(0.95);
30
+ }
31
+ to {
32
+ opacity: 1;
33
+ transform: scale(1);
34
+ }
35
+ }
36
+ .context-menu-item {
37
+ display: flex;
38
+ align-items: center;
39
+ padding: 8px 12px;
40
+ cursor: pointer;
41
+ transition: background-color 0.1s ease;
42
+ gap: 8px;
43
+ position: relative;
44
+ }
45
+ .context-menu-item:hover:not(.disabled) {
46
+ background-color: var(--context-menu-hover-bg, #f0f0f0);
47
+ }
48
+ .context-menu-item:active:not(.disabled) {
49
+ background-color: var(--context-menu-active-bg, #e5e5e5);
50
+ }
51
+ .context-menu-item.disabled {
52
+ opacity: 0.4;
53
+ cursor: not-allowed;
54
+ }
55
+ .context-menu-item.danger {
56
+ color: var(--context-menu-danger, #dc3545);
57
+ }
58
+ .context-menu-item.danger:hover:not(.disabled) {
59
+ background-color: var(--context-menu-danger-hover-bg, #fff0f0);
60
+ }
61
+ .context-menu-icon {
62
+ font-size: 16px;
63
+ width: 20px;
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ flex-shrink: 0;
68
+ }
69
+ .context-menu-label {
70
+ flex: 1;
71
+ white-space: nowrap;
72
+ overflow: hidden;
73
+ text-overflow: ellipsis;
74
+ }
75
+ .context-menu-shortcut {
76
+ font-size: 12px;
77
+ color: var(--context-menu-shortcut, #888888);
78
+ margin-left: auto;
79
+ padding-left: 16px;
80
+ }
81
+ .context-menu-arrow {
82
+ margin-left: auto;
83
+ font-size: 10px;
84
+ color: var(--context-menu-arrow, #888888);
85
+ }
86
+ .context-menu-separator {
87
+ height: 1px;
88
+ background-color: var(--context-menu-separator, #e0e0e0);
89
+ margin: 4px 0;
90
+ }
91
+ @media (prefers-color-scheme: dark) {
92
+ .context-menu {
93
+ --context-menu-bg: #2a2a2a;
94
+ --context-menu-border: #404040;
95
+ --context-menu-text: #e0e0e0;
96
+ --context-menu-hover-bg: #3a3a3a;
97
+ --context-menu-active-bg: #4a4a4a;
98
+ --context-menu-separator: #404040;
99
+ --context-menu-shortcut: #999999;
100
+ --context-menu-arrow: #999999;
101
+ --context-menu-danger: #ff6b6b;
102
+ --context-menu-danger-hover-bg: #3a2a2a;
103
+ }
104
+ }
105
+ .data-grid.theme-quartz .context-menu {
106
+ --context-menu-bg: #ffffff;
107
+ --context-menu-border: #c5c5c5;
108
+ --context-menu-text: #000000;
109
+ --context-menu-hover-bg: #e6f2ff;
110
+ --context-menu-active-bg: #cce5ff;
111
+ }
112
+ .data-grid.theme-alpine .context-menu {
113
+ --context-menu-bg: #f8f9fa;
114
+ --context-menu-border: #dee2e6;
115
+ --context-menu-text: #212529;
116
+ --context-menu-hover-bg: #e9ecef;
117
+ --context-menu-active-bg: #dee2e6;
118
+ }
119
+ .data-grid.theme-balham .context-menu {
120
+ --context-menu-bg: #ffffff;
121
+ --context-menu-border: #bdc3c7;
122
+ --context-menu-text: #2c3e50;
123
+ --context-menu-hover-bg: #ecf0f1;
124
+ --context-menu-active-bg: #d5dbdb;
125
+ }
126
+ .data-grid.theme-material .context-menu {
127
+ --context-menu-bg: #ffffff;
128
+ --context-menu-border: #e0e0e0;
129
+ --context-menu-text: #212121;
130
+ --context-menu-hover-bg: #f5f5f5;
131
+ --context-menu-active-bg: #eeeeee;
132
+ border-radius: 4px;
133
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
134
+ }
135
+ .context-menu-item:focus {
136
+ outline: 2px solid var(--context-menu-focus, #0066cc);
137
+ outline-offset: -2px;
138
+ }
139
+ .context-menu-item:focus:not(:focus-visible) {
140
+ outline: none;
141
+ }
142
+
143
+ /* src/components/DataGrid/MarketDataGrid.css */
144
+ .market-data-grid {
145
+ width: 100%;
146
+ height: 100%;
147
+ overflow: auto;
148
+ font-family:
149
+ -apple-system,
150
+ BlinkMacSystemFont,
151
+ "Segoe UI",
152
+ Roboto,
153
+ Oxygen,
154
+ Ubuntu,
155
+ Cantarell,
156
+ sans-serif;
157
+ font-size: 13px;
158
+ background: #ffffff;
159
+ border: 1px solid #e0e0e0;
160
+ }
161
+ .market-grid-header {
162
+ position: sticky;
163
+ top: 0;
164
+ z-index: 10;
165
+ background: #f5f5f5;
166
+ border-bottom: 2px solid #d0d0d0;
167
+ }
168
+ .market-grid-header-row {
169
+ display: flex;
170
+ min-width: 100%;
171
+ }
172
+ .market-grid-header-cell {
173
+ padding: 10px 12px;
174
+ font-weight: 600;
175
+ color: #333;
176
+ border-right: 1px solid #e0e0e0;
177
+ white-space: nowrap;
178
+ overflow: hidden;
179
+ text-overflow: ellipsis;
180
+ user-select: none;
181
+ }
182
+ .market-grid-header-cell:last-child {
183
+ border-right: none;
184
+ }
185
+ .market-grid-body {
186
+ min-width: 100%;
187
+ }
188
+ .market-grid-row {
189
+ display: flex;
190
+ border-bottom: 1px solid #f0f0f0;
191
+ transition: background-color 0.1s ease;
192
+ cursor: pointer;
193
+ }
194
+ .market-grid-row:hover {
195
+ background-color: #f9f9f9;
196
+ }
197
+ .market-grid-row:active {
198
+ background-color: #f0f0f0;
199
+ }
200
+ .market-grid-cell {
201
+ padding: 8px 12px;
202
+ border-right: 1px solid #f5f5f5;
203
+ white-space: nowrap;
204
+ overflow: hidden;
205
+ text-overflow: ellipsis;
206
+ display: flex;
207
+ align-items: center;
208
+ position: relative;
209
+ }
210
+ .market-grid-cell:last-child {
211
+ border-right: none;
212
+ }
213
+ .numeric-cell {
214
+ justify-content: flex-end;
215
+ font-variant-numeric: tabular-nums;
216
+ font-family:
217
+ "Monaco",
218
+ "Menlo",
219
+ "Consolas",
220
+ monospace;
221
+ }
222
+ @keyframes flashUp {
223
+ 0% {
224
+ background-color: rgba(76, 175, 80, 0);
225
+ }
226
+ 20% {
227
+ background-color: rgba(76, 175, 80, 0.4);
228
+ }
229
+ 100% {
230
+ background-color: rgba(76, 175, 80, 0);
231
+ }
232
+ }
233
+ @keyframes flashDown {
234
+ 0% {
235
+ background-color: rgba(244, 67, 54, 0);
236
+ }
237
+ 20% {
238
+ background-color: rgba(244, 67, 54, 0.4);
239
+ }
240
+ 100% {
241
+ background-color: rgba(244, 67, 54, 0);
242
+ }
243
+ }
244
+ .cell-flash-up {
245
+ animation: flashUp 500ms ease-out;
246
+ }
247
+ .cell-flash-down {
248
+ animation: flashDown 500ms ease-out;
249
+ }
250
+ .change-positive {
251
+ color: #4caf50;
252
+ font-weight: 600;
253
+ }
254
+ .change-negative {
255
+ color: #f44336;
256
+ font-weight: 600;
257
+ }
258
+ .market-grid-cell[data-field=bid] {
259
+ color: #2196f3;
260
+ font-weight: 500;
261
+ }
262
+ .market-grid-cell[data-field=ask] {
263
+ color: #ff5722;
264
+ font-weight: 500;
265
+ }
266
+ .market-grid-cell[data-field=price] {
267
+ font-weight: 700;
268
+ font-size: 14px;
269
+ }
270
+ .market-grid-cell[data-field=volume],
271
+ .market-grid-cell[data-field=size] {
272
+ color: #666;
273
+ font-size: 12px;
274
+ }
275
+ .market-grid-cell[data-field=symbol],
276
+ .market-grid-cell[data-field=id] {
277
+ font-weight: 700;
278
+ color: #1976d2;
279
+ font-family:
280
+ "Monaco",
281
+ "Menlo",
282
+ "Consolas",
283
+ monospace;
284
+ }
285
+ .density-compact .market-grid-header-cell {
286
+ padding: 6px 8px;
287
+ font-size: 12px;
288
+ }
289
+ .density-compact .market-grid-cell {
290
+ padding: 4px 8px;
291
+ font-size: 12px;
292
+ }
293
+ .density-compact .market-grid-cell[data-field=price] {
294
+ font-size: 13px;
295
+ }
296
+ .density-compact .market-grid-row {
297
+ min-height: 28px;
298
+ }
299
+ .market-grid-cell[data-field=high] {
300
+ color: #4caf50;
301
+ }
302
+ .market-grid-cell[data-field=low] {
303
+ color: #f44336;
304
+ }
305
+ .market-data-grid.loading {
306
+ opacity: 0.6;
307
+ pointer-events: none;
308
+ }
309
+ .market-data-grid.loading::after {
310
+ content: "";
311
+ position: absolute;
312
+ top: 50%;
313
+ left: 50%;
314
+ transform: translate(-50%, -50%);
315
+ width: 40px;
316
+ height: 40px;
317
+ border: 4px solid #f3f3f3;
318
+ border-top: 4px solid #2196f3;
319
+ border-radius: 50%;
320
+ animation: spin 1s linear infinite;
321
+ }
322
+ @keyframes spin {
323
+ 0% {
324
+ transform: translate(-50%, -50%) rotate(0deg);
325
+ }
326
+ 100% {
327
+ transform: translate(-50%, -50%) rotate(360deg);
328
+ }
329
+ }
330
+ .market-data-grid.paused {
331
+ border: 2px solid #ff9800;
332
+ }
333
+ .market-data-grid.paused::before {
334
+ content: "PAUSED";
335
+ position: absolute;
336
+ top: 10px;
337
+ right: 10px;
338
+ padding: 4px 12px;
339
+ background: #ff9800;
340
+ color: white;
341
+ border-radius: 4px;
342
+ font-size: 11px;
343
+ font-weight: 700;
344
+ z-index: 1000;
345
+ letter-spacing: 1px;
346
+ }
347
+ .market-data-grid.throttled {
348
+ border: 2px solid #f44336;
349
+ }
350
+ .market-data-grid.throttled::before {
351
+ content: "THROTTLED";
352
+ position: absolute;
353
+ top: 10px;
354
+ right: 10px;
355
+ padding: 4px 12px;
356
+ background: #f44336;
357
+ color: white;
358
+ border-radius: 4px;
359
+ font-size: 11px;
360
+ font-weight: 700;
361
+ z-index: 1000;
362
+ letter-spacing: 1px;
363
+ }
364
+ .market-data-grid::-webkit-scrollbar {
365
+ width: 12px;
366
+ height: 12px;
367
+ }
368
+ .market-data-grid::-webkit-scrollbar-track {
369
+ background: #f5f5f5;
370
+ }
371
+ .market-data-grid::-webkit-scrollbar-thumb {
372
+ background: #ccc;
373
+ border-radius: 6px;
374
+ }
375
+ .market-data-grid::-webkit-scrollbar-thumb:hover {
376
+ background: #999;
377
+ }
378
+ .market-data-wrapper {
379
+ position: relative;
380
+ width: 100%;
381
+ height: 100%;
382
+ }
383
+ .market-metrics-overlay {
384
+ position: absolute;
385
+ top: 10px;
386
+ left: 10px;
387
+ background: rgba(0, 0, 0, 0.75);
388
+ color: #0f0;
389
+ padding: 8px 12px;
390
+ border-radius: 4px;
391
+ font-family:
392
+ "Monaco",
393
+ "Menlo",
394
+ "Consolas",
395
+ monospace;
396
+ font-size: 11px;
397
+ z-index: 1000;
398
+ pointer-events: none;
399
+ line-height: 1.6;
400
+ }
401
+ .market-metrics-overlay .metric {
402
+ display: flex;
403
+ justify-content: space-between;
404
+ gap: 12px;
405
+ }
406
+ .market-metrics-overlay .metric-label {
407
+ color: #888;
408
+ }
409
+ .market-metrics-overlay .metric-value {
410
+ color: #0f0;
411
+ font-weight: 700;
412
+ }
413
+ .market-metrics-overlay .metric-value.warning {
414
+ color: #ff9800;
415
+ }
416
+ .market-metrics-overlay .metric-value.critical {
417
+ color: #f44336;
418
+ }
419
+ .connection-status {
420
+ position: absolute;
421
+ top: 10px;
422
+ right: 120px;
423
+ padding: 4px 10px;
424
+ border-radius: 12px;
425
+ font-size: 11px;
426
+ font-weight: 700;
427
+ z-index: 1000;
428
+ letter-spacing: 0.5px;
429
+ }
430
+ .connection-status.connected {
431
+ background: #4caf50;
432
+ color: white;
433
+ }
434
+ .connection-status.connecting {
435
+ background: #ff9800;
436
+ color: white;
437
+ }
438
+ .connection-status.disconnected {
439
+ background: #f44336;
440
+ color: white;
441
+ }
442
+ .connection-status.reconnecting {
443
+ background: #ff9800;
444
+ color: white;
445
+ animation: pulse 1s ease-in-out infinite;
446
+ }
447
+ @keyframes pulse {
448
+ 0%, 100% {
449
+ opacity: 1;
450
+ }
451
+ 50% {
452
+ opacity: 0.5;
453
+ }
454
+ }
455
+ @media (max-width: 768px) {
456
+ .market-data-grid {
457
+ font-size: 11px;
458
+ }
459
+ .market-grid-cell {
460
+ padding: 6px 8px;
461
+ }
462
+ .market-grid-header-cell {
463
+ padding: 8px 8px;
464
+ }
465
+ }
@@ -0,0 +1 @@
1
+ export * from './components/DataGrid/index';