@cardenelabs/cdl 0.66.0 → 0.68.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/CHANGELOG.md +90 -1
- package/dist/index.cjs +119 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +119 -84
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +119 -84
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +119 -84
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/kinds/gantt.tsx +136 -51
package/dist/react.js
CHANGED
|
@@ -14434,15 +14434,16 @@ function GanttNode({
|
|
|
14434
14434
|
const x0 = node.cx - node.w / 2;
|
|
14435
14435
|
const y0 = node.cy - node.h / 2;
|
|
14436
14436
|
const tasks = resolveGanttData(node.ganttData ?? [], stateValues);
|
|
14437
|
-
const PAD_TOP2 =
|
|
14437
|
+
const PAD_TOP2 = 46;
|
|
14438
14438
|
const PAD_RIGHT2 = 48;
|
|
14439
|
-
const PAD_BOTTOM2 =
|
|
14439
|
+
const PAD_BOTTOM2 = 26;
|
|
14440
14440
|
const PAD_LEFT2 = 156;
|
|
14441
14441
|
const canvasW = node.w - PAD_LEFT2 - PAD_RIGHT2;
|
|
14442
14442
|
const canvasH = node.h - PAD_TOP2 - PAD_BOTTOM2;
|
|
14443
14443
|
const rowGap = 20;
|
|
14444
14444
|
const rowCount = tasks.length || 1;
|
|
14445
14445
|
const rowH = Math.max(28, (canvasH - rowGap * (rowCount + 1)) / rowCount);
|
|
14446
|
+
const \u5E2F\u306E\u9AD8\u3055 = Math.min(rowH, 30);
|
|
14446
14447
|
const \u4F4D\u7F6E\u306E\u4E0A\u9650 = 1e6;
|
|
14447
14448
|
const \u53CE\u3081\u305F = tasks.map((t) => {
|
|
14448
14449
|
const \u59CB = Math.min(\u4F4D\u7F6E\u306E\u4E0A\u9650, Math.max(0, Number.isFinite(t.startIdx) ? t.startIdx : 0));
|
|
@@ -14468,6 +14469,7 @@ function GanttNode({
|
|
|
14468
14469
|
const \u76EE\u76DB\u308A\u306E\u672C\u6570 = Math.ceil(maxIdx / \u76EE\u76DB\u308A\u306E\u9593\u9694);
|
|
14469
14470
|
const xAt = (idx) => PAD_LEFT2 + idx * cellW;
|
|
14470
14471
|
const yAt = (row) => PAD_TOP2 + rowGap + row * (rowH + rowGap);
|
|
14472
|
+
const \u5E2F\u306E\u4E0A = (row) => yAt(row) + (rowH - \u5E2F\u306E\u9AD8\u3055) / 2;
|
|
14471
14473
|
const \u540D\u524D = { \u6574\u6570\u306E\u958B\u59CB: /* @__PURE__ */ new Map(), \u6574\u6570\u306E\u7D42\u4E86: /* @__PURE__ */ new Map(), \u7AEF\u6570\u306E\u958B\u59CB: /* @__PURE__ */ new Map(), \u7AEF\u6570\u306E\u7D42\u4E86: /* @__PURE__ */ new Map() };
|
|
14472
14474
|
const \u7F6E\u304F = (\u8868, \u4F4D\u7F6E, label) => {
|
|
14473
14475
|
if (label !== "" && Number.isFinite(\u4F4D\u7F6E) && !\u8868.has(\u4F4D\u7F6E)) \u8868.set(\u4F4D\u7F6E, label);
|
|
@@ -14489,6 +14491,7 @@ function GanttNode({
|
|
|
14489
14491
|
const \u5E2F\u306E\u5DE6 = (idx) => xAt(idx) + \u5E2F\u306E\u4F59\u767D / 2;
|
|
14490
14492
|
const \u5E2F\u306E\u53F3 = (idx) => xAt(idx) + cellW - \u5E2F\u306E\u4F59\u767D / 2;
|
|
14491
14493
|
const \u4F38\u3073 = \u9032\u307F\u3092\u7573\u3080(drawing, progress);
|
|
14494
|
+
const \u884C\u306E\u4F38\u3073 = (row) => \u6BB5\u306E\u4F38\u3073(\u4F38\u3073, row + 1, rowCount);
|
|
14492
14495
|
const taskById = new Map(\u6574\u3048\u305F.map((t) => [t.id, t]));
|
|
14493
14496
|
const rowOf = new Map(\u6574\u3048\u305F.map((t, i) => [t.id, i]));
|
|
14494
14497
|
return /* @__PURE__ */ jsxs("g", { transform: `translate(${x0} ${y0})`, children: [
|
|
@@ -14506,6 +14509,43 @@ function GanttNode({
|
|
|
14506
14509
|
strokeWidth: active ? 3 : 1.25
|
|
14507
14510
|
}
|
|
14508
14511
|
),
|
|
14512
|
+
\u6574\u3048\u305F.map(
|
|
14513
|
+
(t, row) => row % 2 === 0 ? null : /* @__PURE__ */ jsx(
|
|
14514
|
+
"rect",
|
|
14515
|
+
{
|
|
14516
|
+
"data-cdl-role": "gantt-row",
|
|
14517
|
+
x: PAD_LEFT2,
|
|
14518
|
+
y: yAt(row) - rowGap / 2,
|
|
14519
|
+
width: canvasW,
|
|
14520
|
+
height: rowH + rowGap,
|
|
14521
|
+
fill: "var(--cdl-surface-sunken, #f4f2ed)",
|
|
14522
|
+
opacity: 0.55
|
|
14523
|
+
},
|
|
14524
|
+
`band-${t.id}`
|
|
14525
|
+
)
|
|
14526
|
+
),
|
|
14527
|
+
/* @__PURE__ */ jsx(
|
|
14528
|
+
"line",
|
|
14529
|
+
{
|
|
14530
|
+
x1: PAD_LEFT2,
|
|
14531
|
+
y1: PAD_TOP2,
|
|
14532
|
+
x2: PAD_LEFT2 + canvasW,
|
|
14533
|
+
y2: PAD_TOP2,
|
|
14534
|
+
stroke: "var(--cdl-divider, #d4d4d8)",
|
|
14535
|
+
strokeWidth: 1
|
|
14536
|
+
}
|
|
14537
|
+
),
|
|
14538
|
+
/* @__PURE__ */ jsx(
|
|
14539
|
+
"line",
|
|
14540
|
+
{
|
|
14541
|
+
x1: PAD_LEFT2,
|
|
14542
|
+
y1: PAD_TOP2,
|
|
14543
|
+
x2: PAD_LEFT2,
|
|
14544
|
+
y2: PAD_TOP2 + canvasH,
|
|
14545
|
+
stroke: "var(--cdl-divider, #d4d4d8)",
|
|
14546
|
+
strokeWidth: 1
|
|
14547
|
+
}
|
|
14548
|
+
),
|
|
14509
14549
|
gridLabels.map(({ \u4F4D\u7F6E: i, label }) => /* @__PURE__ */ jsxs("g", { children: [
|
|
14510
14550
|
/* @__PURE__ */ jsx(
|
|
14511
14551
|
"line",
|
|
@@ -14516,9 +14556,8 @@ function GanttNode({
|
|
|
14516
14556
|
x2: xAt(i),
|
|
14517
14557
|
y2: PAD_TOP2 + canvasH,
|
|
14518
14558
|
stroke: "var(--cdl-divider, #d4d4d8)",
|
|
14519
|
-
strokeWidth:
|
|
14520
|
-
|
|
14521
|
-
opacity: 0.5
|
|
14559
|
+
strokeWidth: 1,
|
|
14560
|
+
opacity: 0.45
|
|
14522
14561
|
}
|
|
14523
14562
|
),
|
|
14524
14563
|
label === "" ? null : /* @__PURE__ */ jsx(
|
|
@@ -14526,7 +14565,7 @@ function GanttNode({
|
|
|
14526
14565
|
{
|
|
14527
14566
|
"data-cdl-role": "gantt-tick",
|
|
14528
14567
|
x: xAt(i) + cellW / 2,
|
|
14529
|
-
y: PAD_TOP2
|
|
14568
|
+
y: PAD_TOP2 - 16,
|
|
14530
14569
|
fontSize: 11,
|
|
14531
14570
|
textAnchor: "middle",
|
|
14532
14571
|
fill: "var(--cdl-text-dim, #5a6270)",
|
|
@@ -14542,14 +14581,14 @@ function GanttNode({
|
|
|
14542
14581
|
x2: xAt(maxIdx),
|
|
14543
14582
|
y2: PAD_TOP2 + canvasH,
|
|
14544
14583
|
stroke: "var(--cdl-divider, #d4d4d8)",
|
|
14545
|
-
strokeWidth:
|
|
14546
|
-
opacity: 0.
|
|
14584
|
+
strokeWidth: 1,
|
|
14585
|
+
opacity: 0.45
|
|
14547
14586
|
}
|
|
14548
14587
|
),
|
|
14549
14588
|
\u6574\u3048\u305F.map((t, row) => /* @__PURE__ */ jsx(
|
|
14550
14589
|
"text",
|
|
14551
14590
|
{
|
|
14552
|
-
x: PAD_LEFT2 -
|
|
14591
|
+
x: PAD_LEFT2 - 16,
|
|
14553
14592
|
y: yAt(row) + rowH / 2 + 4,
|
|
14554
14593
|
fontSize: 12,
|
|
14555
14594
|
textAnchor: "end",
|
|
@@ -14561,89 +14600,85 @@ function GanttNode({
|
|
|
14561
14600
|
)),
|
|
14562
14601
|
\u6574\u3048\u305F.map((t, row) => {
|
|
14563
14602
|
const bx = \u5E2F\u306E\u5DE6(t.startIdx);
|
|
14564
|
-
const by =
|
|
14603
|
+
const by = \u5E2F\u306E\u4E0A(row);
|
|
14565
14604
|
const bw = Math.max(0, \u5E2F\u306E\u53F3(t.endIdx) - bx);
|
|
14566
|
-
|
|
14567
|
-
|
|
14568
|
-
|
|
14569
|
-
|
|
14570
|
-
|
|
14571
|
-
|
|
14572
|
-
|
|
14573
|
-
|
|
14574
|
-
|
|
14575
|
-
|
|
14576
|
-
|
|
14577
|
-
|
|
14578
|
-
|
|
14579
|
-
|
|
14580
|
-
|
|
14581
|
-
|
|
14582
|
-
|
|
14583
|
-
|
|
14584
|
-
|
|
14585
|
-
|
|
14586
|
-
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
|
|
14591
|
-
|
|
14592
|
-
|
|
14593
|
-
|
|
14594
|
-
|
|
14595
|
-
|
|
14596
|
-
|
|
14597
|
-
|
|
14598
|
-
|
|
14599
|
-
`bar-${t.id}`
|
|
14600
|
-
);
|
|
14605
|
+
const \u3053\u306E\u884C = \u884C\u306E\u4F38\u3073(row);
|
|
14606
|
+
const \u4ECA\u306E\u5E45 = drawing ? bw * \u3053\u306E\u884C : bw;
|
|
14607
|
+
return /* @__PURE__ */ jsxs("g", { children: [
|
|
14608
|
+
/* @__PURE__ */ jsx(
|
|
14609
|
+
"rect",
|
|
14610
|
+
{
|
|
14611
|
+
"data-cdl-role": "gantt-bar",
|
|
14612
|
+
"data-cdl-unresolved": t.unresolved ? "true" : void 0,
|
|
14613
|
+
"data-cdl-clipped": "clipped" in t && t.clipped ? "true" : void 0,
|
|
14614
|
+
x: bx,
|
|
14615
|
+
y: by,
|
|
14616
|
+
width: \u4ECA\u306E\u5E45,
|
|
14617
|
+
height: \u5E2F\u306E\u9AD8\u3055,
|
|
14618
|
+
rx: \u5E2F\u306E\u9AD8\u3055 / 2,
|
|
14619
|
+
ry: \u5E2F\u306E\u9AD8\u3055 / 2,
|
|
14620
|
+
fill: toneColor4(t.tone),
|
|
14621
|
+
fillOpacity: 0.9
|
|
14622
|
+
}
|
|
14623
|
+
),
|
|
14624
|
+
t.owner && \u5E2F\u306E\u9AD8\u3055 >= 22 && \u3053\u306E\u884C >= 1 && /* @__PURE__ */ jsx(
|
|
14625
|
+
"text",
|
|
14626
|
+
{
|
|
14627
|
+
"data-cdl-role": "gantt-owner",
|
|
14628
|
+
x: bx + bw / 2,
|
|
14629
|
+
y: by + \u5E2F\u306E\u9AD8\u3055 / 2 + 4,
|
|
14630
|
+
fontSize: 11,
|
|
14631
|
+
textAnchor: "middle",
|
|
14632
|
+
fill: "var(--cdl-node-fill, #ffffff)",
|
|
14633
|
+
fontWeight: 600,
|
|
14634
|
+
children: t.owner
|
|
14635
|
+
}
|
|
14636
|
+
)
|
|
14637
|
+
] }, `bar-${t.id}`);
|
|
14601
14638
|
}),
|
|
14602
14639
|
\u6574\u3048\u305F.filter((t) => t.dependsOn && taskById.has(t.dependsOn)).map((t) => {
|
|
14603
14640
|
const parent = taskById.get(t.dependsOn);
|
|
14604
14641
|
const parentRow = rowOf.get(parent.id);
|
|
14605
14642
|
const childRow = rowOf.get(t.id);
|
|
14606
14643
|
const parentBarRight = \u5E2F\u306E\u53F3(parent.endIdx);
|
|
14607
|
-
const parentMidY = yAt(parentRow) + rowH / 2;
|
|
14608
14644
|
const childBarLeft = \u5E2F\u306E\u5DE6(t.startIdx);
|
|
14609
|
-
const
|
|
14610
|
-
const
|
|
14611
|
-
const
|
|
14612
|
-
const
|
|
14613
|
-
const
|
|
14614
|
-
const
|
|
14615
|
-
const
|
|
14616
|
-
const
|
|
14617
|
-
const
|
|
14618
|
-
const
|
|
14619
|
-
const
|
|
14620
|
-
|
|
14621
|
-
|
|
14622
|
-
|
|
14623
|
-
|
|
14624
|
-
|
|
14625
|
-
|
|
14626
|
-
|
|
14627
|
-
|
|
14628
|
-
|
|
14629
|
-
|
|
14630
|
-
|
|
14631
|
-
|
|
14632
|
-
|
|
14633
|
-
|
|
14634
|
-
|
|
14635
|
-
|
|
14636
|
-
|
|
14637
|
-
|
|
14638
|
-
|
|
14639
|
-
|
|
14640
|
-
|
|
14641
|
-
|
|
14642
|
-
|
|
14643
|
-
|
|
14644
|
-
|
|
14645
|
-
|
|
14646
|
-
);
|
|
14645
|
+
const \u77E2\u3058\u308A\u306E\u5E45 = 11;
|
|
14646
|
+
const \u77E2\u3058\u308A\u306E\u9AD8\u3055 = 7;
|
|
14647
|
+
const \u4E38\u307F = \u5E2F\u306E\u9AD8\u3055 / 2;
|
|
14648
|
+
const \u89AA\u306E\u5DE6 = \u5E2F\u306E\u5DE6(parent.startIdx);
|
|
14649
|
+
const \u5B50\u306E\u53F3 = \u5E2F\u306E\u53F3(t.endIdx);
|
|
14650
|
+
const \u5BC4\u305B = (\u5DE6, \u53F3) => Math.min(\u4E38\u307F, (\u53F3 - \u5DE6) / 2);
|
|
14651
|
+
const \u51FA\u767AX = parentBarRight - \u5BC4\u305B(\u89AA\u306E\u5DE6, parentBarRight);
|
|
14652
|
+
const \u51FA\u767AY = \u5E2F\u306E\u4E0A(parentRow) + \u5E2F\u306E\u9AD8\u3055;
|
|
14653
|
+
const \u7740\u5730X = childBarLeft + \u5BC4\u305B(childBarLeft, \u5B50\u306E\u53F3);
|
|
14654
|
+
const \u7740\u5730Y = \u5E2F\u306E\u4E0A(childRow);
|
|
14655
|
+
const \u7E26\u306E\u7D42\u308F\u308AY = \u7740\u5730Y - \u77E2\u3058\u308A\u306E\u9AD8\u3055;
|
|
14656
|
+
const \u624B = Math.max(6, (\u7E26\u306E\u7D42\u308F\u308AY - \u51FA\u767AY) * 0.55);
|
|
14657
|
+
const path = `M ${\u51FA\u767AX} ${\u51FA\u767AY} C ${\u51FA\u767AX} ${\u51FA\u767AY + \u624B}, ${\u7740\u5730X} ${\u7E26\u306E\u7D42\u308F\u308AY - \u624B}, ${\u7740\u5730X} ${\u7E26\u306E\u7D42\u308F\u308AY}`;
|
|
14658
|
+
const arrowHeadPath = `M ${\u7740\u5730X} ${\u7740\u5730Y} L ${\u7740\u5730X - \u77E2\u3058\u308A\u306E\u5E45 / 2} ${\u7E26\u306E\u7D42\u308F\u308AY} L ${\u7740\u5730X + \u77E2\u3058\u308A\u306E\u5E45 / 2} ${\u7E26\u306E\u7D42\u308F\u308AY} Z`;
|
|
14659
|
+
return drawing && !(\u884C\u306E\u4F38\u3073(parentRow) >= 1 && \u884C\u306E\u4F38\u3073(childRow) >= 1) ? null : /* @__PURE__ */ jsxs("g", { "data-cdl-role": "gantt-arrow", children: [
|
|
14660
|
+
/* @__PURE__ */ jsx(
|
|
14661
|
+
"path",
|
|
14662
|
+
{
|
|
14663
|
+
d: path,
|
|
14664
|
+
fill: "none",
|
|
14665
|
+
stroke: "var(--cdl-text-mute, #8a8678)",
|
|
14666
|
+
strokeWidth: 2.4,
|
|
14667
|
+
strokeLinejoin: "round",
|
|
14668
|
+
strokeLinecap: "round"
|
|
14669
|
+
}
|
|
14670
|
+
),
|
|
14671
|
+
/* @__PURE__ */ jsx(
|
|
14672
|
+
"path",
|
|
14673
|
+
{
|
|
14674
|
+
d: arrowHeadPath,
|
|
14675
|
+
fill: "var(--cdl-text-mute, #8a8678)",
|
|
14676
|
+
stroke: "var(--cdl-text-mute, #8a8678)",
|
|
14677
|
+
strokeWidth: 0.5,
|
|
14678
|
+
strokeLinejoin: "round"
|
|
14679
|
+
}
|
|
14680
|
+
)
|
|
14681
|
+
] }, `dep-${parent.id}-${t.id}`);
|
|
14647
14682
|
})
|
|
14648
14683
|
] });
|
|
14649
14684
|
}
|