@particle-academy/fancy-flow 0.25.0 → 0.27.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/{chunk-ATQXZEVD.js → chunk-YOFCVO2W.js} +3 -2
- package/dist/chunk-YOFCVO2W.js.map +1 -0
- package/dist/index.cjs +194 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +196 -14
- package/dist/index.js.map +1 -1
- package/dist/registry.cjs +1 -0
- package/dist/registry.cjs.map +1 -1
- package/dist/registry.js +1 -1
- package/dist/styles.css +658 -549
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ATQXZEVD.js.map +0 -1
package/dist/styles.css
CHANGED
|
@@ -562,96 +562,163 @@ svg.react-flow__connectionline {
|
|
|
562
562
|
}
|
|
563
563
|
|
|
564
564
|
/* src/styles.css */
|
|
565
|
+
.ff-editor,
|
|
566
|
+
.ff-canvas,
|
|
567
|
+
.ff-palette,
|
|
568
|
+
.ff-panel,
|
|
569
|
+
.ff-run-feed,
|
|
570
|
+
.ff-prompt {
|
|
571
|
+
--ff-font:
|
|
572
|
+
ui-sans-serif,
|
|
573
|
+
system-ui,
|
|
574
|
+
-apple-system,
|
|
575
|
+
"Segoe UI",
|
|
576
|
+
Roboto,
|
|
577
|
+
sans-serif;
|
|
578
|
+
--ff-mono:
|
|
579
|
+
ui-monospace,
|
|
580
|
+
"SF Mono",
|
|
581
|
+
"JetBrains Mono",
|
|
582
|
+
Menlo,
|
|
583
|
+
Consolas,
|
|
584
|
+
monospace;
|
|
585
|
+
--ff-surface: #ffffff;
|
|
586
|
+
--ff-surface-2: #f4f4f5;
|
|
587
|
+
--ff-surface-3: #fafafa;
|
|
588
|
+
--ff-canvas-bg: #ffffff;
|
|
589
|
+
--ff-canvas-dot: rgba(9, 9, 11, 0.09);
|
|
590
|
+
--ff-node-bg: #ffffff;
|
|
591
|
+
--ff-fg: #18181b;
|
|
592
|
+
--ff-fg-muted: #52525b;
|
|
593
|
+
--ff-fg-subtle: #71717a;
|
|
594
|
+
--ff-fg-faint: #a1a1aa;
|
|
595
|
+
--ff-border: #e4e4e7;
|
|
596
|
+
--ff-border-strong: #d4d4d8;
|
|
597
|
+
--ff-edge: #9ca3af;
|
|
598
|
+
--ff-accent: #8b5cf6;
|
|
599
|
+
--ff-accent-soft: rgba(139, 92, 246, 0.12);
|
|
600
|
+
--ff-accent-ring: rgba(139, 92, 246, 0.22);
|
|
601
|
+
--ff-run: #10b981;
|
|
602
|
+
--ff-run-hover: #059669;
|
|
603
|
+
--ff-danger: #ef4444;
|
|
604
|
+
--ff-warn: #d97706;
|
|
605
|
+
--ff-warn-soft: rgba(245, 158, 11, 0.15);
|
|
606
|
+
--ff-feed-node: #7c3aed;
|
|
607
|
+
--ff-feed-ok: #059669;
|
|
608
|
+
--ff-radius: 12px;
|
|
609
|
+
--ff-radius-md: 8px;
|
|
610
|
+
--ff-radius-sm: 6px;
|
|
611
|
+
--ff-shadow-sm: 0 1px 2px rgba(0,0,0,.05);
|
|
612
|
+
--ff-shadow-md: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
|
|
613
|
+
--ff-shadow-lg: 0 10px 20px -6px rgba(0,0,0,.12), 0 4px 8px -6px rgba(0,0,0,.08);
|
|
614
|
+
}
|
|
615
|
+
.dark :is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt),
|
|
616
|
+
[data-theme=dark] :is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt) {
|
|
617
|
+
--ff-surface: #1c1c22;
|
|
618
|
+
--ff-surface-2: #141419;
|
|
619
|
+
--ff-surface-3: #27272a;
|
|
620
|
+
--ff-canvas-bg: #0a0a0c;
|
|
621
|
+
--ff-canvas-dot: rgba(255, 255, 255, 0.10);
|
|
622
|
+
--ff-node-bg: #1c1c22;
|
|
623
|
+
--ff-fg: #fafafa;
|
|
624
|
+
--ff-fg-muted: #d4d4d8;
|
|
625
|
+
--ff-fg-subtle: #a1a1aa;
|
|
626
|
+
--ff-fg-faint: #71717a;
|
|
627
|
+
--ff-border: #3f3f46;
|
|
628
|
+
--ff-border-strong: #52525b;
|
|
629
|
+
--ff-edge: #71717a;
|
|
630
|
+
--ff-accent: #a78bfa;
|
|
631
|
+
--ff-accent-soft: rgba(167, 139, 250, 0.16);
|
|
632
|
+
--ff-accent-ring: rgba(167, 139, 250, 0.30);
|
|
633
|
+
--ff-warn: #fb923c;
|
|
634
|
+
--ff-warn-soft: rgba(251, 146, 60, 0.16);
|
|
635
|
+
--ff-feed-node: #c4b5fd;
|
|
636
|
+
--ff-feed-ok: #34d399;
|
|
637
|
+
--ff-shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 6px 16px rgba(0,0,0,.5);
|
|
638
|
+
--ff-shadow-lg: 0 12px 28px -8px rgba(0,0,0,.6), 0 4px 10px -6px rgba(0,0,0,.5);
|
|
639
|
+
}
|
|
640
|
+
@media (prefers-color-scheme: dark) {
|
|
641
|
+
:is(.ff-editor, .ff-canvas, .ff-palette, .ff-panel, .ff-run-feed, .ff-prompt):not(.ff-canvas--light):not(.ff-canvas--light *) {
|
|
642
|
+
--ff-surface: #1c1c22;
|
|
643
|
+
--ff-surface-2: #141419;
|
|
644
|
+
--ff-surface-3: #27272a;
|
|
645
|
+
--ff-canvas-bg: #0a0a0c;
|
|
646
|
+
--ff-canvas-dot: rgba(255, 255, 255, 0.10);
|
|
647
|
+
--ff-node-bg: #1c1c22;
|
|
648
|
+
--ff-fg: #fafafa;
|
|
649
|
+
--ff-fg-muted: #d4d4d8;
|
|
650
|
+
--ff-fg-subtle: #a1a1aa;
|
|
651
|
+
--ff-fg-faint: #71717a;
|
|
652
|
+
--ff-border: #3f3f46;
|
|
653
|
+
--ff-border-strong: #52525b;
|
|
654
|
+
--ff-edge: #71717a;
|
|
655
|
+
--ff-accent: #a78bfa;
|
|
656
|
+
--ff-accent-soft: rgba(167, 139, 250, 0.16);
|
|
657
|
+
--ff-accent-ring: rgba(167, 139, 250, 0.30);
|
|
658
|
+
--ff-warn: #fb923c;
|
|
659
|
+
--ff-warn-soft: rgba(251, 146, 60, 0.16);
|
|
660
|
+
--ff-feed-node: #c4b5fd;
|
|
661
|
+
--ff-feed-ok: #34d399;
|
|
662
|
+
--ff-shadow-md: 0 1px 2px rgba(0,0,0,.4), 0 6px 16px rgba(0,0,0,.5);
|
|
663
|
+
--ff-shadow-lg: 0 12px 28px -8px rgba(0,0,0,.6), 0 4px 10px -6px rgba(0,0,0,.5);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
565
666
|
.ff-canvas {
|
|
566
667
|
display: flex;
|
|
567
668
|
flex-direction: column;
|
|
568
|
-
border: 1px solid
|
|
569
|
-
border-radius:
|
|
669
|
+
border: 1px solid var(--ff-border);
|
|
670
|
+
border-radius: var(--ff-radius);
|
|
570
671
|
overflow: hidden;
|
|
571
|
-
background:
|
|
572
|
-
}
|
|
573
|
-
.dark .ff-canvas {
|
|
574
|
-
background: #0a0a0a;
|
|
575
|
-
border-color: #3f3f46;
|
|
576
|
-
}
|
|
577
|
-
@media (prefers-color-scheme: dark) {
|
|
578
|
-
.ff-canvas:not(.ff-canvas--light) {
|
|
579
|
-
background: #0a0a0a;
|
|
580
|
-
border-color: #3f3f46;
|
|
581
|
-
}
|
|
672
|
+
background: var(--ff-canvas-bg);
|
|
582
673
|
}
|
|
583
674
|
.ff-canvas__toolbar {
|
|
584
|
-
border-bottom: 1px solid
|
|
585
|
-
padding:
|
|
675
|
+
border-bottom: 1px solid var(--ff-border);
|
|
676
|
+
padding: 8px 10px;
|
|
586
677
|
display: flex;
|
|
587
678
|
gap: 6px;
|
|
588
679
|
align-items: center;
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
sans-serif;
|
|
680
|
+
flex-wrap: wrap;
|
|
681
|
+
background: var(--ff-surface-2);
|
|
682
|
+
color: var(--ff-fg-muted);
|
|
683
|
+
font-family: var(--ff-font);
|
|
594
684
|
font-size: 12px;
|
|
595
685
|
}
|
|
596
|
-
.dark .ff-canvas__toolbar {
|
|
597
|
-
background: rgba(24, 24, 27, 0.6);
|
|
598
|
-
border-color: #3f3f46;
|
|
599
|
-
color: #e4e4e7;
|
|
600
|
-
}
|
|
601
|
-
@media (prefers-color-scheme: dark) {
|
|
602
|
-
.ff-canvas__toolbar {
|
|
603
|
-
background: rgba(24, 24, 27, 0.6);
|
|
604
|
-
border-color: #3f3f46;
|
|
605
|
-
color: #e4e4e7;
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
686
|
.ff-canvas__surface {
|
|
609
687
|
flex: 1;
|
|
610
688
|
min-height: 0;
|
|
611
689
|
position: relative;
|
|
690
|
+
background: var(--ff-canvas-bg);
|
|
612
691
|
}
|
|
613
|
-
.
|
|
614
|
-
fill:
|
|
692
|
+
.react-flow__background pattern circle {
|
|
693
|
+
fill: var(--ff-canvas-dot);
|
|
615
694
|
}
|
|
616
695
|
.ff-node {
|
|
617
696
|
min-width: 200px;
|
|
618
697
|
max-width: 280px;
|
|
619
|
-
background:
|
|
620
|
-
border: 1px solid
|
|
621
|
-
border-radius:
|
|
622
|
-
font-family:
|
|
623
|
-
ui-sans-serif,
|
|
624
|
-
system-ui,
|
|
625
|
-
sans-serif;
|
|
698
|
+
background: var(--ff-node-bg);
|
|
699
|
+
border: 1px solid var(--ff-border-strong);
|
|
700
|
+
border-radius: var(--ff-radius-md);
|
|
701
|
+
font-family: var(--ff-font);
|
|
626
702
|
font-size: 12px;
|
|
627
|
-
color:
|
|
628
|
-
box-shadow:
|
|
703
|
+
color: var(--ff-fg);
|
|
704
|
+
box-shadow: var(--ff-shadow-md);
|
|
629
705
|
transition: box-shadow 200ms, border-color 200ms;
|
|
630
706
|
overflow: hidden;
|
|
631
707
|
}
|
|
632
|
-
.
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
border-color: #3f3f46;
|
|
636
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 6px 16px rgba(0, 0, 0, 0.5);
|
|
637
|
-
}
|
|
638
|
-
@media (prefers-color-scheme: dark) {
|
|
639
|
-
.ff-node {
|
|
640
|
-
background: #1c1917;
|
|
641
|
-
color: #fafafa;
|
|
642
|
-
border-color: #3f3f46;
|
|
643
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 6px 16px rgba(0, 0, 0, 0.5);
|
|
644
|
-
}
|
|
708
|
+
.ff-node:hover {
|
|
709
|
+
border-color: var(--ff-border);
|
|
710
|
+
box-shadow: var(--ff-shadow-lg);
|
|
645
711
|
}
|
|
646
712
|
.ff-node--selected {
|
|
647
|
-
|
|
713
|
+
border-color: var(--ff-accent);
|
|
714
|
+
box-shadow: 0 0 0 3px var(--ff-accent-ring), var(--ff-shadow-lg);
|
|
648
715
|
}
|
|
649
716
|
.ff-node__header {
|
|
650
717
|
display: flex;
|
|
651
718
|
align-items: center;
|
|
652
719
|
gap: 8px;
|
|
653
720
|
padding: 7px 10px;
|
|
654
|
-
color:
|
|
721
|
+
color: #fff;
|
|
655
722
|
font-weight: 600;
|
|
656
723
|
}
|
|
657
724
|
.ff-node__icon {
|
|
@@ -662,7 +729,7 @@ svg.react-flow__connectionline {
|
|
|
662
729
|
font-size: 10px;
|
|
663
730
|
letter-spacing: 0.06em;
|
|
664
731
|
font-weight: 700;
|
|
665
|
-
opacity: 0.
|
|
732
|
+
opacity: 0.9;
|
|
666
733
|
text-transform: uppercase;
|
|
667
734
|
}
|
|
668
735
|
.ff-node__label {
|
|
@@ -673,15 +740,7 @@ svg.react-flow__connectionline {
|
|
|
673
740
|
margin: 0;
|
|
674
741
|
padding: 8px 10px 0;
|
|
675
742
|
font-size: 11px;
|
|
676
|
-
color:
|
|
677
|
-
}
|
|
678
|
-
.dark .ff-node__desc {
|
|
679
|
-
color: #a1a1aa;
|
|
680
|
-
}
|
|
681
|
-
@media (prefers-color-scheme: dark) {
|
|
682
|
-
.ff-node__desc {
|
|
683
|
-
color: #a1a1aa;
|
|
684
|
-
}
|
|
743
|
+
color: var(--ff-fg-subtle);
|
|
685
744
|
}
|
|
686
745
|
.ff-node__body {
|
|
687
746
|
padding: 8px 10px 10px;
|
|
@@ -690,31 +749,20 @@ svg.react-flow__connectionline {
|
|
|
690
749
|
margin: 0;
|
|
691
750
|
padding: 4px 10px 8px;
|
|
692
751
|
font-size: 11px;
|
|
693
|
-
color:
|
|
694
|
-
}
|
|
695
|
-
.dark .ff-node__status-text {
|
|
696
|
-
color: #a1a1aa;
|
|
697
|
-
}
|
|
698
|
-
@media (prefers-color-scheme: dark) {
|
|
699
|
-
.ff-node__status-text {
|
|
700
|
-
color: #a1a1aa;
|
|
701
|
-
}
|
|
752
|
+
color: var(--ff-fg-subtle);
|
|
702
753
|
}
|
|
703
754
|
.ff-node--status-error .ff-node__status-text {
|
|
704
|
-
color:
|
|
705
|
-
}
|
|
706
|
-
.dark .ff-node--status-error .ff-node__status-text {
|
|
707
|
-
color: #f87171;
|
|
755
|
+
color: var(--ff-danger);
|
|
708
756
|
}
|
|
709
757
|
.ff-node--status-running {
|
|
710
758
|
animation: ff-pulse 1.4s ease-in-out infinite;
|
|
711
759
|
}
|
|
712
760
|
@keyframes ff-pulse {
|
|
713
761
|
0%, 100% {
|
|
714
|
-
box-shadow: 0 0 0 0
|
|
762
|
+
box-shadow: 0 0 0 0 var(--ff-accent-ring), var(--ff-shadow-md);
|
|
715
763
|
}
|
|
716
764
|
50% {
|
|
717
|
-
box-shadow: 0 0 0 6px
|
|
765
|
+
box-shadow: 0 0 0 6px transparent, var(--ff-shadow-md);
|
|
718
766
|
}
|
|
719
767
|
}
|
|
720
768
|
.ff-node__dot {
|
|
@@ -740,41 +788,45 @@ svg.react-flow__connectionline {
|
|
|
740
788
|
display: flex;
|
|
741
789
|
justify-content: space-between;
|
|
742
790
|
font-size: 11px;
|
|
743
|
-
color:
|
|
791
|
+
color: var(--ff-fg-subtle);
|
|
744
792
|
}
|
|
745
|
-
.
|
|
746
|
-
|
|
793
|
+
.ff-node__summary {
|
|
794
|
+
list-style: none;
|
|
795
|
+
padding: 0;
|
|
796
|
+
margin: 0;
|
|
797
|
+
display: flex;
|
|
798
|
+
flex-direction: column;
|
|
799
|
+
gap: 2px;
|
|
747
800
|
}
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
801
|
+
.ff-node__summary li {
|
|
802
|
+
display: flex;
|
|
803
|
+
gap: 6px;
|
|
804
|
+
font-size: 11px;
|
|
752
805
|
}
|
|
753
|
-
.ff-
|
|
754
|
-
|
|
755
|
-
border: 1px solid rgba(0, 0, 0, 0.06);
|
|
756
|
-
border-radius: 6px;
|
|
757
|
-
padding: 8px 10px;
|
|
758
|
-
font-family:
|
|
759
|
-
ui-sans-serif,
|
|
760
|
-
system-ui,
|
|
761
|
-
sans-serif;
|
|
762
|
-
font-size: 12px;
|
|
763
|
-
color: #1f2937;
|
|
764
|
-
min-width: 180px;
|
|
765
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.06);
|
|
766
|
-
color-scheme: light;
|
|
806
|
+
.ff-node__summary-key {
|
|
807
|
+
color: var(--ff-fg-subtle);
|
|
767
808
|
}
|
|
768
|
-
.ff-
|
|
769
|
-
|
|
809
|
+
.ff-node__summary-value {
|
|
810
|
+
font-family: var(--ff-mono);
|
|
770
811
|
}
|
|
771
|
-
.ff-
|
|
772
|
-
|
|
773
|
-
|
|
812
|
+
.ff-node__summary-more {
|
|
813
|
+
color: var(--ff-fg-subtle);
|
|
814
|
+
font-size: 10px;
|
|
774
815
|
}
|
|
775
|
-
.ff-
|
|
816
|
+
.ff-node__body-empty {
|
|
817
|
+
font-size: 11px;
|
|
818
|
+
color: var(--ff-fg-faint);
|
|
819
|
+
font-style: italic;
|
|
820
|
+
}
|
|
821
|
+
.ff-node__output {
|
|
776
822
|
margin: 0;
|
|
777
|
-
|
|
823
|
+
padding: 4px 10px 8px;
|
|
824
|
+
font-size: 11px;
|
|
825
|
+
font-family: var(--ff-mono);
|
|
826
|
+
color: var(--ff-feed-ok);
|
|
827
|
+
overflow: hidden;
|
|
828
|
+
text-overflow: ellipsis;
|
|
829
|
+
white-space: nowrap;
|
|
778
830
|
}
|
|
779
831
|
.react-flow__node-trigger,
|
|
780
832
|
.react-flow__node-action,
|
|
@@ -791,176 +843,272 @@ svg.react-flow__connectionline {
|
|
|
791
843
|
.react-flow__handle {
|
|
792
844
|
width: 10px;
|
|
793
845
|
height: 10px;
|
|
794
|
-
background:
|
|
795
|
-
border: 2px solid
|
|
846
|
+
background: var(--ff-surface);
|
|
847
|
+
border: 2px solid var(--ff-border-strong);
|
|
796
848
|
border-radius: 50%;
|
|
797
849
|
}
|
|
798
|
-
.dark .react-flow__handle {
|
|
799
|
-
background: #18181b;
|
|
800
|
-
border-color: #71717a;
|
|
801
|
-
}
|
|
802
|
-
@media (prefers-color-scheme: dark) {
|
|
803
|
-
.react-flow__handle {
|
|
804
|
-
background: #18181b;
|
|
805
|
-
border-color: #71717a;
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
850
|
.react-flow__handle:hover {
|
|
809
|
-
background:
|
|
810
|
-
border-color:
|
|
851
|
+
background: var(--ff-accent);
|
|
852
|
+
border-color: var(--ff-accent);
|
|
811
853
|
}
|
|
812
|
-
.
|
|
813
|
-
stroke:
|
|
814
|
-
}
|
|
815
|
-
@media (prefers-color-scheme: dark) {
|
|
816
|
-
.react-flow__edge-path {
|
|
817
|
-
stroke: #71717a;
|
|
818
|
-
}
|
|
854
|
+
.react-flow__edge-path {
|
|
855
|
+
stroke: var(--ff-edge);
|
|
819
856
|
}
|
|
820
857
|
.react-flow__connection-path {
|
|
821
|
-
stroke:
|
|
858
|
+
stroke: var(--ff-accent);
|
|
822
859
|
stroke-width: 2;
|
|
823
860
|
}
|
|
824
|
-
.
|
|
825
|
-
.react-flow__controls.ff-controls {
|
|
861
|
+
.react-flow__controls {
|
|
826
862
|
background: transparent;
|
|
827
863
|
box-shadow: none;
|
|
828
864
|
}
|
|
829
|
-
.
|
|
830
|
-
background:
|
|
831
|
-
border-color:
|
|
832
|
-
border-bottom-color:
|
|
833
|
-
color:
|
|
865
|
+
.react-flow__controls .react-flow__controls-button {
|
|
866
|
+
background: var(--ff-surface) !important;
|
|
867
|
+
border-color: var(--ff-border) !important;
|
|
868
|
+
border-bottom-color: var(--ff-border) !important;
|
|
869
|
+
color: var(--ff-fg) !important;
|
|
870
|
+
border-radius: var(--ff-radius-sm);
|
|
834
871
|
}
|
|
835
|
-
.
|
|
836
|
-
background:
|
|
872
|
+
.react-flow__controls .react-flow__controls-button:hover {
|
|
873
|
+
background: var(--ff-surface-3) !important;
|
|
837
874
|
}
|
|
838
|
-
.
|
|
839
|
-
.
|
|
840
|
-
.
|
|
841
|
-
.
|
|
875
|
+
.react-flow__controls .react-flow__controls-button svg,
|
|
876
|
+
.react-flow__controls .react-flow__controls-button svg path,
|
|
877
|
+
.react-flow__controls .react-flow__controls-button svg polyline,
|
|
878
|
+
.react-flow__controls .react-flow__controls-button svg polygon {
|
|
842
879
|
fill: currentColor !important;
|
|
843
880
|
stroke: currentColor !important;
|
|
844
881
|
}
|
|
882
|
+
.react-flow__resize-control.line {
|
|
883
|
+
border-color: var(--ff-accent-ring);
|
|
884
|
+
}
|
|
885
|
+
.react-flow__resize-control.handle {
|
|
886
|
+
width: 8px;
|
|
887
|
+
height: 8px;
|
|
888
|
+
border-radius: 2px;
|
|
889
|
+
border: 1px solid var(--ff-surface);
|
|
890
|
+
background: var(--ff-accent);
|
|
891
|
+
}
|
|
892
|
+
.ff-lane {
|
|
893
|
+
width: 100%;
|
|
894
|
+
height: 100%;
|
|
895
|
+
box-sizing: border-box;
|
|
896
|
+
background: var(--ff-accent-soft);
|
|
897
|
+
border: 1px dashed var(--ff-border-strong);
|
|
898
|
+
border-radius: var(--ff-radius-md);
|
|
899
|
+
overflow: hidden;
|
|
900
|
+
}
|
|
901
|
+
.ff-lane--selected {
|
|
902
|
+
border-style: solid;
|
|
903
|
+
border-color: var(--ff-accent);
|
|
904
|
+
}
|
|
905
|
+
.ff-lane__header {
|
|
906
|
+
display: flex;
|
|
907
|
+
align-items: center;
|
|
908
|
+
height: 22px;
|
|
909
|
+
padding: 0 8px;
|
|
910
|
+
color: #fff;
|
|
911
|
+
font-size: 11px;
|
|
912
|
+
font-weight: 600;
|
|
913
|
+
font-family: var(--ff-font);
|
|
914
|
+
border-radius: 7px 7px 0 0;
|
|
915
|
+
}
|
|
916
|
+
.ff-lane__title {
|
|
917
|
+
overflow: hidden;
|
|
918
|
+
text-overflow: ellipsis;
|
|
919
|
+
white-space: nowrap;
|
|
920
|
+
}
|
|
921
|
+
.ff-note {
|
|
922
|
+
width: 100%;
|
|
923
|
+
height: 100%;
|
|
924
|
+
box-sizing: border-box;
|
|
925
|
+
padding: 8px 10px;
|
|
926
|
+
border: 1px solid transparent;
|
|
927
|
+
border-radius: var(--ff-radius-md);
|
|
928
|
+
font-family: var(--ff-font);
|
|
929
|
+
box-shadow: var(--ff-shadow-sm);
|
|
930
|
+
overflow: hidden;
|
|
931
|
+
display: flex;
|
|
932
|
+
flex-direction: column;
|
|
933
|
+
gap: 4px;
|
|
934
|
+
}
|
|
935
|
+
.ff-note--selected {
|
|
936
|
+
box-shadow: 0 0 0 2px currentColor;
|
|
937
|
+
}
|
|
938
|
+
.ff-note__title {
|
|
939
|
+
font-size: 11px;
|
|
940
|
+
font-weight: 700;
|
|
941
|
+
text-transform: uppercase;
|
|
942
|
+
letter-spacing: 0.04em;
|
|
943
|
+
}
|
|
944
|
+
.ff-note__body {
|
|
945
|
+
flex: 1;
|
|
946
|
+
min-height: 0;
|
|
947
|
+
font-size: 12px;
|
|
948
|
+
line-height: 1.5;
|
|
949
|
+
color: var(--ff-fg-muted);
|
|
950
|
+
white-space: pre-wrap;
|
|
951
|
+
overflow: auto;
|
|
952
|
+
}
|
|
953
|
+
.ff-note__placeholder {
|
|
954
|
+
color: var(--ff-fg-faint);
|
|
955
|
+
font-style: italic;
|
|
956
|
+
}
|
|
957
|
+
.ff-note__input {
|
|
958
|
+
flex: 1;
|
|
959
|
+
min-height: 0;
|
|
960
|
+
width: 100%;
|
|
961
|
+
resize: none;
|
|
962
|
+
border: none;
|
|
963
|
+
outline: none;
|
|
964
|
+
background: transparent;
|
|
965
|
+
font: inherit;
|
|
966
|
+
font-size: 12px;
|
|
967
|
+
line-height: 1.5;
|
|
968
|
+
color: inherit;
|
|
969
|
+
}
|
|
845
970
|
.ff-run-controls {
|
|
846
971
|
display: flex;
|
|
847
972
|
gap: 6px;
|
|
848
973
|
}
|
|
849
974
|
.ff-run-controls__btn {
|
|
850
|
-
border:
|
|
851
|
-
border-radius:
|
|
975
|
+
border: 1px solid var(--ff-border);
|
|
976
|
+
border-radius: var(--ff-radius-sm);
|
|
852
977
|
padding: 6px 12px;
|
|
853
978
|
font: inherit;
|
|
854
979
|
font-size: 12px;
|
|
855
980
|
font-weight: 500;
|
|
856
981
|
cursor: pointer;
|
|
857
|
-
background:
|
|
858
|
-
color:
|
|
982
|
+
background: var(--ff-surface);
|
|
983
|
+
color: var(--ff-fg);
|
|
984
|
+
transition: background 150ms, border-color 150ms;
|
|
859
985
|
}
|
|
860
|
-
.
|
|
861
|
-
background:
|
|
862
|
-
color: #fafafa;
|
|
986
|
+
.ff-run-controls__btn:hover:not(:disabled) {
|
|
987
|
+
background: var(--ff-surface-3);
|
|
863
988
|
}
|
|
864
989
|
.ff-run-controls__btn--run {
|
|
865
|
-
background:
|
|
866
|
-
color:
|
|
990
|
+
background: var(--ff-run);
|
|
991
|
+
border-color: var(--ff-run-hover);
|
|
992
|
+
color: #fff;
|
|
867
993
|
}
|
|
868
|
-
.
|
|
869
|
-
background:
|
|
870
|
-
color: white;
|
|
994
|
+
.ff-run-controls__btn--run:hover:not(:disabled) {
|
|
995
|
+
background: var(--ff-run-hover);
|
|
871
996
|
}
|
|
872
997
|
.ff-run-controls__btn--cancel {
|
|
873
|
-
background:
|
|
874
|
-
color:
|
|
998
|
+
background: var(--ff-danger);
|
|
999
|
+
border-color: var(--ff-danger);
|
|
1000
|
+
color: #fff;
|
|
875
1001
|
}
|
|
876
1002
|
.ff-run-controls__btn:disabled {
|
|
877
1003
|
opacity: 0.5;
|
|
878
1004
|
cursor: default;
|
|
879
1005
|
}
|
|
880
1006
|
.ff-run-feed {
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
1007
|
+
display: flex;
|
|
1008
|
+
flex-direction: column;
|
|
1009
|
+
font-family: var(--ff-mono);
|
|
1010
|
+
background: var(--ff-surface-2);
|
|
1011
|
+
color: var(--ff-fg);
|
|
1012
|
+
border: 1px solid var(--ff-border);
|
|
1013
|
+
border-radius: var(--ff-radius-md);
|
|
1014
|
+
overflow: hidden;
|
|
1015
|
+
max-height: 260px;
|
|
1016
|
+
}
|
|
1017
|
+
.ff-run-feed__header {
|
|
1018
|
+
display: flex;
|
|
1019
|
+
align-items: center;
|
|
1020
|
+
gap: 8px;
|
|
1021
|
+
padding: 7px 12px;
|
|
1022
|
+
border-bottom: 1px solid var(--ff-border);
|
|
1023
|
+
font-family: var(--ff-font);
|
|
1024
|
+
font-size: 11.5px;
|
|
1025
|
+
font-weight: 600;
|
|
1026
|
+
color: var(--ff-fg-muted);
|
|
1027
|
+
flex-shrink: 0;
|
|
1028
|
+
}
|
|
1029
|
+
.ff-run-feed__title {
|
|
1030
|
+
color: var(--ff-accent);
|
|
1031
|
+
font-family: var(--ff-mono);
|
|
1032
|
+
}
|
|
1033
|
+
.ff-run-feed__badge {
|
|
1034
|
+
font-family: var(--ff-font);
|
|
1035
|
+
font-size: 10px;
|
|
1036
|
+
font-weight: 600;
|
|
1037
|
+
color: var(--ff-warn);
|
|
1038
|
+
background: var(--ff-warn-soft);
|
|
1039
|
+
padding: 1px 8px;
|
|
1040
|
+
border-radius: 999px;
|
|
1041
|
+
}
|
|
1042
|
+
.ff-run-feed__count {
|
|
1043
|
+
margin-left: auto;
|
|
1044
|
+
font-family: var(--ff-mono);
|
|
1045
|
+
font-size: 10.5px;
|
|
1046
|
+
color: var(--ff-fg-faint);
|
|
1047
|
+
}
|
|
1048
|
+
.ff-run-feed__body {
|
|
1049
|
+
flex: 1;
|
|
1050
|
+
min-height: 0;
|
|
887
1051
|
overflow: auto;
|
|
888
|
-
|
|
889
|
-
|
|
1052
|
+
padding: 8px 12px;
|
|
1053
|
+
font-size: 11px;
|
|
1054
|
+
line-height: 1.7;
|
|
890
1055
|
}
|
|
891
1056
|
.ff-run-feed__empty {
|
|
892
|
-
color:
|
|
1057
|
+
color: var(--ff-fg-subtle);
|
|
893
1058
|
margin: 0;
|
|
894
1059
|
}
|
|
895
1060
|
.ff-run-feed__row {
|
|
896
1061
|
display: flex;
|
|
897
|
-
gap:
|
|
1062
|
+
gap: 9px;
|
|
898
1063
|
padding: 1px 0;
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
color: #f87171;
|
|
902
|
-
}
|
|
903
|
-
.ff-run-feed__row--warn .ff-run-feed__text {
|
|
904
|
-
color: #fbbf24;
|
|
905
|
-
}
|
|
906
|
-
.ff-run-feed__row--status .ff-run-feed__text {
|
|
907
|
-
color: #93c5fd;
|
|
1064
|
+
white-space: pre-wrap;
|
|
1065
|
+
word-break: break-word;
|
|
908
1066
|
}
|
|
909
1067
|
.ff-run-feed__time {
|
|
910
|
-
color:
|
|
1068
|
+
color: var(--ff-fg-faint);
|
|
1069
|
+
flex-shrink: 0;
|
|
911
1070
|
}
|
|
912
1071
|
.ff-run-feed__node {
|
|
913
|
-
color:
|
|
1072
|
+
color: var(--ff-feed-node);
|
|
1073
|
+
flex-shrink: 0;
|
|
914
1074
|
}
|
|
915
1075
|
.ff-run-feed__text {
|
|
916
1076
|
flex: 1;
|
|
1077
|
+
min-width: 0;
|
|
917
1078
|
}
|
|
918
|
-
.ff-
|
|
919
|
-
|
|
920
|
-
padding: 0;
|
|
921
|
-
margin: 0;
|
|
922
|
-
display: flex;
|
|
923
|
-
flex-direction: column;
|
|
924
|
-
gap: 2px;
|
|
925
|
-
}
|
|
926
|
-
.ff-node__summary li {
|
|
927
|
-
display: flex;
|
|
928
|
-
gap: 6px;
|
|
929
|
-
font-size: 11px;
|
|
930
|
-
}
|
|
931
|
-
.ff-node__summary-key {
|
|
932
|
-
color: #71717a;
|
|
933
|
-
}
|
|
934
|
-
.dark .ff-node__summary-key {
|
|
935
|
-
color: #a1a1aa;
|
|
936
|
-
}
|
|
937
|
-
.ff-node__summary-value {
|
|
938
|
-
font-family: ui-monospace, monospace;
|
|
1079
|
+
.ff-run-feed__row--error .ff-run-feed__text {
|
|
1080
|
+
color: var(--ff-danger);
|
|
939
1081
|
}
|
|
940
|
-
.ff-
|
|
941
|
-
color:
|
|
942
|
-
font-size: 10px;
|
|
1082
|
+
.ff-run-feed__row--warn .ff-run-feed__text {
|
|
1083
|
+
color: var(--ff-warn);
|
|
943
1084
|
}
|
|
944
|
-
.ff-
|
|
945
|
-
|
|
946
|
-
color: #a1a1aa;
|
|
947
|
-
font-style: italic;
|
|
1085
|
+
.ff-run-feed__row--status .ff-run-feed__text {
|
|
1086
|
+
color: var(--ff-feed-node);
|
|
948
1087
|
}
|
|
949
1088
|
.ff-editor {
|
|
950
1089
|
display: grid;
|
|
951
|
-
grid-template-columns:
|
|
952
|
-
gap:
|
|
953
|
-
font-family:
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1090
|
+
grid-template-columns: 216px 1fr 300px;
|
|
1091
|
+
gap: 0;
|
|
1092
|
+
font-family: var(--ff-font);
|
|
1093
|
+
background: var(--ff-surface);
|
|
1094
|
+
border: 1px solid var(--ff-border);
|
|
1095
|
+
border-radius: var(--ff-radius);
|
|
1096
|
+
overflow: hidden;
|
|
1097
|
+
box-shadow: var(--ff-shadow-md);
|
|
957
1098
|
}
|
|
958
1099
|
.ff-editor__main {
|
|
959
1100
|
display: flex;
|
|
960
1101
|
flex-direction: column;
|
|
961
|
-
gap: 8px;
|
|
962
1102
|
min-width: 0;
|
|
1103
|
+
min-height: 0;
|
|
963
1104
|
position: relative;
|
|
1105
|
+
background: var(--ff-canvas-bg);
|
|
1106
|
+
}
|
|
1107
|
+
.ff-editor__main .ff-canvas {
|
|
1108
|
+
flex: 1;
|
|
1109
|
+
min-height: 0;
|
|
1110
|
+
border: none;
|
|
1111
|
+
border-radius: 0;
|
|
964
1112
|
}
|
|
965
1113
|
.ff-editor__empty {
|
|
966
1114
|
position: absolute;
|
|
@@ -974,33 +1122,52 @@ svg.react-flow__connectionline {
|
|
|
974
1122
|
.ff-editor__empty > * {
|
|
975
1123
|
pointer-events: auto;
|
|
976
1124
|
}
|
|
1125
|
+
.ff-editor__palette {
|
|
1126
|
+
border: none;
|
|
1127
|
+
border-right: 1px solid var(--ff-border);
|
|
1128
|
+
border-radius: 0;
|
|
1129
|
+
background: var(--ff-surface-2);
|
|
1130
|
+
}
|
|
977
1131
|
.ff-editor__panel-wrap {
|
|
978
1132
|
display: flex;
|
|
979
1133
|
flex-direction: column;
|
|
980
|
-
gap: 8px;
|
|
981
1134
|
min-height: 0;
|
|
1135
|
+
border-left: 1px solid var(--ff-border);
|
|
1136
|
+
background: var(--ff-surface-2);
|
|
1137
|
+
}
|
|
1138
|
+
.ff-editor__panel {
|
|
1139
|
+
flex: 1;
|
|
1140
|
+
min-height: 0;
|
|
1141
|
+
border: none;
|
|
1142
|
+
border-radius: 0;
|
|
1143
|
+
background: transparent;
|
|
982
1144
|
}
|
|
983
1145
|
.ff-editor__panel-footer {
|
|
984
1146
|
flex-shrink: 0;
|
|
985
1147
|
display: flex;
|
|
986
1148
|
flex-wrap: wrap;
|
|
987
1149
|
gap: 6px;
|
|
1150
|
+
padding: 0 12px 12px;
|
|
1151
|
+
}
|
|
1152
|
+
.ff-editor__feed {
|
|
1153
|
+
flex-shrink: 0;
|
|
1154
|
+
height: 168px;
|
|
1155
|
+
max-height: none;
|
|
1156
|
+
border: none;
|
|
1157
|
+
border-top: 1px solid var(--ff-border);
|
|
1158
|
+
border-radius: 0;
|
|
988
1159
|
}
|
|
989
1160
|
.ff-editor__ctx {
|
|
990
1161
|
position: fixed;
|
|
991
1162
|
z-index: 50;
|
|
992
|
-
min-width:
|
|
1163
|
+
min-width: 150px;
|
|
993
1164
|
padding: 4px;
|
|
994
1165
|
display: flex;
|
|
995
1166
|
flex-direction: column;
|
|
996
|
-
background:
|
|
997
|
-
border: 1px solid
|
|
998
|
-
border-radius:
|
|
999
|
-
box-shadow:
|
|
1000
|
-
}
|
|
1001
|
-
.dark .ff-editor__ctx {
|
|
1002
|
-
background: #18181b;
|
|
1003
|
-
border-color: #3f3f46;
|
|
1167
|
+
background: var(--ff-surface);
|
|
1168
|
+
border: 1px solid var(--ff-border-strong);
|
|
1169
|
+
border-radius: var(--ff-radius-md);
|
|
1170
|
+
box-shadow: var(--ff-shadow-lg);
|
|
1004
1171
|
}
|
|
1005
1172
|
.ff-editor__ctx-item {
|
|
1006
1173
|
border: 0;
|
|
@@ -1013,129 +1180,109 @@ svg.react-flow__connectionline {
|
|
|
1013
1180
|
color: inherit;
|
|
1014
1181
|
}
|
|
1015
1182
|
.ff-editor__ctx-item:hover {
|
|
1016
|
-
background:
|
|
1017
|
-
}
|
|
1018
|
-
.dark .ff-editor__ctx-item:hover {
|
|
1019
|
-
background: #27272a;
|
|
1183
|
+
background: var(--ff-surface-3);
|
|
1020
1184
|
}
|
|
1021
1185
|
.ff-editor__ctx-item--danger {
|
|
1022
|
-
color:
|
|
1023
|
-
}
|
|
1024
|
-
.dark .ff-editor__ctx-item--danger {
|
|
1025
|
-
color: #f87171;
|
|
1026
|
-
}
|
|
1027
|
-
.ff-editor__feed {
|
|
1028
|
-
flex-shrink: 0;
|
|
1186
|
+
color: var(--ff-danger);
|
|
1029
1187
|
}
|
|
1030
1188
|
.ff-editor__sep {
|
|
1031
1189
|
width: 1px;
|
|
1032
1190
|
align-self: stretch;
|
|
1033
|
-
background:
|
|
1034
|
-
|
|
1035
|
-
.dark .ff-editor__sep {
|
|
1036
|
-
background: #3f3f46;
|
|
1191
|
+
background: var(--ff-border);
|
|
1192
|
+
margin: 0 3px;
|
|
1037
1193
|
}
|
|
1038
1194
|
.ff-editor__btn {
|
|
1039
|
-
|
|
1040
|
-
|
|
1195
|
+
display: inline-flex;
|
|
1196
|
+
align-items: center;
|
|
1197
|
+
gap: 6px;
|
|
1198
|
+
border: 1px solid var(--ff-border);
|
|
1199
|
+
background: var(--ff-surface);
|
|
1041
1200
|
cursor: pointer;
|
|
1042
|
-
border-radius:
|
|
1043
|
-
padding:
|
|
1044
|
-
color:
|
|
1201
|
+
border-radius: var(--ff-radius-sm);
|
|
1202
|
+
padding: 5px 11px;
|
|
1203
|
+
color: var(--ff-fg-muted);
|
|
1045
1204
|
font-size: 12px;
|
|
1205
|
+
font-weight: 500;
|
|
1206
|
+
transition: background 150ms, color 150ms;
|
|
1046
1207
|
}
|
|
1047
1208
|
.ff-editor__btn:hover:not(:disabled) {
|
|
1048
|
-
background:
|
|
1209
|
+
background: var(--ff-surface-3);
|
|
1210
|
+
color: var(--ff-fg);
|
|
1049
1211
|
}
|
|
1050
1212
|
.ff-editor__btn:disabled {
|
|
1051
1213
|
opacity: 0.45;
|
|
1052
1214
|
cursor: not-allowed;
|
|
1053
1215
|
}
|
|
1054
|
-
.dark .ff-editor__btn {
|
|
1055
|
-
border-color: #3f3f46;
|
|
1056
|
-
}
|
|
1057
|
-
.dark .ff-editor__btn:hover {
|
|
1058
|
-
background: #27272a;
|
|
1059
|
-
}
|
|
1060
1216
|
.ff-editor__count {
|
|
1061
1217
|
margin-left: auto;
|
|
1218
|
+
font-family: var(--ff-mono);
|
|
1062
1219
|
font-size: 11px;
|
|
1063
|
-
color:
|
|
1064
|
-
}
|
|
1065
|
-
.dark .ff-editor__count {
|
|
1066
|
-
color: #a1a1aa;
|
|
1220
|
+
color: var(--ff-fg-faint);
|
|
1067
1221
|
}
|
|
1068
1222
|
.ff-palette {
|
|
1069
1223
|
display: flex;
|
|
1070
1224
|
flex-direction: column;
|
|
1071
|
-
background:
|
|
1072
|
-
border: 1px solid
|
|
1073
|
-
border-radius:
|
|
1225
|
+
background: var(--ff-surface-2);
|
|
1226
|
+
border: 1px solid var(--ff-border);
|
|
1227
|
+
border-radius: var(--ff-radius);
|
|
1074
1228
|
overflow: hidden;
|
|
1075
1229
|
font-size: 13px;
|
|
1076
|
-
color:
|
|
1077
|
-
}
|
|
1078
|
-
.dark .ff-palette {
|
|
1079
|
-
background: #18181b;
|
|
1080
|
-
color: #fafafa;
|
|
1081
|
-
border-color: #3f3f46;
|
|
1230
|
+
color: var(--ff-fg);
|
|
1082
1231
|
}
|
|
1083
1232
|
.ff-palette__search {
|
|
1084
|
-
padding:
|
|
1085
|
-
border-bottom: 1px solid
|
|
1086
|
-
}
|
|
1087
|
-
.dark .ff-palette__search {
|
|
1088
|
-
border-color: #3f3f46;
|
|
1233
|
+
padding: 10px;
|
|
1234
|
+
border-bottom: 1px solid var(--ff-border);
|
|
1089
1235
|
}
|
|
1090
1236
|
.ff-palette__search-input {
|
|
1091
1237
|
width: 100%;
|
|
1092
|
-
padding:
|
|
1093
|
-
border: 1px solid
|
|
1094
|
-
border-radius:
|
|
1095
|
-
background:
|
|
1238
|
+
padding: 7px 10px;
|
|
1239
|
+
border: 1px solid var(--ff-border);
|
|
1240
|
+
border-radius: var(--ff-radius-sm);
|
|
1241
|
+
background: var(--ff-surface);
|
|
1096
1242
|
color: inherit;
|
|
1097
1243
|
font: inherit;
|
|
1244
|
+
font-size: 12.5px;
|
|
1245
|
+
outline: none;
|
|
1246
|
+
transition: border-color 150ms, box-shadow 150ms;
|
|
1098
1247
|
}
|
|
1099
|
-
.
|
|
1100
|
-
border-color:
|
|
1248
|
+
.ff-palette__search-input:focus {
|
|
1249
|
+
border-color: var(--ff-accent);
|
|
1250
|
+
box-shadow: 0 0 0 3px var(--ff-accent-soft);
|
|
1101
1251
|
}
|
|
1102
1252
|
.ff-palette__list {
|
|
1103
1253
|
flex: 1;
|
|
1104
1254
|
overflow: auto;
|
|
1105
|
-
padding:
|
|
1255
|
+
padding: 8px;
|
|
1106
1256
|
}
|
|
1107
1257
|
.ff-palette__group {
|
|
1108
|
-
padding:
|
|
1258
|
+
padding: 2px 0;
|
|
1109
1259
|
}
|
|
1110
1260
|
.ff-palette__group-label {
|
|
1111
|
-
font-size:
|
|
1112
|
-
letter-spacing: 0.
|
|
1261
|
+
font-size: 9.5px;
|
|
1262
|
+
letter-spacing: 0.07em;
|
|
1113
1263
|
text-transform: uppercase;
|
|
1114
|
-
color:
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
.dark .ff-palette__group-label {
|
|
1118
|
-
color: #a1a1aa;
|
|
1264
|
+
color: var(--ff-fg-faint);
|
|
1265
|
+
font-weight: 700;
|
|
1266
|
+
padding: 11px 8px 6px;
|
|
1119
1267
|
}
|
|
1120
1268
|
.ff-palette__row {
|
|
1121
1269
|
width: 100%;
|
|
1122
1270
|
display: flex;
|
|
1123
|
-
align-items:
|
|
1124
|
-
gap:
|
|
1125
|
-
padding:
|
|
1126
|
-
border:
|
|
1271
|
+
align-items: flex-start;
|
|
1272
|
+
gap: 9px;
|
|
1273
|
+
padding: 8px;
|
|
1274
|
+
border: 1px solid transparent;
|
|
1127
1275
|
background: transparent;
|
|
1128
1276
|
cursor: grab;
|
|
1129
|
-
border-radius:
|
|
1277
|
+
border-radius: var(--ff-radius-md);
|
|
1130
1278
|
text-align: left;
|
|
1131
1279
|
color: inherit;
|
|
1132
1280
|
font: inherit;
|
|
1281
|
+
transition: background 130ms, border-color 130ms;
|
|
1133
1282
|
}
|
|
1134
1283
|
.ff-palette__row:hover {
|
|
1135
|
-
background:
|
|
1136
|
-
|
|
1137
|
-
.dark .ff-palette__row:hover {
|
|
1138
|
-
background: #27272a;
|
|
1284
|
+
background: var(--ff-surface-3);
|
|
1285
|
+
border-color: var(--ff-border);
|
|
1139
1286
|
}
|
|
1140
1287
|
.ff-palette__row:active {
|
|
1141
1288
|
cursor: grabbing;
|
|
@@ -1144,7 +1291,7 @@ svg.react-flow__connectionline {
|
|
|
1144
1291
|
flex-shrink: 0;
|
|
1145
1292
|
width: 24px;
|
|
1146
1293
|
height: 24px;
|
|
1147
|
-
border-radius:
|
|
1294
|
+
border-radius: 7px;
|
|
1148
1295
|
display: inline-flex;
|
|
1149
1296
|
align-items: center;
|
|
1150
1297
|
justify-content: center;
|
|
@@ -1157,35 +1304,32 @@ svg.react-flow__connectionline {
|
|
|
1157
1304
|
min-width: 0;
|
|
1158
1305
|
}
|
|
1159
1306
|
.ff-palette__row-label {
|
|
1160
|
-
font-size:
|
|
1161
|
-
font-weight:
|
|
1307
|
+
font-size: 12.5px;
|
|
1308
|
+
font-weight: 600;
|
|
1309
|
+
line-height: 1.2;
|
|
1162
1310
|
}
|
|
1163
1311
|
.ff-palette__row-desc {
|
|
1164
|
-
font-size:
|
|
1165
|
-
color:
|
|
1166
|
-
|
|
1312
|
+
font-size: 10.5px;
|
|
1313
|
+
color: var(--ff-fg-faint);
|
|
1314
|
+
line-height: 1.35;
|
|
1315
|
+
margin-top: 2px;
|
|
1167
1316
|
overflow: hidden;
|
|
1168
1317
|
text-overflow: ellipsis;
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1318
|
+
display: -webkit-box;
|
|
1319
|
+
-webkit-line-clamp: 1;
|
|
1320
|
+
-webkit-box-orient: vertical;
|
|
1172
1321
|
}
|
|
1173
1322
|
.ff-panel {
|
|
1174
|
-
background:
|
|
1175
|
-
border: 1px solid
|
|
1176
|
-
border-radius:
|
|
1177
|
-
padding:
|
|
1323
|
+
background: var(--ff-surface-2);
|
|
1324
|
+
border: 1px solid var(--ff-border);
|
|
1325
|
+
border-radius: var(--ff-radius);
|
|
1326
|
+
padding: 14px;
|
|
1178
1327
|
display: flex;
|
|
1179
1328
|
flex-direction: column;
|
|
1180
|
-
gap:
|
|
1329
|
+
gap: 12px;
|
|
1181
1330
|
overflow: auto;
|
|
1182
1331
|
font-size: 13px;
|
|
1183
|
-
color:
|
|
1184
|
-
}
|
|
1185
|
-
.dark .ff-panel {
|
|
1186
|
-
background: #18181b;
|
|
1187
|
-
color: #fafafa;
|
|
1188
|
-
border-color: #3f3f46;
|
|
1332
|
+
color: var(--ff-fg);
|
|
1189
1333
|
}
|
|
1190
1334
|
.ff-panel--empty {
|
|
1191
1335
|
align-items: center;
|
|
@@ -1193,38 +1337,64 @@ svg.react-flow__connectionline {
|
|
|
1193
1337
|
}
|
|
1194
1338
|
.ff-panel__empty {
|
|
1195
1339
|
font-size: 12px;
|
|
1196
|
-
color:
|
|
1340
|
+
color: var(--ff-fg-faint);
|
|
1341
|
+
text-align: center;
|
|
1197
1342
|
}
|
|
1198
1343
|
.ff-panel__header {
|
|
1344
|
+
display: flex;
|
|
1345
|
+
align-items: center;
|
|
1346
|
+
gap: 10px;
|
|
1347
|
+
}
|
|
1348
|
+
.ff-panel__head-icon {
|
|
1349
|
+
flex-shrink: 0;
|
|
1350
|
+
width: 28px;
|
|
1351
|
+
height: 28px;
|
|
1352
|
+
border-radius: var(--ff-radius-sm);
|
|
1353
|
+
display: grid;
|
|
1354
|
+
place-items: center;
|
|
1355
|
+
color: #fff;
|
|
1356
|
+
font-size: 15px;
|
|
1357
|
+
}
|
|
1358
|
+
.ff-panel__head-text {
|
|
1199
1359
|
display: flex;
|
|
1200
1360
|
flex-direction: column;
|
|
1201
|
-
|
|
1361
|
+
min-width: 0;
|
|
1362
|
+
gap: 1px;
|
|
1363
|
+
}
|
|
1364
|
+
.ff-panel__head-kind {
|
|
1365
|
+
font-size: 9.5px;
|
|
1366
|
+
font-weight: 700;
|
|
1367
|
+
letter-spacing: 0.06em;
|
|
1368
|
+
text-transform: uppercase;
|
|
1369
|
+
color: var(--ff-fg-faint);
|
|
1370
|
+
}
|
|
1371
|
+
.ff-panel__head-name {
|
|
1372
|
+
font-size: 13.5px;
|
|
1373
|
+
font-weight: 600;
|
|
1374
|
+
overflow: hidden;
|
|
1375
|
+
text-overflow: ellipsis;
|
|
1376
|
+
white-space: nowrap;
|
|
1202
1377
|
}
|
|
1203
1378
|
.ff-panel__kind-tag {
|
|
1204
1379
|
align-self: flex-start;
|
|
1205
1380
|
font-size: 10px;
|
|
1206
1381
|
letter-spacing: 0.06em;
|
|
1207
1382
|
text-transform: uppercase;
|
|
1208
|
-
background:
|
|
1209
|
-
color:
|
|
1383
|
+
background: var(--ff-accent-soft);
|
|
1384
|
+
color: var(--ff-accent);
|
|
1210
1385
|
padding: 2px 8px;
|
|
1211
1386
|
border-radius: 999px;
|
|
1212
1387
|
}
|
|
1213
1388
|
.ff-panel__kind-desc {
|
|
1214
1389
|
margin: 0;
|
|
1215
1390
|
font-size: 12px;
|
|
1216
|
-
color:
|
|
1217
|
-
|
|
1218
|
-
.dark .ff-panel__kind-desc {
|
|
1219
|
-
color: #a1a1aa;
|
|
1391
|
+
color: var(--ff-fg-subtle);
|
|
1392
|
+
line-height: 1.5;
|
|
1220
1393
|
}
|
|
1221
1394
|
.ff-panel__divider {
|
|
1222
1395
|
border: 0;
|
|
1223
|
-
border-top: 1px solid
|
|
1224
|
-
margin:
|
|
1225
|
-
}
|
|
1226
|
-
.dark .ff-panel__divider {
|
|
1227
|
-
border-top-color: #3f3f46;
|
|
1396
|
+
border-top: 1px solid var(--ff-border);
|
|
1397
|
+
margin: 2px 0;
|
|
1228
1398
|
}
|
|
1229
1399
|
.ff-panel__actions {
|
|
1230
1400
|
margin-top: auto;
|
|
@@ -1232,73 +1402,66 @@ svg.react-flow__connectionline {
|
|
|
1232
1402
|
}
|
|
1233
1403
|
.ff-panel__delete {
|
|
1234
1404
|
width: 100%;
|
|
1235
|
-
padding:
|
|
1405
|
+
padding: 8px 10px;
|
|
1236
1406
|
font-size: 13px;
|
|
1237
1407
|
font-weight: 500;
|
|
1238
|
-
color:
|
|
1408
|
+
color: var(--ff-danger);
|
|
1239
1409
|
background: transparent;
|
|
1240
|
-
border: 1px solid
|
|
1241
|
-
border-radius:
|
|
1410
|
+
border: 1px solid var(--ff-danger);
|
|
1411
|
+
border-radius: var(--ff-radius-sm);
|
|
1242
1412
|
cursor: pointer;
|
|
1413
|
+
opacity: 0.85;
|
|
1414
|
+
transition: opacity 150ms, background 150ms;
|
|
1243
1415
|
}
|
|
1244
1416
|
.ff-panel__delete:hover {
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
}
|
|
1248
|
-
.dark .ff-panel__delete {
|
|
1249
|
-
color: #f87171;
|
|
1250
|
-
border-color: #7f1d1d;
|
|
1251
|
-
}
|
|
1252
|
-
.dark .ff-panel__delete:hover {
|
|
1253
|
-
background: rgba(127, 29, 29, 0.25);
|
|
1254
|
-
border-color: #f87171;
|
|
1417
|
+
opacity: 1;
|
|
1418
|
+
background: rgba(239, 68, 68, 0.08);
|
|
1255
1419
|
}
|
|
1256
1420
|
.ff-panel__field {
|
|
1257
1421
|
display: flex;
|
|
1258
1422
|
flex-direction: column;
|
|
1259
|
-
gap:
|
|
1423
|
+
gap: 5px;
|
|
1260
1424
|
}
|
|
1261
1425
|
.ff-panel__label {
|
|
1262
1426
|
font-size: 12px;
|
|
1263
|
-
font-weight:
|
|
1427
|
+
font-weight: 600;
|
|
1428
|
+
color: var(--ff-fg-muted);
|
|
1264
1429
|
}
|
|
1265
1430
|
.ff-panel__hint {
|
|
1266
1431
|
font-size: 11px;
|
|
1267
|
-
color:
|
|
1432
|
+
color: var(--ff-fg-faint);
|
|
1268
1433
|
margin: 0;
|
|
1269
|
-
|
|
1270
|
-
.dark .ff-panel__hint {
|
|
1271
|
-
color: #a1a1aa;
|
|
1434
|
+
line-height: 1.4;
|
|
1272
1435
|
}
|
|
1273
1436
|
.ff-panel__required {
|
|
1274
|
-
color:
|
|
1437
|
+
color: var(--ff-danger);
|
|
1275
1438
|
}
|
|
1276
1439
|
.ff-panel__input {
|
|
1277
1440
|
width: 100%;
|
|
1278
|
-
padding:
|
|
1279
|
-
border: 1px solid
|
|
1280
|
-
border-radius:
|
|
1281
|
-
background:
|
|
1441
|
+
padding: 7px 10px;
|
|
1442
|
+
border: 1px solid var(--ff-border);
|
|
1443
|
+
border-radius: var(--ff-radius-sm);
|
|
1444
|
+
background: var(--ff-surface);
|
|
1282
1445
|
color: inherit;
|
|
1283
1446
|
font: inherit;
|
|
1284
|
-
font-size:
|
|
1447
|
+
font-size: 12.5px;
|
|
1285
1448
|
box-sizing: border-box;
|
|
1449
|
+
outline: none;
|
|
1450
|
+
transition: border-color 150ms, box-shadow 150ms;
|
|
1286
1451
|
}
|
|
1287
1452
|
.ff-panel__input:focus {
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
}
|
|
1291
|
-
.dark .ff-panel__input {
|
|
1292
|
-
border-color: #3f3f46;
|
|
1453
|
+
border-color: var(--ff-accent);
|
|
1454
|
+
box-shadow: 0 0 0 3px var(--ff-accent-soft);
|
|
1293
1455
|
}
|
|
1294
1456
|
.ff-panel__input--textarea {
|
|
1295
1457
|
font-family: inherit;
|
|
1296
1458
|
resize: vertical;
|
|
1459
|
+
line-height: 1.5;
|
|
1297
1460
|
}
|
|
1298
1461
|
.ff-panel__input--expression,
|
|
1299
1462
|
.ff-panel__input--json {
|
|
1300
|
-
font-family:
|
|
1301
|
-
font-size:
|
|
1463
|
+
font-family: var(--ff-mono);
|
|
1464
|
+
font-size: 11.5px;
|
|
1302
1465
|
}
|
|
1303
1466
|
.ff-panel__switch {
|
|
1304
1467
|
display: inline-flex;
|
|
@@ -1311,7 +1474,7 @@ svg.react-flow__connectionline {
|
|
|
1311
1474
|
.ff-panel__switch-slider {
|
|
1312
1475
|
width: 32px;
|
|
1313
1476
|
height: 18px;
|
|
1314
|
-
background:
|
|
1477
|
+
background: var(--ff-border-strong);
|
|
1315
1478
|
border-radius: 999px;
|
|
1316
1479
|
position: relative;
|
|
1317
1480
|
transition: background 200ms;
|
|
@@ -1323,12 +1486,12 @@ svg.react-flow__connectionline {
|
|
|
1323
1486
|
top: 2px;
|
|
1324
1487
|
width: 14px;
|
|
1325
1488
|
height: 14px;
|
|
1326
|
-
background:
|
|
1489
|
+
background: #fff;
|
|
1327
1490
|
border-radius: 50%;
|
|
1328
1491
|
transition: left 200ms;
|
|
1329
1492
|
}
|
|
1330
1493
|
.ff-panel__switch input:checked + .ff-panel__switch-slider {
|
|
1331
|
-
background:
|
|
1494
|
+
background: var(--ff-accent);
|
|
1332
1495
|
}
|
|
1333
1496
|
.ff-panel__switch input:checked + .ff-panel__switch-slider::before {
|
|
1334
1497
|
left: 16px;
|
|
@@ -1338,12 +1501,9 @@ svg.react-flow__connectionline {
|
|
|
1338
1501
|
}
|
|
1339
1502
|
.ff-panel__issue {
|
|
1340
1503
|
font-size: 11px;
|
|
1341
|
-
color:
|
|
1504
|
+
color: var(--ff-warn);
|
|
1342
1505
|
margin: 2px 0;
|
|
1343
1506
|
}
|
|
1344
|
-
.dark .ff-panel__issue {
|
|
1345
|
-
color: #fbbf24;
|
|
1346
|
-
}
|
|
1347
1507
|
.ff-repeater {
|
|
1348
1508
|
display: flex;
|
|
1349
1509
|
flex-direction: column;
|
|
@@ -1351,25 +1511,18 @@ svg.react-flow__connectionline {
|
|
|
1351
1511
|
}
|
|
1352
1512
|
.ff-repeater__empty {
|
|
1353
1513
|
font-size: 11px;
|
|
1354
|
-
color:
|
|
1514
|
+
color: var(--ff-fg-subtle);
|
|
1355
1515
|
margin: 0;
|
|
1356
1516
|
font-style: italic;
|
|
1357
1517
|
}
|
|
1358
|
-
.dark .ff-repeater__empty {
|
|
1359
|
-
color: #a1a1aa;
|
|
1360
|
-
}
|
|
1361
1518
|
.ff-repeater__row {
|
|
1362
1519
|
display: flex;
|
|
1363
1520
|
flex-direction: column;
|
|
1364
1521
|
gap: 6px;
|
|
1365
|
-
border: 1px solid
|
|
1366
|
-
border-radius:
|
|
1367
|
-
padding:
|
|
1368
|
-
background:
|
|
1369
|
-
}
|
|
1370
|
-
.dark .ff-repeater__row {
|
|
1371
|
-
border-color: #3f3f46;
|
|
1372
|
-
background: #27272a;
|
|
1522
|
+
border: 1px solid var(--ff-border);
|
|
1523
|
+
border-radius: var(--ff-radius-sm);
|
|
1524
|
+
padding: 10px;
|
|
1525
|
+
background: var(--ff-surface);
|
|
1373
1526
|
}
|
|
1374
1527
|
.ff-repeater__row-head {
|
|
1375
1528
|
display: flex;
|
|
@@ -1380,14 +1533,11 @@ svg.react-flow__connectionline {
|
|
|
1380
1533
|
.ff-repeater__row-title {
|
|
1381
1534
|
font-size: 11px;
|
|
1382
1535
|
font-weight: 600;
|
|
1383
|
-
color:
|
|
1536
|
+
color: var(--ff-fg-muted);
|
|
1384
1537
|
overflow: hidden;
|
|
1385
1538
|
text-overflow: ellipsis;
|
|
1386
1539
|
white-space: nowrap;
|
|
1387
1540
|
}
|
|
1388
|
-
.dark .ff-repeater__row-title {
|
|
1389
|
-
color: #d4d4d8;
|
|
1390
|
-
}
|
|
1391
1541
|
.ff-repeater__row-actions {
|
|
1392
1542
|
display: flex;
|
|
1393
1543
|
gap: 2px;
|
|
@@ -1401,27 +1551,19 @@ svg.react-flow__connectionline {
|
|
|
1401
1551
|
font-size: 11px;
|
|
1402
1552
|
line-height: 1;
|
|
1403
1553
|
padding: 3px 5px;
|
|
1404
|
-
color:
|
|
1554
|
+
color: var(--ff-fg-subtle);
|
|
1405
1555
|
}
|
|
1406
1556
|
.ff-repeater__btn:hover:not(:disabled) {
|
|
1407
|
-
background:
|
|
1408
|
-
color:
|
|
1409
|
-
}
|
|
1410
|
-
.dark .ff-repeater__btn:hover:not(:disabled) {
|
|
1411
|
-
background: #3f3f46;
|
|
1412
|
-
color: #fafafa;
|
|
1557
|
+
background: var(--ff-surface-3);
|
|
1558
|
+
color: var(--ff-fg);
|
|
1413
1559
|
}
|
|
1414
1560
|
.ff-repeater__btn:disabled {
|
|
1415
1561
|
opacity: .35;
|
|
1416
1562
|
cursor: not-allowed;
|
|
1417
1563
|
}
|
|
1418
1564
|
.ff-repeater__btn--danger:hover:not(:disabled) {
|
|
1419
|
-
background:
|
|
1420
|
-
color:
|
|
1421
|
-
}
|
|
1422
|
-
.dark .ff-repeater__btn--danger:hover:not(:disabled) {
|
|
1423
|
-
background: #7f1d1d;
|
|
1424
|
-
color: #fecaca;
|
|
1565
|
+
background: rgba(239, 68, 68, 0.12);
|
|
1566
|
+
color: var(--ff-danger);
|
|
1425
1567
|
}
|
|
1426
1568
|
.ff-repeater__cell {
|
|
1427
1569
|
display: flex;
|
|
@@ -1430,34 +1572,27 @@ svg.react-flow__connectionline {
|
|
|
1430
1572
|
}
|
|
1431
1573
|
.ff-panel__label--sub {
|
|
1432
1574
|
font-size: 11px;
|
|
1433
|
-
color:
|
|
1575
|
+
color: var(--ff-fg-subtle);
|
|
1434
1576
|
font-weight: 400;
|
|
1435
1577
|
}
|
|
1436
|
-
.dark .ff-panel__label--sub {
|
|
1437
|
-
color: #a1a1aa;
|
|
1438
|
-
}
|
|
1439
1578
|
.ff-repeater__add {
|
|
1440
1579
|
align-self: flex-start;
|
|
1441
|
-
border: 1px dashed
|
|
1580
|
+
border: 1px dashed var(--ff-border-strong);
|
|
1442
1581
|
background: transparent;
|
|
1443
|
-
border-radius:
|
|
1444
|
-
padding:
|
|
1582
|
+
border-radius: var(--ff-radius-sm);
|
|
1583
|
+
padding: 6px 11px;
|
|
1445
1584
|
font-size: 11px;
|
|
1446
|
-
color:
|
|
1585
|
+
color: var(--ff-fg-muted);
|
|
1447
1586
|
cursor: pointer;
|
|
1448
1587
|
}
|
|
1449
1588
|
.ff-repeater__add:hover:not(:disabled) {
|
|
1450
|
-
border-color:
|
|
1451
|
-
color:
|
|
1589
|
+
border-color: var(--ff-accent);
|
|
1590
|
+
color: var(--ff-accent);
|
|
1452
1591
|
}
|
|
1453
1592
|
.ff-repeater__add:disabled {
|
|
1454
1593
|
opacity: .4;
|
|
1455
1594
|
cursor: not-allowed;
|
|
1456
1595
|
}
|
|
1457
|
-
.dark .ff-repeater__add {
|
|
1458
|
-
border-color: #52525b;
|
|
1459
|
-
color: #d4d4d8;
|
|
1460
|
-
}
|
|
1461
1596
|
.ff-keyvalue {
|
|
1462
1597
|
display: flex;
|
|
1463
1598
|
flex-direction: column;
|
|
@@ -1474,15 +1609,12 @@ svg.react-flow__connectionline {
|
|
|
1474
1609
|
font-size: 10px;
|
|
1475
1610
|
text-transform: uppercase;
|
|
1476
1611
|
letter-spacing: .04em;
|
|
1477
|
-
color:
|
|
1612
|
+
color: var(--ff-fg-faint);
|
|
1478
1613
|
}
|
|
1479
1614
|
.ff-panel__hint--missing {
|
|
1480
|
-
color:
|
|
1615
|
+
color: var(--ff-warn);
|
|
1481
1616
|
font-style: italic;
|
|
1482
1617
|
}
|
|
1483
|
-
.dark .ff-panel__hint--missing {
|
|
1484
|
-
color: #fbbf24;
|
|
1485
|
-
}
|
|
1486
1618
|
.ff-editor__edge-label {
|
|
1487
1619
|
padding: 6px;
|
|
1488
1620
|
min-width: 200px;
|
|
@@ -1496,184 +1628,161 @@ svg.react-flow__connectionline {
|
|
|
1496
1628
|
gap: 6px;
|
|
1497
1629
|
}
|
|
1498
1630
|
.ff-rich-preview__frame {
|
|
1499
|
-
border: 1px solid
|
|
1500
|
-
border-radius:
|
|
1631
|
+
border: 1px solid var(--ff-border);
|
|
1632
|
+
border-radius: var(--ff-radius-sm);
|
|
1501
1633
|
overflow: hidden;
|
|
1502
1634
|
max-height: 180px;
|
|
1503
|
-
background:
|
|
1504
|
-
}
|
|
1505
|
-
.dark .ff-rich-preview__frame {
|
|
1506
|
-
border-color: #3f3f46;
|
|
1507
|
-
background: #18181b;
|
|
1635
|
+
background: var(--ff-surface);
|
|
1508
1636
|
}
|
|
1509
1637
|
.ff-rich-preview__unavailable {
|
|
1510
|
-
border: 1px dashed
|
|
1511
|
-
border-radius:
|
|
1638
|
+
border: 1px dashed var(--ff-border-strong);
|
|
1639
|
+
border-radius: var(--ff-radius-sm);
|
|
1512
1640
|
padding: 10px;
|
|
1513
1641
|
font-size: 11px;
|
|
1514
|
-
color:
|
|
1642
|
+
color: var(--ff-fg-subtle);
|
|
1515
1643
|
line-height: 1.5;
|
|
1516
1644
|
}
|
|
1517
|
-
.dark .ff-rich-preview__unavailable {
|
|
1518
|
-
border-color: #52525b;
|
|
1519
|
-
color: #a1a1aa;
|
|
1520
|
-
}
|
|
1521
1645
|
.ff-rich-preview__unavailable code {
|
|
1522
1646
|
font-size: 10px;
|
|
1523
|
-
background:
|
|
1647
|
+
background: var(--ff-surface-3);
|
|
1524
1648
|
padding: 1px 4px;
|
|
1525
1649
|
border-radius: 3px;
|
|
1526
1650
|
}
|
|
1527
|
-
.dark .ff-rich-preview__unavailable code {
|
|
1528
|
-
background: #27272a;
|
|
1529
|
-
}
|
|
1530
1651
|
.ff-rich-preview__title {
|
|
1531
1652
|
font-size: 11px;
|
|
1532
1653
|
font-weight: 600;
|
|
1533
|
-
color:
|
|
1534
|
-
}
|
|
1535
|
-
.dark .ff-rich-preview__title {
|
|
1536
|
-
color: #d4d4d8;
|
|
1654
|
+
color: var(--ff-fg-muted);
|
|
1537
1655
|
}
|
|
1538
1656
|
.ff-node--resizable {
|
|
1539
1657
|
max-width: none;
|
|
1540
1658
|
width: 100%;
|
|
1541
1659
|
height: 100%;
|
|
1542
1660
|
}
|
|
1543
|
-
.
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
.dark .react-flow__resize-control.line {
|
|
1553
|
-
border-color: rgba(255, 255, 255, 0.18);
|
|
1554
|
-
}
|
|
1555
|
-
.dark .react-flow__resize-control.handle {
|
|
1556
|
-
border-color: #1c1917;
|
|
1661
|
+
.ff-prompt-overlay {
|
|
1662
|
+
position: absolute;
|
|
1663
|
+
inset: 0;
|
|
1664
|
+
z-index: 20;
|
|
1665
|
+
display: grid;
|
|
1666
|
+
place-items: center;
|
|
1667
|
+
padding: 16px;
|
|
1668
|
+
background: rgba(9, 9, 11, 0.5);
|
|
1669
|
+
backdrop-filter: blur(2px);
|
|
1557
1670
|
}
|
|
1558
|
-
.ff-
|
|
1671
|
+
.ff-prompt {
|
|
1559
1672
|
width: 100%;
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
border-radius:
|
|
1565
|
-
|
|
1673
|
+
max-width: 420px;
|
|
1674
|
+
max-height: 100%;
|
|
1675
|
+
overflow: auto;
|
|
1676
|
+
padding: 18px;
|
|
1677
|
+
border-radius: var(--ff-radius);
|
|
1678
|
+
background: var(--ff-surface);
|
|
1679
|
+
border: 1px solid var(--ff-border);
|
|
1680
|
+
box-shadow: var(--ff-shadow-lg);
|
|
1681
|
+
font-family: var(--ff-font);
|
|
1682
|
+
color: var(--ff-fg);
|
|
1683
|
+
}
|
|
1684
|
+
.ff-prompt__title {
|
|
1685
|
+
font-size: 14px;
|
|
1686
|
+
font-weight: 600;
|
|
1687
|
+
color: var(--ff-fg);
|
|
1688
|
+
margin-bottom: 10px;
|
|
1566
1689
|
}
|
|
1567
|
-
.ff-
|
|
1568
|
-
|
|
1690
|
+
.ff-prompt__desc {
|
|
1691
|
+
font-size: 13px;
|
|
1692
|
+
line-height: 1.5;
|
|
1693
|
+
color: var(--ff-fg-subtle);
|
|
1694
|
+
margin-bottom: 12px;
|
|
1569
1695
|
}
|
|
1570
|
-
.ff-
|
|
1696
|
+
.ff-prompt__fields {
|
|
1571
1697
|
display: flex;
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
color: #fff;
|
|
1576
|
-
font-size: 11px;
|
|
1577
|
-
font-weight: 600;
|
|
1578
|
-
font-family:
|
|
1579
|
-
ui-sans-serif,
|
|
1580
|
-
system-ui,
|
|
1581
|
-
sans-serif;
|
|
1582
|
-
border-radius: 7px 7px 0 0;
|
|
1698
|
+
flex-direction: column;
|
|
1699
|
+
gap: 12px;
|
|
1700
|
+
margin-bottom: 16px;
|
|
1583
1701
|
}
|
|
1584
|
-
.ff-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1702
|
+
.ff-prompt__field {
|
|
1703
|
+
display: flex;
|
|
1704
|
+
flex-direction: column;
|
|
1705
|
+
gap: 5px;
|
|
1588
1706
|
}
|
|
1589
|
-
.ff-
|
|
1707
|
+
.ff-prompt__label {
|
|
1708
|
+
font-size: 12px;
|
|
1709
|
+
font-weight: 500;
|
|
1710
|
+
color: var(--ff-fg-muted);
|
|
1711
|
+
}
|
|
1712
|
+
.ff-prompt__req {
|
|
1713
|
+
color: var(--ff-danger);
|
|
1714
|
+
}
|
|
1715
|
+
.ff-prompt__input {
|
|
1590
1716
|
width: 100%;
|
|
1591
|
-
height: 100%;
|
|
1592
1717
|
box-sizing: border-box;
|
|
1593
1718
|
padding: 8px 10px;
|
|
1594
|
-
|
|
1595
|
-
border-radius:
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
overflow: hidden;
|
|
1602
|
-
display: flex;
|
|
1603
|
-
flex-direction: column;
|
|
1604
|
-
gap: 4px;
|
|
1719
|
+
font-size: 13px;
|
|
1720
|
+
border-radius: var(--ff-radius-sm);
|
|
1721
|
+
border: 1px solid var(--ff-border);
|
|
1722
|
+
background: var(--ff-surface);
|
|
1723
|
+
color: var(--ff-fg);
|
|
1724
|
+
outline: none;
|
|
1725
|
+
transition: border-color 150ms, box-shadow 150ms;
|
|
1605
1726
|
}
|
|
1606
|
-
.ff-
|
|
1607
|
-
|
|
1727
|
+
.ff-prompt__input:focus {
|
|
1728
|
+
border-color: var(--ff-accent);
|
|
1729
|
+
box-shadow: 0 0 0 3px var(--ff-accent-soft);
|
|
1608
1730
|
}
|
|
1609
|
-
.ff-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
text-transform: uppercase;
|
|
1613
|
-
letter-spacing: 0.04em;
|
|
1731
|
+
.ff-prompt__switch {
|
|
1732
|
+
width: 16px;
|
|
1733
|
+
height: 16px;
|
|
1614
1734
|
}
|
|
1615
|
-
.ff-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
line-height: 1.5;
|
|
1620
|
-
color: #3f3f46;
|
|
1621
|
-
white-space: pre-wrap;
|
|
1622
|
-
overflow: auto;
|
|
1735
|
+
.ff-prompt__actions {
|
|
1736
|
+
display: flex;
|
|
1737
|
+
justify-content: flex-end;
|
|
1738
|
+
gap: 8px;
|
|
1623
1739
|
}
|
|
1624
|
-
.
|
|
1625
|
-
|
|
1740
|
+
.ff-prompt__btn {
|
|
1741
|
+
padding: 8px 14px;
|
|
1742
|
+
font-size: 13px;
|
|
1743
|
+
font-weight: 500;
|
|
1744
|
+
border-radius: var(--ff-radius-sm);
|
|
1745
|
+
border: 1px solid transparent;
|
|
1746
|
+
cursor: pointer;
|
|
1626
1747
|
}
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1748
|
+
.ff-prompt__btn--ghost {
|
|
1749
|
+
background: transparent;
|
|
1750
|
+
border-color: var(--ff-border-strong);
|
|
1751
|
+
color: var(--ff-fg-muted);
|
|
1631
1752
|
}
|
|
1632
|
-
.ff-
|
|
1633
|
-
|
|
1634
|
-
font-style: italic;
|
|
1753
|
+
.ff-prompt__btn--ghost:hover {
|
|
1754
|
+
background: var(--ff-surface-3);
|
|
1635
1755
|
}
|
|
1636
|
-
.ff-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
width: 100%;
|
|
1640
|
-
resize: none;
|
|
1641
|
-
border: none;
|
|
1642
|
-
outline: none;
|
|
1643
|
-
background: transparent;
|
|
1644
|
-
font: inherit;
|
|
1645
|
-
font-size: 12px;
|
|
1646
|
-
line-height: 1.5;
|
|
1647
|
-
color: inherit;
|
|
1756
|
+
.ff-prompt__btn--primary {
|
|
1757
|
+
background: var(--ff-accent);
|
|
1758
|
+
color: #fff;
|
|
1648
1759
|
}
|
|
1649
|
-
.ff-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
font-size: 11px;
|
|
1653
|
-
font-family:
|
|
1654
|
-
ui-monospace,
|
|
1655
|
-
"SF Mono",
|
|
1656
|
-
Menlo,
|
|
1657
|
-
monospace;
|
|
1658
|
-
color: #059669;
|
|
1659
|
-
overflow: hidden;
|
|
1660
|
-
text-overflow: ellipsis;
|
|
1661
|
-
white-space: nowrap;
|
|
1760
|
+
.ff-prompt__btn--primary:disabled {
|
|
1761
|
+
opacity: 0.5;
|
|
1762
|
+
cursor: not-allowed;
|
|
1662
1763
|
}
|
|
1663
|
-
.
|
|
1664
|
-
|
|
1764
|
+
.ff-prompt__btn--danger {
|
|
1765
|
+
background: transparent;
|
|
1766
|
+
border-color: var(--ff-danger);
|
|
1767
|
+
color: var(--ff-danger);
|
|
1665
1768
|
}
|
|
1666
1769
|
.ff-helper-line {
|
|
1667
|
-
background:
|
|
1770
|
+
background: var(--ff-accent);
|
|
1668
1771
|
}
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1772
|
+
@media (max-width: 1024px) {
|
|
1773
|
+
.ff-editor {
|
|
1774
|
+
grid-template-columns: 190px 1fr;
|
|
1775
|
+
}
|
|
1776
|
+
.ff-editor__panel-wrap {
|
|
1777
|
+
display: none;
|
|
1778
|
+
}
|
|
1672
1779
|
}
|
|
1673
|
-
@media (
|
|
1674
|
-
.ff-
|
|
1675
|
-
|
|
1676
|
-
|
|
1780
|
+
@media (max-width: 720px) {
|
|
1781
|
+
.ff-editor {
|
|
1782
|
+
grid-template-columns: 1fr;
|
|
1783
|
+
}
|
|
1784
|
+
.ff-editor__palette {
|
|
1785
|
+
display: none;
|
|
1677
1786
|
}
|
|
1678
1787
|
}
|
|
1679
1788
|
/*# sourceMappingURL=styles.css.map */
|