gantt-lib 0.82.0 → 0.83.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.
package/dist/styles.css CHANGED
@@ -776,7 +776,6 @@
776
776
  top: 0;
777
777
  z-index: 15;
778
778
  background-color: var(--gantt-cell-background, #ffffff);
779
- border-right: 1px solid var(--gantt-grid-line-color, #e0e0e0);
780
779
  display: flex;
781
780
  flex-direction: column;
782
781
  flex-shrink: 0;
@@ -784,6 +783,17 @@
784
783
  width: var(--tasklist-width);
785
784
  min-width: var(--tasklist-width);
786
785
  }
786
+ .gantt-tl-overlay::after {
787
+ content: "";
788
+ position: absolute;
789
+ top: 0;
790
+ right: 0;
791
+ bottom: 0;
792
+ z-index: 6;
793
+ width: 1px;
794
+ background: var(--gantt-grid-line-color, #e0e0e0);
795
+ pointer-events: none;
796
+ }
787
797
  .gantt-tl-overlay.gantt-tl-overlay-shadowed {
788
798
  box-shadow: 10px 0 18px -14px rgba(15, 23, 42, 0.45);
789
799
  }
@@ -2114,6 +2124,9 @@
2114
2124
  background: var(--gantt-cell-background, #ffffff);
2115
2125
  border-right: 1px solid var(--gantt-grid-line-color, #e0e0e0);
2116
2126
  }
2127
+ .gantt-resourceTimeline-resourceColumnShadowed {
2128
+ box-shadow: 10px 0 18px -14px rgba(15, 23, 42, 0.45);
2129
+ }
2117
2130
  .gantt-resourceTimeline-corner {
2118
2131
  position: sticky;
2119
2132
  top: 0;
@@ -2146,6 +2159,71 @@
2146
2159
  .gantt-resourceTimeline-resourceHeaderActions {
2147
2160
  text-align: right;
2148
2161
  }
2162
+ .gantt-resourceTimeline-resourceGroupHeader {
2163
+ display: flex;
2164
+ align-items: center;
2165
+ gap: 6px;
2166
+ padding: 0 10px;
2167
+ box-sizing: border-box;
2168
+ border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
2169
+ background: #f7f8fa;
2170
+ color: #44546f;
2171
+ }
2172
+ .gantt-resourceTimeline-resourceGroupTitle {
2173
+ min-width: 0;
2174
+ overflow: hidden;
2175
+ text-overflow: ellipsis;
2176
+ white-space: nowrap;
2177
+ font-size: 12px;
2178
+ font-weight: 700;
2179
+ line-height: 1;
2180
+ }
2181
+ .gantt-resourceTimeline-resourceGroupCount {
2182
+ flex: 0 0 auto;
2183
+ min-width: 18px;
2184
+ height: 18px;
2185
+ padding: 0 5px;
2186
+ border-radius: 9px;
2187
+ background: #dfe1e6;
2188
+ color: #42526e;
2189
+ font-size: 11px;
2190
+ font-weight: 700;
2191
+ line-height: 18px;
2192
+ text-align: center;
2193
+ }
2194
+ .gantt-resourceTimeline-resourceGroupAddButton {
2195
+ display: inline-flex;
2196
+ align-items: center;
2197
+ justify-content: center;
2198
+ flex: 0 0 auto;
2199
+ width: 22px;
2200
+ height: 22px;
2201
+ margin-left: auto;
2202
+ border: 0;
2203
+ border-radius: 4px;
2204
+ background: transparent;
2205
+ color: #2563eb;
2206
+ cursor: pointer;
2207
+ font: inherit;
2208
+ font-size: 18px;
2209
+ font-weight: 700;
2210
+ line-height: 1;
2211
+ opacity: 0;
2212
+ transition:
2213
+ background-color 120ms ease,
2214
+ color 120ms ease,
2215
+ opacity 120ms ease;
2216
+ }
2217
+ .gantt-resourceTimeline-resourceGroupHeader:hover .gantt-resourceTimeline-resourceGroupAddButton,
2218
+ .gantt-resourceTimeline-resourceGroupHeader:focus-within .gantt-resourceTimeline-resourceGroupAddButton {
2219
+ opacity: 1;
2220
+ }
2221
+ .gantt-resourceTimeline-resourceGroupAddButton:hover,
2222
+ .gantt-resourceTimeline-resourceGroupAddButton:focus-visible {
2223
+ background: #deebff;
2224
+ color: #0747a6;
2225
+ outline: none;
2226
+ }
2149
2227
  .gantt-resourceTimeline-resourceHeader {
2150
2228
  display: grid;
2151
2229
  grid-template-columns: 30px minmax(146px, 1fr) 80px 86px 32px;
@@ -2185,25 +2263,30 @@
2185
2263
  line-height: 1.25;
2186
2264
  }
2187
2265
  .gantt-resourceTimeline-resourceName {
2266
+ position: relative;
2188
2267
  min-width: 0;
2189
2268
  display: flex;
2190
2269
  align-items: flex-start;
2191
2270
  gap: 6px;
2192
2271
  min-height: 32px;
2272
+ height: 100%;
2193
2273
  overflow: visible;
2194
2274
  font-size: 13px;
2195
2275
  line-height: 1.25;
2196
2276
  padding: 0 6px;
2197
2277
  overflow-wrap: anywhere;
2198
2278
  }
2199
- .gantt-resourceTimeline-resourceNameInput {
2279
+ .gantt-resourceTimeline-resourceNameButton {
2280
+ display: flex;
2281
+ align-self: stretch;
2282
+ align-items: flex-start;
2283
+ justify-content: flex-start;
2200
2284
  width: 100%;
2201
2285
  min-width: 0;
2202
- height: 34px;
2203
- min-height: 34px;
2204
- resize: none;
2205
- border: 1px solid transparent;
2206
- border-radius: 4px;
2286
+ height: 100%;
2287
+ min-height: 32px;
2288
+ border: 0;
2289
+ border-radius: 0;
2207
2290
  background: transparent;
2208
2291
  color: #172b4d;
2209
2292
  font: inherit;
@@ -2211,23 +2294,27 @@
2211
2294
  font-weight: 500;
2212
2295
  line-height: 1.25;
2213
2296
  overflow: hidden;
2214
- padding: 2px 4px;
2215
- text-overflow: ellipsis;
2297
+ padding: 2px 4px 0;
2298
+ text-align: left;
2299
+ vertical-align: top;
2300
+ cursor: pointer;
2216
2301
  white-space: normal;
2217
2302
  overflow-wrap: anywhere;
2218
2303
  }
2219
- .gantt-resourceTimeline-resourceNameInput:hover:not(:disabled) {
2220
- background: #ffffff;
2221
- border-color: #dfe1e6;
2304
+ .gantt-resourceTimeline-resourceNameButton:hover,
2305
+ .gantt-resourceTimeline-resourceNameButton:focus-visible {
2306
+ outline: none;
2222
2307
  }
2223
- .gantt-resourceTimeline-resourceNameInput:focus {
2224
- background: #ffffff;
2225
- border-color: #4c9aff;
2308
+ .gantt-resourceTimeline-resourceNameButton:focus-visible {
2226
2309
  box-shadow: 0 0 0 2px rgba(76, 154, 255, 0.22);
2227
- outline: none;
2228
2310
  }
2229
- .gantt-resourceTimeline-resourceNameInput:disabled {
2230
- opacity: 1;
2311
+ .gantt-resourceTimeline-resourceNameInput {
2312
+ top: 0;
2313
+ left: 36px;
2314
+ width: 100%;
2315
+ min-width: 520px;
2316
+ height: 32px;
2317
+ font-size: 0.8rem;
2231
2318
  }
2232
2319
  .gantt-resourceTimeline-resourceTypeIconButton {
2233
2320
  display: inline-flex;
@@ -2336,7 +2423,7 @@
2336
2423
  flex-direction: column;
2337
2424
  align-items: flex-start;
2338
2425
  justify-content: center;
2339
- gap: 1px;
2426
+ gap: 3px;
2340
2427
  justify-self: start;
2341
2428
  margin-top: 0;
2342
2429
  max-width: calc(100% - 16px);
@@ -2352,22 +2439,43 @@
2352
2439
  white-space: nowrap;
2353
2440
  }
2354
2441
  .gantt-resourceTimeline-resourceAssignmentCount {
2355
- display: inline-flex;
2442
+ display: grid;
2443
+ grid-template-columns: 28px 22px;
2356
2444
  align-items: center;
2357
- gap: 4px;
2358
- color: #6b778c;
2445
+ column-gap: 4px;
2446
+ width: 100%;
2447
+ color: #97a0af;
2359
2448
  font-size: 11px;
2360
2449
  font-weight: 500;
2361
2450
  }
2362
2451
  .gantt-resourceTimeline-resourceAssignmentIcon {
2363
- flex: 0 0 auto;
2452
+ justify-self: start;
2453
+ width: 14px;
2364
2454
  fill: currentColor;
2365
2455
  stroke: none;
2456
+ opacity: 0.72;
2366
2457
  }
2367
2458
  .gantt-resourceTimeline-resourceWorkedDays {
2459
+ display: grid;
2460
+ grid-template-columns: 28px 22px;
2461
+ align-items: center;
2462
+ column-gap: 4px;
2463
+ width: 100%;
2368
2464
  color: #172b4d;
2369
2465
  font-size: 12px;
2370
2466
  font-weight: 700;
2467
+ margin-bottom: 1px;
2468
+ }
2469
+ .gantt-resourceTimeline-resourceMetricValue {
2470
+ display: inline-block;
2471
+ width: 28px;
2472
+ text-align: right;
2473
+ font-variant-numeric: tabular-nums;
2474
+ }
2475
+ .gantt-resourceTimeline-resourceMetricLabel {
2476
+ width: 22px;
2477
+ padding-left: 2px;
2478
+ text-align: left;
2371
2479
  }
2372
2480
  .gantt-resourceTimeline-resourceOptionMenu {
2373
2481
  min-width: 156px !important;
@@ -2556,12 +2664,13 @@
2556
2664
  z-index: 2;
2557
2665
  background: var(--gantt-cell-background, #ffffff);
2558
2666
  border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
2667
+ box-sizing: border-box;
2559
2668
  }
2560
2669
  .gantt-resourceTimeline-grid {
2561
2670
  position: relative;
2562
2671
  }
2563
2672
  .gantt-resourceTimeline .gantt-ti-indicator {
2564
- z-index: 4;
2673
+ z-index: 40;
2565
2674
  }
2566
2675
  .gantt-resourceTimeline-row {
2567
2676
  position: absolute;
@@ -2571,6 +2680,9 @@
2571
2680
  border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
2572
2681
  pointer-events: none;
2573
2682
  }
2683
+ .gantt-resourceTimeline-groupRow {
2684
+ background: #f7f8fa;
2685
+ }
2574
2686
  .gantt-resourceTimeline-item {
2575
2687
  position: absolute;
2576
2688
  z-index: 1;
@@ -2612,6 +2724,10 @@
2612
2724
  transform: translate(-50%, -100%);
2613
2725
  visibility: visible;
2614
2726
  }
2727
+ .gantt-resourceTimeline-item:hover,
2728
+ .gantt-resourceTimeline-item:focus-visible {
2729
+ z-index: 30;
2730
+ }
2615
2731
  .gantt-resourceTimeline-itemActive {
2616
2732
  z-index: 31;
2617
2733
  box-shadow: 0px 0 0px 2px rgb(0 0 0);
@@ -2786,6 +2902,7 @@
2786
2902
  z-index: 10;
2787
2903
  background-color: var(--gantt-cell-background, #ffffff);
2788
2904
  border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
2905
+ box-sizing: border-box;
2789
2906
  }
2790
2907
  .gantt-taskArea {
2791
2908
  position: relative;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-lib",
3
- "version": "0.82.0",
3
+ "version": "0.83.0",
4
4
  "description": "Lightweight React Gantt chart component library",
5
5
  "license": "MIT",
6
6
  "repository": {