@goplasmatic/dataflow-ui 2.0.14 → 2.0.15
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/dataflow-ui.css +358 -32
- package/dist/index.cjs +5034 -575
- package/dist/index.d.ts +9 -0
- package/dist/index.js +5034 -575
- package/package.json +3 -3
package/dist/dataflow-ui.css
CHANGED
|
@@ -5252,23 +5252,23 @@ svg.react-flow__connectionline {
|
|
|
5252
5252
|
--df-function-validation: #bf8803;
|
|
5253
5253
|
--df-function-custom: #6e6e6e;
|
|
5254
5254
|
|
|
5255
|
-
/* DataLogic UI theme variables (for diagram visualizer) */
|
|
5256
|
-
--bg-primary: #
|
|
5257
|
-
--bg-secondary: #
|
|
5258
|
-
--bg-tertiary: #
|
|
5259
|
-
--bg-hover: #
|
|
5260
|
-
--text-primary: #
|
|
5261
|
-
--text-secondary: #
|
|
5262
|
-
--text-tertiary: #
|
|
5263
|
-
--text-muted: #
|
|
5264
|
-
--border-primary: #
|
|
5265
|
-
--border-light: #
|
|
5255
|
+
/* DataLogic UI theme variables (for diagram visualizer) - must match @goplasmatic/datalogic-ui :root */
|
|
5256
|
+
--bg-primary: #f5f5f5;
|
|
5257
|
+
--bg-secondary: #ffffff;
|
|
5258
|
+
--bg-tertiary: #fafafa;
|
|
5259
|
+
--bg-hover: #f0f0f0;
|
|
5260
|
+
--text-primary: #333333;
|
|
5261
|
+
--text-secondary: #555555;
|
|
5262
|
+
--text-tertiary: #666666;
|
|
5263
|
+
--text-muted: #999999;
|
|
5264
|
+
--border-primary: #e0e0e0;
|
|
5265
|
+
--border-light: #eeeeee;
|
|
5266
5266
|
--accent-blue: #3b82f6;
|
|
5267
5267
|
--accent-blue-hover: #2563eb;
|
|
5268
|
-
--accent-blue-light:
|
|
5268
|
+
--accent-blue-light: #dbeafe;
|
|
5269
5269
|
--accent-amber: #f59e0b;
|
|
5270
|
-
--node-shadow: rgba(0, 0, 0, 0.
|
|
5271
|
-
--node-shadow-hover: rgba(0, 0, 0, 0.
|
|
5270
|
+
--node-shadow: rgba(0, 0, 0, 0.1);
|
|
5271
|
+
--node-shadow-hover: rgba(0, 0, 0, 0.15);
|
|
5272
5272
|
--node-bg: #ffffff;
|
|
5273
5273
|
}
|
|
5274
5274
|
|
|
@@ -5309,24 +5309,24 @@ svg.react-flow__connectionline {
|
|
|
5309
5309
|
--df-function-validation: #dcdcaa;
|
|
5310
5310
|
--df-function-custom: #9d9d9d;
|
|
5311
5311
|
|
|
5312
|
-
/* DataLogic UI theme variables (for diagram visualizer) */
|
|
5313
|
-
--bg-primary: #
|
|
5314
|
-
--bg-secondary: #
|
|
5315
|
-
--bg-tertiary: #
|
|
5316
|
-
--bg-hover: #
|
|
5317
|
-
--text-primary: #
|
|
5318
|
-
--text-secondary: #
|
|
5319
|
-
--text-tertiary: #
|
|
5320
|
-
--text-muted: #
|
|
5321
|
-
--border-primary: #
|
|
5322
|
-
--border-light: #
|
|
5323
|
-
--accent-blue: #
|
|
5324
|
-
--accent-blue-hover: #
|
|
5325
|
-
--accent-blue-light:
|
|
5326
|
-
--accent-amber: #
|
|
5327
|
-
--node-shadow: rgba(0, 0, 0, 0.
|
|
5328
|
-
--node-shadow-hover: rgba(0, 0, 0, 0.
|
|
5329
|
-
--node-bg: #
|
|
5312
|
+
/* DataLogic UI theme variables (for diagram visualizer) - must match @goplasmatic/datalogic-ui [data-theme="dark"] */
|
|
5313
|
+
--bg-primary: #1a1a1a;
|
|
5314
|
+
--bg-secondary: #242424;
|
|
5315
|
+
--bg-tertiary: #2a2a2a;
|
|
5316
|
+
--bg-hover: #333333;
|
|
5317
|
+
--text-primary: #e5e5e5;
|
|
5318
|
+
--text-secondary: #cccccc;
|
|
5319
|
+
--text-tertiary: #b3b3b3;
|
|
5320
|
+
--text-muted: #888888;
|
|
5321
|
+
--border-primary: #404040;
|
|
5322
|
+
--border-light: #333333;
|
|
5323
|
+
--accent-blue: #60a5fa;
|
|
5324
|
+
--accent-blue-hover: #3b82f6;
|
|
5325
|
+
--accent-blue-light: #1e3a5f;
|
|
5326
|
+
--accent-amber: #fbbf24;
|
|
5327
|
+
--node-shadow: rgba(0, 0, 0, 0.3);
|
|
5328
|
+
--node-shadow-hover: rgba(0, 0, 0, 0.4);
|
|
5329
|
+
--node-bg: #2d2d2d;
|
|
5330
5330
|
}
|
|
5331
5331
|
|
|
5332
5332
|
/* Layout and core components */
|
|
@@ -8459,3 +8459,329 @@ svg.react-flow__connectionline {
|
|
|
8459
8459
|
.df-header-with-debug .df-visualizer-left-title {
|
|
8460
8460
|
flex-shrink: 0;
|
|
8461
8461
|
}
|
|
8462
|
+
|
|
8463
|
+
/* Flow diagram styles */
|
|
8464
|
+
|
|
8465
|
+
/* ============================================
|
|
8466
|
+
Flow Diagram Styles
|
|
8467
|
+
Aligned with DataLogic UI ReactFlow styling
|
|
8468
|
+
============================================ */
|
|
8469
|
+
|
|
8470
|
+
.df-flow-diagram {
|
|
8471
|
+
width: 100%;
|
|
8472
|
+
height: 100%;
|
|
8473
|
+
min-height: 300px;
|
|
8474
|
+
background: var(--bg-tertiary);
|
|
8475
|
+
border-radius: 8px;
|
|
8476
|
+
overflow: hidden;
|
|
8477
|
+
position: absolute;
|
|
8478
|
+
top: 0;
|
|
8479
|
+
left: 0;
|
|
8480
|
+
right: 0;
|
|
8481
|
+
bottom: 0;
|
|
8482
|
+
}
|
|
8483
|
+
|
|
8484
|
+
/* ---- ReactFlow Controls ---- */
|
|
8485
|
+
|
|
8486
|
+
.df-flow-diagram .react-flow__controls {
|
|
8487
|
+
box-shadow: 0 2px 8px var(--node-shadow);
|
|
8488
|
+
border-radius: 8px;
|
|
8489
|
+
overflow: hidden;
|
|
8490
|
+
}
|
|
8491
|
+
|
|
8492
|
+
.df-flow-diagram .react-flow__controls-button {
|
|
8493
|
+
background: var(--bg-secondary);
|
|
8494
|
+
border-bottom: 1px solid var(--border-light);
|
|
8495
|
+
fill: var(--text-secondary);
|
|
8496
|
+
color: var(--text-secondary);
|
|
8497
|
+
}
|
|
8498
|
+
|
|
8499
|
+
.df-flow-diagram .react-flow__controls-button:last-child {
|
|
8500
|
+
border-bottom: none;
|
|
8501
|
+
}
|
|
8502
|
+
|
|
8503
|
+
.df-flow-diagram .react-flow__controls-button:hover {
|
|
8504
|
+
background: var(--bg-hover);
|
|
8505
|
+
}
|
|
8506
|
+
|
|
8507
|
+
/* ---- Edges ---- */
|
|
8508
|
+
|
|
8509
|
+
.df-flow-diagram .react-flow__edge-path {
|
|
8510
|
+
stroke-width: 2;
|
|
8511
|
+
}
|
|
8512
|
+
|
|
8513
|
+
.df-flow-diagram .react-flow__edge.selected .react-flow__edge-path {
|
|
8514
|
+
stroke: var(--accent-blue);
|
|
8515
|
+
stroke-width: 3;
|
|
8516
|
+
}
|
|
8517
|
+
|
|
8518
|
+
.df-flow-diagram .react-flow__edge.df-flow-edge-true .react-flow__edge-path {
|
|
8519
|
+
stroke: #22C55E;
|
|
8520
|
+
stroke-width: 2;
|
|
8521
|
+
}
|
|
8522
|
+
|
|
8523
|
+
.df-flow-diagram .react-flow__edge.df-flow-edge-false .react-flow__edge-path {
|
|
8524
|
+
stroke: #EF4444;
|
|
8525
|
+
stroke-width: 2;
|
|
8526
|
+
stroke-dasharray: 6 3;
|
|
8527
|
+
}
|
|
8528
|
+
|
|
8529
|
+
.df-flow-diagram .react-flow__edge-text {
|
|
8530
|
+
font-size: 11px;
|
|
8531
|
+
fill: var(--text-secondary);
|
|
8532
|
+
}
|
|
8533
|
+
|
|
8534
|
+
.df-flow-diagram .react-flow__edge-textbg {
|
|
8535
|
+
fill: var(--bg-secondary);
|
|
8536
|
+
}
|
|
8537
|
+
|
|
8538
|
+
/* ---- Attribution ---- */
|
|
8539
|
+
|
|
8540
|
+
.df-flow-diagram .react-flow__attribution {
|
|
8541
|
+
display: none;
|
|
8542
|
+
}
|
|
8543
|
+
|
|
8544
|
+
/* ---- Handles - hidden but functional ---- */
|
|
8545
|
+
|
|
8546
|
+
.df-flow-handle {
|
|
8547
|
+
width: 10px !important;
|
|
8548
|
+
height: 10px !important;
|
|
8549
|
+
background: var(--border-primary) !important;
|
|
8550
|
+
border: 2px solid white !important;
|
|
8551
|
+
opacity: 1;
|
|
8552
|
+
}
|
|
8553
|
+
|
|
8554
|
+
[data-theme="dark"] .df-flow-handle {
|
|
8555
|
+
border-color: var(--bg-primary) !important;
|
|
8556
|
+
}
|
|
8557
|
+
|
|
8558
|
+
/* ---- Start/End Pill Node ---- */
|
|
8559
|
+
|
|
8560
|
+
.df-flow-pill {
|
|
8561
|
+
display: flex;
|
|
8562
|
+
align-items: center;
|
|
8563
|
+
justify-content: center;
|
|
8564
|
+
padding: 8px 20px;
|
|
8565
|
+
border-radius: 20px;
|
|
8566
|
+
font-size: 13px;
|
|
8567
|
+
font-weight: 500;
|
|
8568
|
+
cursor: default;
|
|
8569
|
+
user-select: none;
|
|
8570
|
+
min-width: 100px;
|
|
8571
|
+
}
|
|
8572
|
+
|
|
8573
|
+
.df-flow-pill-content {
|
|
8574
|
+
display: flex;
|
|
8575
|
+
align-items: center;
|
|
8576
|
+
gap: 6px;
|
|
8577
|
+
}
|
|
8578
|
+
|
|
8579
|
+
.df-flow-pill-start {
|
|
8580
|
+
background: var(--node-bg);
|
|
8581
|
+
border: 2px solid var(--accent-blue);
|
|
8582
|
+
color: var(--accent-blue);
|
|
8583
|
+
}
|
|
8584
|
+
|
|
8585
|
+
.df-flow-pill-end {
|
|
8586
|
+
background: var(--node-bg);
|
|
8587
|
+
border: 2px solid var(--df-success);
|
|
8588
|
+
color: var(--df-success);
|
|
8589
|
+
}
|
|
8590
|
+
|
|
8591
|
+
/* ---- Condition Diamond Node ---- */
|
|
8592
|
+
|
|
8593
|
+
.df-flow-diamond-wrapper {
|
|
8594
|
+
display: flex;
|
|
8595
|
+
align-items: center;
|
|
8596
|
+
justify-content: center;
|
|
8597
|
+
width: 80px;
|
|
8598
|
+
height: 80px;
|
|
8599
|
+
position: relative;
|
|
8600
|
+
}
|
|
8601
|
+
|
|
8602
|
+
.df-flow-diamond {
|
|
8603
|
+
width: 64px;
|
|
8604
|
+
height: 64px;
|
|
8605
|
+
background: var(--node-bg);
|
|
8606
|
+
border: 2px solid var(--accent-amber);
|
|
8607
|
+
transform: rotate(45deg);
|
|
8608
|
+
display: flex;
|
|
8609
|
+
align-items: center;
|
|
8610
|
+
justify-content: center;
|
|
8611
|
+
cursor: pointer;
|
|
8612
|
+
box-shadow: 0 2px 6px var(--node-shadow);
|
|
8613
|
+
}
|
|
8614
|
+
|
|
8615
|
+
.df-flow-diamond:hover {
|
|
8616
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-amber) 25%, transparent);
|
|
8617
|
+
}
|
|
8618
|
+
|
|
8619
|
+
.df-flow-diamond-content {
|
|
8620
|
+
transform: rotate(-45deg);
|
|
8621
|
+
display: flex;
|
|
8622
|
+
flex-direction: column;
|
|
8623
|
+
align-items: center;
|
|
8624
|
+
gap: 2px;
|
|
8625
|
+
color: var(--accent-amber);
|
|
8626
|
+
}
|
|
8627
|
+
|
|
8628
|
+
.df-flow-diamond-label {
|
|
8629
|
+
font-size: 9px;
|
|
8630
|
+
font-weight: 500;
|
|
8631
|
+
text-align: center;
|
|
8632
|
+
line-height: 1.2;
|
|
8633
|
+
white-space: pre-line;
|
|
8634
|
+
max-width: 56px;
|
|
8635
|
+
overflow: hidden;
|
|
8636
|
+
text-overflow: ellipsis;
|
|
8637
|
+
}
|
|
8638
|
+
|
|
8639
|
+
/* Diamond handles positioned at bottom-left and bottom-right */
|
|
8640
|
+
|
|
8641
|
+
.df-flow-diamond-wrapper .df-flow-handle-true {
|
|
8642
|
+
left: 15% !important;
|
|
8643
|
+
}
|
|
8644
|
+
|
|
8645
|
+
.df-flow-diamond-wrapper .df-flow-handle-false {
|
|
8646
|
+
left: 85% !important;
|
|
8647
|
+
}
|
|
8648
|
+
|
|
8649
|
+
/* ---- Task Node ---- */
|
|
8650
|
+
|
|
8651
|
+
.df-flow-task-node {
|
|
8652
|
+
background: var(--node-bg);
|
|
8653
|
+
border: 2px solid var(--border-primary);
|
|
8654
|
+
border-radius: 8px;
|
|
8655
|
+
padding: 10px 14px;
|
|
8656
|
+
min-width: 160px;
|
|
8657
|
+
max-width: 220px;
|
|
8658
|
+
cursor: pointer;
|
|
8659
|
+
transition: box-shadow 0.15s ease, border-color 0.15s ease;
|
|
8660
|
+
box-shadow: 0 2px 6px var(--node-shadow);
|
|
8661
|
+
}
|
|
8662
|
+
|
|
8663
|
+
.df-flow-task-node:hover {
|
|
8664
|
+
border-color: var(--accent-blue);
|
|
8665
|
+
box-shadow: 0 4px 12px var(--node-shadow-hover);
|
|
8666
|
+
}
|
|
8667
|
+
|
|
8668
|
+
.df-flow-task-node-header {
|
|
8669
|
+
display: flex;
|
|
8670
|
+
align-items: center;
|
|
8671
|
+
gap: 6px;
|
|
8672
|
+
margin-bottom: 6px;
|
|
8673
|
+
}
|
|
8674
|
+
|
|
8675
|
+
.df-flow-task-node-name {
|
|
8676
|
+
font-size: 12px;
|
|
8677
|
+
font-weight: 600;
|
|
8678
|
+
color: var(--text-primary);
|
|
8679
|
+
flex: 1;
|
|
8680
|
+
white-space: nowrap;
|
|
8681
|
+
overflow: hidden;
|
|
8682
|
+
text-overflow: ellipsis;
|
|
8683
|
+
}
|
|
8684
|
+
|
|
8685
|
+
.df-flow-task-node-coe {
|
|
8686
|
+
color: var(--accent-amber);
|
|
8687
|
+
display: flex;
|
|
8688
|
+
align-items: center;
|
|
8689
|
+
flex-shrink: 0;
|
|
8690
|
+
}
|
|
8691
|
+
|
|
8692
|
+
.df-flow-task-node-badge {
|
|
8693
|
+
margin-bottom: 4px;
|
|
8694
|
+
}
|
|
8695
|
+
|
|
8696
|
+
.df-flow-task-node-desc {
|
|
8697
|
+
font-size: 10px;
|
|
8698
|
+
color: var(--text-secondary);
|
|
8699
|
+
line-height: 1.3;
|
|
8700
|
+
white-space: nowrap;
|
|
8701
|
+
overflow: hidden;
|
|
8702
|
+
text-overflow: ellipsis;
|
|
8703
|
+
}
|
|
8704
|
+
|
|
8705
|
+
/* ---- Skip Node ---- */
|
|
8706
|
+
|
|
8707
|
+
.df-flow-skip-node {
|
|
8708
|
+
display: flex;
|
|
8709
|
+
align-items: center;
|
|
8710
|
+
gap: 4px;
|
|
8711
|
+
padding: 6px 14px;
|
|
8712
|
+
border-radius: 12px;
|
|
8713
|
+
background: var(--bg-tertiary);
|
|
8714
|
+
border: 1px dashed var(--border-primary);
|
|
8715
|
+
color: var(--text-tertiary);
|
|
8716
|
+
font-size: 11px;
|
|
8717
|
+
cursor: default;
|
|
8718
|
+
user-select: none;
|
|
8719
|
+
}
|
|
8720
|
+
|
|
8721
|
+
/* ---- Workflow Group Node (for group diagrams) ---- */
|
|
8722
|
+
|
|
8723
|
+
.df-flow-wf-group-node {
|
|
8724
|
+
background: var(--node-bg);
|
|
8725
|
+
border: 2px solid var(--border-primary);
|
|
8726
|
+
border-radius: 10px;
|
|
8727
|
+
padding: 12px 16px;
|
|
8728
|
+
min-width: 200px;
|
|
8729
|
+
max-width: 280px;
|
|
8730
|
+
cursor: pointer;
|
|
8731
|
+
transition: box-shadow 0.15s ease, border-color 0.15s ease;
|
|
8732
|
+
box-shadow: 0 2px 6px var(--node-shadow);
|
|
8733
|
+
}
|
|
8734
|
+
|
|
8735
|
+
.df-flow-wf-group-node:hover {
|
|
8736
|
+
border-color: var(--accent-blue);
|
|
8737
|
+
box-shadow: 0 4px 12px var(--node-shadow-hover);
|
|
8738
|
+
}
|
|
8739
|
+
|
|
8740
|
+
.df-flow-wf-group-node-header {
|
|
8741
|
+
display: flex;
|
|
8742
|
+
align-items: center;
|
|
8743
|
+
gap: 8px;
|
|
8744
|
+
margin-bottom: 6px;
|
|
8745
|
+
}
|
|
8746
|
+
|
|
8747
|
+
.df-flow-wf-group-node-name {
|
|
8748
|
+
font-size: 13px;
|
|
8749
|
+
font-weight: 600;
|
|
8750
|
+
color: var(--text-primary);
|
|
8751
|
+
flex: 1;
|
|
8752
|
+
white-space: nowrap;
|
|
8753
|
+
overflow: hidden;
|
|
8754
|
+
text-overflow: ellipsis;
|
|
8755
|
+
}
|
|
8756
|
+
|
|
8757
|
+
.df-flow-wf-group-node-priority {
|
|
8758
|
+
font-size: 10px;
|
|
8759
|
+
font-weight: 600;
|
|
8760
|
+
padding: 1px 6px;
|
|
8761
|
+
border-radius: 4px;
|
|
8762
|
+
background: var(--accent-blue-light);
|
|
8763
|
+
color: var(--accent-blue);
|
|
8764
|
+
flex-shrink: 0;
|
|
8765
|
+
}
|
|
8766
|
+
|
|
8767
|
+
.df-flow-wf-group-node-meta {
|
|
8768
|
+
display: flex;
|
|
8769
|
+
align-items: center;
|
|
8770
|
+
gap: 10px;
|
|
8771
|
+
font-size: 11px;
|
|
8772
|
+
color: var(--text-secondary);
|
|
8773
|
+
}
|
|
8774
|
+
|
|
8775
|
+
.df-flow-wf-group-node-meta-item {
|
|
8776
|
+
display: flex;
|
|
8777
|
+
align-items: center;
|
|
8778
|
+
gap: 4px;
|
|
8779
|
+
}
|
|
8780
|
+
|
|
8781
|
+
.df-flow-wf-group-node-condition {
|
|
8782
|
+
color: var(--accent-amber);
|
|
8783
|
+
}
|
|
8784
|
+
|
|
8785
|
+
.df-flow-wf-group-node-always {
|
|
8786
|
+
color: var(--df-success);
|
|
8787
|
+
}
|