gantt-lib 0.3.3 → 0.3.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.
package/dist/styles.css CHANGED
@@ -257,254 +257,6 @@
257
257
  --gantt-dependency-cycle-color: #ef4444;
258
258
  --gantt-expired-color: #ef4444;
259
259
  }
260
- .gantt-container {
261
- width: 100%;
262
- font-family:
263
- system-ui,
264
- -apple-system,
265
- BlinkMacSystemFont,
266
- "Segoe UI",
267
- Roboto,
268
- sans-serif;
269
- border: 1px solid var(--gantt-grid-line-color, #e0e0e0);
270
- background-color: var(--gantt-cell-background, #ffffff);
271
- }
272
- .gantt-scrollContainer {
273
- overflow: auto;
274
- }
275
- .gantt-stickyHeader {
276
- position: sticky;
277
- top: 0;
278
- z-index: 10;
279
- background-color: var(--gantt-cell-background, #ffffff);
280
- border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
281
- }
282
- .gantt-taskArea {
283
- position: relative;
284
- background-color: var(--gantt-cell-background, #ffffff);
285
- }
286
- .gantt-tr-row {
287
- position: relative;
288
- width: 100%;
289
- border-bottom: 1px solid var(--gantt-grid-line-color);
290
- box-sizing: border-box;
291
- }
292
- .gantt-tr-row:hover {
293
- background-color: rgba(0, 0, 0, 0.05);
294
- }
295
- .gantt-tr-taskBar {
296
- position: absolute;
297
- top: 50%;
298
- transform: translateY(-50%);
299
- border-radius: var(--gantt-task-bar-border-radius);
300
- display: flex;
301
- align-items: center;
302
- padding: 0 0.5rem;
303
- box-sizing: border-box;
304
- white-space: nowrap;
305
- overflow: visible;
306
- cursor: grab;
307
- }
308
- .gantt-tr-taskBar:hover {
309
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
310
- }
311
- .gantt-tr-taskBar.gantt-tr-dragging {
312
- cursor: grabbing;
313
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
314
- opacity: 1;
315
- transition: none !important;
316
- }
317
- .gantt-tr-taskName {
318
- color: var(--gantt-task-bar-text-color);
319
- font-size: 0.875rem;
320
- font-weight: 500;
321
- white-space: nowrap;
322
- overflow: hidden;
323
- text-overflow: ellipsis;
324
- max-width: 100%;
325
- }
326
- .gantt-tr-taskDuration {
327
- color: var(--gantt-task-bar-text-color);
328
- font-size: 0.875rem;
329
- font-weight: 500;
330
- white-space: nowrap;
331
- margin-right: 4px;
332
- }
333
- .gantt-tr-taskNameHidden {
334
- visibility: hidden;
335
- }
336
- .gantt-tr-rightLabels {
337
- position: absolute;
338
- top: 50%;
339
- transform: translateY(-50%);
340
- display: flex;
341
- align-items: center;
342
- gap: 4px;
343
- pointer-events: none;
344
- }
345
- .gantt-tr-dateLabelRight {
346
- position: static;
347
- margin-right: 0;
348
- }
349
- .gantt-tr-externalTaskName {
350
- font-size: 0.9rem;
351
- font-weight: 500;
352
- color: #00389f;
353
- white-space: nowrap;
354
- user-select: none;
355
- margin-left: 4px;
356
- }
357
- .gantt-tr-resizeHandle {
358
- position: absolute;
359
- top: 0;
360
- width: 8px;
361
- height: 100%;
362
- background-color: rgba(0, 0, 0, 0.1);
363
- cursor: ew-resize;
364
- }
365
- .gantt-tr-resizeHandleLeft {
366
- left: 0;
367
- }
368
- .gantt-tr-resizeHandleRight {
369
- right: 0;
370
- }
371
- .gantt-tr-resizeZoneLeft {
372
- cursor: ew-resize;
373
- }
374
- .gantt-tr-resizeZoneRight {
375
- cursor: ew-resize;
376
- }
377
- .gantt-tr-taskContainer {
378
- position: relative;
379
- width: 100%;
380
- height: 100%;
381
- display: flex;
382
- align-items: center;
383
- }
384
- .gantt-tr-leftLabels {
385
- position: absolute;
386
- top: 50%;
387
- transform: translateY(-50%);
388
- display: flex;
389
- align-items: center;
390
- pointer-events: none;
391
- }
392
- .gantt-tr-dateLabel {
393
- font-size: 0.85rem;
394
- color: #666666;
395
- white-space: nowrap;
396
- pointer-events: none;
397
- user-select: none;
398
- }
399
- .gantt-tr-dateLabelLeft {
400
- position: absolute;
401
- right: 100%;
402
- margin-right: 6px;
403
- top: 50%;
404
- transform: translateY(-50%);
405
- }
406
- .gantt-tsh-header {
407
- display: flex;
408
- flex-direction: column;
409
- background-color: var(--gantt-cell-background);
410
- border-bottom: var(--gantt-week-separator-width, 1px) solid var(--gantt-week-separator-color, #374151);
411
- box-sizing: border-box;
412
- }
413
- .gantt-tsh-monthRow {
414
- display: flex;
415
- border-bottom: var(--gantt-day-line-width, 1px) solid var(--gantt-day-line-color, #f3f4f6);
416
- align-items: center;
417
- }
418
- .gantt-tsh-monthCell {
419
- box-sizing: border-box;
420
- padding: 0.1rem 0.5rem;
421
- font-size: 0.75rem;
422
- font-weight: 600;
423
- color: #1f2937;
424
- border-left: var(--gantt-month-separator-width, 2px) solid var(--gantt-month-separator-color, #a1a1a1);
425
- text-align: left;
426
- }
427
- .gantt-tsh-monthCell:first-child {
428
- border-left: none;
429
- }
430
- .gantt-tsh-dayRow {
431
- display: grid;
432
- box-sizing: border-box;
433
- }
434
- .gantt-tsh-dayCell {
435
- display: flex;
436
- align-items: center;
437
- justify-content: center;
438
- box-sizing: border-box;
439
- }
440
- .gantt-tsh-monthBoundary {
441
- border-left: var(--gantt-month-separator-width, 2px) solid var(--gantt-month-separator-color, #a1a1a1);
442
- }
443
- .gantt-tsh-dayLabel {
444
- font-size: 0.75rem;
445
- font-weight: 500;
446
- color: #374151;
447
- }
448
- .gantt-tsh-weekendDay {
449
- background-color: var(--gantt-weekend-background, #fee2e2);
450
- }
451
- .gantt-tsh-weekendDay .gantt-tsh-dayLabel {
452
- color: #dc2626;
453
- }
454
- .gantt-tsh-today {
455
- background-color: #dc2626;
456
- border-radius: 0 4px 4px 0;
457
- }
458
- .gantt-tsh-today .gantt-tsh-dayLabel {
459
- color: #ffffff;
460
- }
461
- .gantt-gb-gridBackground {
462
- position: absolute;
463
- top: 0;
464
- left: 0;
465
- z-index: 0;
466
- pointer-events: none;
467
- }
468
- .gantt-gb-weekendBlock {
469
- position: absolute;
470
- top: 0;
471
- height: 100%;
472
- background-color: var(--gantt-weekend-background, #fee2e2);
473
- }
474
- .gantt-gb-gridLine {
475
- position: absolute;
476
- top: 0;
477
- height: 100%;
478
- background-color: var(--gantt-day-line-color, #f3f4f6);
479
- }
480
- .gantt-gb-monthSeparator {
481
- width: var(--gantt-month-separator-width, 2px);
482
- background-color: var(--gantt-month-separator-color, #374151);
483
- }
484
- .gantt-gb-weekSeparator {
485
- width: var(--gantt-week-separator-width, 1px);
486
- background-color: var(--gantt-week-separator-color, #d1d5db);
487
- }
488
- .gantt-gb-dayLine {
489
- width: var(--gantt-day-line-width, 1px);
490
- background-color: var(--gantt-day-line-color, #f3f4f6);
491
- }
492
- .gantt-ti-indicator {
493
- position: absolute;
494
- top: 0;
495
- bottom: 0;
496
- z-index: 5;
497
- pointer-events: none;
498
- }
499
- .gantt-dgl-guideLine {
500
- position: absolute;
501
- top: 0;
502
- width: 2px;
503
- background-color: var(--gantt-drag-guide-line-color, #3b82f6);
504
- z-index: 20;
505
- pointer-events: none;
506
- opacity: 0.6;
507
- }
508
260
 
509
261
  /* src/components/TimeScaleHeader/TimeScaleHeader.css */
510
262
  .gantt-tsh-header {
@@ -527,6 +279,8 @@
527
279
  color: #1f2937;
528
280
  border-left: var(--gantt-month-separator-width, 2px) solid var(--gantt-month-separator-color, #a1a1a1);
529
281
  text-align: left;
282
+ text-transform: uppercase;
283
+ letter-spacing: 0.04em;
530
284
  }
531
285
  .gantt-tsh-monthCell:first-child {
532
286
  border-left: none;
@@ -550,20 +304,23 @@
550
304
  color: #374151;
551
305
  }
552
306
  .gantt-tsh-weekendDay {
553
- background-color: var(--gantt-weekend-background, #fee2e2);
307
+ background-color: var(--gantt-weekend-background, #fef3f2);
554
308
  }
555
309
  .gantt-tsh-weekendDay .gantt-tsh-dayLabel {
556
- color: #dc2626;
310
+ color: #ef4444;
557
311
  }
558
312
  .gantt-tsh-today {
559
313
  background-color: #dc2626;
560
- border-radius: 0 4px 4px 0;
314
+ border-radius: 4px 4px 4px 0;
561
315
  }
562
316
  .gantt-tsh-today .gantt-tsh-dayLabel {
563
317
  color: #ffffff;
564
318
  }
565
319
 
566
320
  /* src/components/TaskRow/TaskRow.css */
321
+ :root {
322
+ --gantt-task-bar-border-radius: 6px;
323
+ }
567
324
  .gantt-tr-row {
568
325
  position: relative;
569
326
  width: 100%;
@@ -571,7 +328,7 @@
571
328
  box-sizing: border-box;
572
329
  }
573
330
  .gantt-tr-row:hover {
574
- background-color: rgba(0, 0, 0, 0.05);
331
+ background-color: rgba(59, 130, 246, 0.04);
575
332
  }
576
333
  .gantt-tr-taskBar {
577
334
  position: absolute;
@@ -584,9 +341,11 @@
584
341
  box-sizing: border-box;
585
342
  white-space: nowrap;
586
343
  overflow: hidden;
344
+ transition: box-shadow 0.15s ease;
587
345
  cursor: grab;
588
346
  }
589
347
  .gantt-tr-taskBar:hover {
348
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
590
349
  }
591
350
  .gantt-tr-taskBar.gantt-tr-dragging {
592
351
  cursor: grabbing;
@@ -617,7 +376,7 @@
617
376
  .gantt-tr-externalTaskName {
618
377
  font-size: 0.9rem;
619
378
  font-weight: 500;
620
- color: #00389f;
379
+ color: #2563eb;
621
380
  white-space: nowrap;
622
381
  user-select: none;
623
382
  margin-left: 4px;
@@ -625,9 +384,8 @@
625
384
  .gantt-tr-resizeHandle {
626
385
  position: absolute;
627
386
  top: 0;
628
- width: 8px;
387
+ width: 20px;
629
388
  height: 100%;
630
- background-color: rgba(0, 0, 0, 0.1);
631
389
  cursor: ew-resize;
632
390
  pointer-events: auto;
633
391
  z-index: 10;
@@ -661,7 +419,7 @@
661
419
  }
662
420
  .gantt-tr-dateLabel {
663
421
  font-size: 0.85rem;
664
- color: #666666;
422
+ color: #6b7280;
665
423
  white-space: nowrap;
666
424
  pointer-events: none;
667
425
  user-select: none;
@@ -705,7 +463,7 @@
705
463
  .gantt-tr-externalProgress {
706
464
  font-size: 0.85rem;
707
465
  font-weight: 500;
708
- color: #666666;
466
+ color: #6b7280;
709
467
  white-space: nowrap;
710
468
  margin-right: 4px;
711
469
  margin-left: 4px;
@@ -718,7 +476,7 @@
718
476
  left: 0;
719
477
  width: 100%;
720
478
  height: 0;
721
- border-top: 1px solid #999;
479
+ border-top: 1px solid var(--gantt-grid-line-color, #d1d5db);
722
480
  pointer-events: none;
723
481
  z-index: 0;
724
482
  }
@@ -732,7 +490,7 @@
732
490
  /* src/components/TodayIndicator/TodayIndicator.css */
733
491
  .gantt-ti-indicator {
734
492
  position: absolute;
735
- top: 0;
493
+ top: -1px;
736
494
  bottom: 0;
737
495
  z-index: 5;
738
496
  pointer-events: none;
@@ -855,7 +613,7 @@
855
613
  padding: 0 0.5rem;
856
614
  font-size: 0.75rem;
857
615
  font-weight: 600;
858
- color: #1f2937;
616
+ color: #6b7280;
859
617
  box-sizing: border-box;
860
618
  border-right: 1px solid var(--gantt-grid-line-color, #e0e0e0);
861
619
  }
@@ -873,7 +631,7 @@
873
631
  cursor: pointer;
874
632
  }
875
633
  .gantt-tl-row:hover {
876
- background-color: rgba(0, 0, 0, 0.05);
634
+ background-color: rgba(59, 130, 246, 0.04);
877
635
  }
878
636
  .gantt-tl-row-selected {
879
637
  background-color: rgba(59, 130, 246, 0.15);
@@ -984,7 +742,7 @@
984
742
  gap: 2px;
985
743
  font-size: 0.75rem;
986
744
  font-weight: 600;
987
- color: #1f2937;
745
+ color: #6b7280;
988
746
  background: transparent;
989
747
  border: none;
990
748
  cursor: pointer;
@@ -1033,7 +791,7 @@
1033
791
  gap: 1px;
1034
792
  background-color: rgba(59, 130, 246, 0.12);
1035
793
  border: 1px solid rgba(59, 130, 246, 0.3);
1036
- border-radius: 4px;
794
+ border-radius: 6px;
1037
795
  padding: 4px 4px;
1038
796
  font-size: 0.7rem;
1039
797
  color: #1d4ed8;
@@ -1096,7 +854,7 @@
1096
854
  align-items: center;
1097
855
  background-color: rgba(107, 114, 128, 0.12);
1098
856
  border: 1px solid rgba(107, 114, 128, 0.3);
1099
- border-radius: 4px;
857
+ border-radius: 6px;
1100
858
  padding: 4px 4px;
1101
859
  font-size: 0.7rem;
1102
860
  color: #6b7280;
@@ -1234,6 +992,8 @@
1234
992
  sans-serif;
1235
993
  border: 1px solid var(--gantt-grid-line-color, #e0e0e0);
1236
994
  background-color: var(--gantt-cell-background, #ffffff);
995
+ border-radius: 10px;
996
+ overflow: hidden;
1237
997
  }
1238
998
  .gantt-scrollContainer {
1239
999
  overflow: auto;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-lib",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Lightweight React Gantt chart component library",
5
5
  "license": "MIT",
6
6
  "repository": {