@co0ontty/wand 1.42.0 → 1.43.1
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.
|
@@ -15549,227 +15549,425 @@
|
|
|
15549
15549
|
}
|
|
15550
15550
|
.qc-clean-badge svg { flex-shrink: 0; }
|
|
15551
15551
|
|
|
15552
|
-
/*
|
|
15553
|
-
.
|
|
15552
|
+
/* ── Quick commit release panel ─────────────────────────────── */
|
|
15553
|
+
.quick-commit-modal {
|
|
15554
|
+
max-width: 620px;
|
|
15555
|
+
}
|
|
15556
|
+
.quick-commit-modal .modal-body {
|
|
15557
|
+
gap: 0;
|
|
15558
|
+
}
|
|
15559
|
+
.qc-release-panel,
|
|
15560
|
+
.qc-result-panel {
|
|
15561
|
+
display: flex;
|
|
15562
|
+
flex-direction: column;
|
|
15563
|
+
gap: 14px;
|
|
15564
|
+
}
|
|
15565
|
+
.qc-pair {
|
|
15566
|
+
display: grid;
|
|
15567
|
+
grid-template-columns: 72px minmax(0, 1fr);
|
|
15568
|
+
gap: 12px;
|
|
15569
|
+
align-items: start;
|
|
15570
|
+
}
|
|
15571
|
+
.qc-pair-label {
|
|
15572
|
+
padding-top: 9px;
|
|
15573
|
+
font-size: 0.72rem;
|
|
15574
|
+
font-weight: 800;
|
|
15575
|
+
color: var(--text-muted);
|
|
15576
|
+
letter-spacing: 0.06em;
|
|
15577
|
+
text-transform: uppercase;
|
|
15578
|
+
}
|
|
15579
|
+
.qc-pair-flow {
|
|
15580
|
+
display: grid;
|
|
15581
|
+
grid-template-columns: minmax(0, 0.9fr) 24px minmax(0, 1.1fr);
|
|
15582
|
+
gap: 8px;
|
|
15583
|
+
align-items: center;
|
|
15584
|
+
min-width: 0;
|
|
15585
|
+
}
|
|
15586
|
+
.qc-pair-value {
|
|
15587
|
+
min-width: 0;
|
|
15588
|
+
min-height: 38px;
|
|
15554
15589
|
display: flex;
|
|
15555
15590
|
align-items: center;
|
|
15556
15591
|
gap: 8px;
|
|
15592
|
+
padding: 8px 10px;
|
|
15593
|
+
border: 1px solid rgba(125, 91, 57, 0.12);
|
|
15594
|
+
border-radius: 8px;
|
|
15595
|
+
background: rgba(255, 255, 255, 0.52);
|
|
15596
|
+
color: var(--text-secondary);
|
|
15597
|
+
overflow: hidden;
|
|
15557
15598
|
}
|
|
15558
|
-
.qc-
|
|
15599
|
+
.qc-pair-value--to {
|
|
15600
|
+
background: rgba(255, 255, 255, 0.84);
|
|
15601
|
+
border-color: rgba(197, 101, 61, 0.22);
|
|
15602
|
+
color: var(--text-primary);
|
|
15603
|
+
}
|
|
15604
|
+
.qc-pair-value code {
|
|
15559
15605
|
flex-shrink: 0;
|
|
15560
|
-
font-
|
|
15606
|
+
font-family: var(--font-mono, monospace);
|
|
15607
|
+
font-size: 0.78rem;
|
|
15561
15608
|
font-weight: 700;
|
|
15562
|
-
|
|
15563
|
-
|
|
15564
|
-
text-transform: uppercase;
|
|
15565
|
-
padding: 1px 6px;
|
|
15609
|
+
color: var(--accent);
|
|
15610
|
+
background: rgba(197, 101, 61, 0.09);
|
|
15566
15611
|
border-radius: 5px;
|
|
15567
|
-
|
|
15612
|
+
padding: 2px 6px;
|
|
15568
15613
|
}
|
|
15569
|
-
.qc-
|
|
15570
|
-
flex: 1 1 auto;
|
|
15614
|
+
.qc-pair-value span {
|
|
15571
15615
|
min-width: 0;
|
|
15572
|
-
font-family: var(--font-mono, monospace);
|
|
15573
|
-
font-size: 0.78rem;
|
|
15574
|
-
color: var(--text-primary);
|
|
15575
15616
|
overflow: hidden;
|
|
15576
15617
|
text-overflow: ellipsis;
|
|
15577
15618
|
white-space: nowrap;
|
|
15578
|
-
|
|
15579
|
-
padding: 0;
|
|
15619
|
+
font-size: 0.82rem;
|
|
15580
15620
|
}
|
|
15581
|
-
|
|
15582
|
-
|
|
15583
|
-
.qc-status-chips {
|
|
15584
|
-
display: flex;
|
|
15585
|
-
flex-wrap: wrap;
|
|
15586
|
-
gap: 6px;
|
|
15621
|
+
.qc-pair--commit .qc-pair-flow {
|
|
15622
|
+
align-items: stretch;
|
|
15587
15623
|
}
|
|
15588
|
-
.qc-
|
|
15589
|
-
|
|
15590
|
-
align-items:
|
|
15591
|
-
gap: 4px;
|
|
15592
|
-
padding: 3px 9px;
|
|
15593
|
-
border-radius: 999px;
|
|
15594
|
-
font-size: 0.72rem;
|
|
15595
|
-
font-weight: 600;
|
|
15596
|
-
line-height: 1.4;
|
|
15597
|
-
background: rgba(120, 120, 120, 0.08);
|
|
15598
|
-
color: var(--text-secondary);
|
|
15599
|
-
border: 1px solid rgba(120, 120, 120, 0.12);
|
|
15600
|
-
white-space: nowrap;
|
|
15624
|
+
.qc-pair--commit .qc-pair-value {
|
|
15625
|
+
min-height: 76px;
|
|
15626
|
+
align-items: flex-start;
|
|
15601
15627
|
}
|
|
15602
|
-
.qc-
|
|
15603
|
-
|
|
15604
|
-
|
|
15605
|
-
|
|
15628
|
+
.qc-pair--commit .qc-pair-value--to {
|
|
15629
|
+
padding: 0;
|
|
15630
|
+
border: 0;
|
|
15631
|
+
background: transparent;
|
|
15606
15632
|
}
|
|
15607
|
-
.qc-
|
|
15608
|
-
|
|
15609
|
-
|
|
15610
|
-
|
|
15633
|
+
.qc-pair--commit .qc-message-input {
|
|
15634
|
+
min-height: 76px;
|
|
15635
|
+
width: 100%;
|
|
15636
|
+
resize: vertical;
|
|
15611
15637
|
}
|
|
15612
|
-
.qc-
|
|
15613
|
-
|
|
15614
|
-
|
|
15615
|
-
|
|
15638
|
+
.qc-pair--tag .qc-pair-value--to {
|
|
15639
|
+
padding: 0;
|
|
15640
|
+
border: 0;
|
|
15641
|
+
background: transparent;
|
|
15616
15642
|
}
|
|
15617
|
-
.qc-
|
|
15618
|
-
|
|
15619
|
-
|
|
15620
|
-
border-color: rgba(60, 160, 90, 0.24);
|
|
15643
|
+
.qc-pair--tag .qc-tag-field-input {
|
|
15644
|
+
width: 100%;
|
|
15645
|
+
min-height: 38px;
|
|
15621
15646
|
}
|
|
15622
|
-
|
|
15623
|
-
/* "为当前提交打 Tag" button (icon + text, balances the push button) */
|
|
15624
|
-
.qc-tag-head-btn {
|
|
15647
|
+
.qc-pair-arrow {
|
|
15625
15648
|
display: inline-flex;
|
|
15626
15649
|
align-items: center;
|
|
15627
|
-
|
|
15650
|
+
justify-content: center;
|
|
15651
|
+
color: var(--text-muted);
|
|
15652
|
+
font-weight: 800;
|
|
15653
|
+
font-family: var(--font-mono, monospace);
|
|
15628
15654
|
}
|
|
15629
|
-
.qc-
|
|
15630
|
-
|
|
15631
|
-
|
|
15632
|
-
border-color: rgba(140, 100, 200, 0.28);
|
|
15633
|
-
color: rgba(96, 60, 160, 0.98);
|
|
15655
|
+
.qc-muted {
|
|
15656
|
+
color: var(--text-muted);
|
|
15657
|
+
font-style: italic;
|
|
15634
15658
|
}
|
|
15635
|
-
|
|
15636
|
-
|
|
15637
|
-
.qc-tag-head-panel {
|
|
15659
|
+
.qc-modal-actions,
|
|
15660
|
+
.qc-result-actions {
|
|
15638
15661
|
display: flex;
|
|
15639
|
-
|
|
15662
|
+
justify-content: flex-end;
|
|
15640
15663
|
gap: 8px;
|
|
15641
|
-
padding: 11px 12px;
|
|
15642
|
-
background: rgba(255, 255, 255, 0.85);
|
|
15643
|
-
border: 1px solid rgba(140, 100, 200, 0.18);
|
|
15644
|
-
border-radius: 10px;
|
|
15645
15664
|
}
|
|
15646
|
-
.qc-
|
|
15647
|
-
|
|
15648
|
-
color: var(--text-muted);
|
|
15649
|
-
line-height: 1.4;
|
|
15650
|
-
}
|
|
15651
|
-
.qc-tag-head-row {
|
|
15652
|
-
display: flex;
|
|
15653
|
-
gap: 6px;
|
|
15654
|
-
align-items: stretch;
|
|
15665
|
+
.qc-result-panel {
|
|
15666
|
+
padding-top: 2px;
|
|
15655
15667
|
}
|
|
15656
|
-
.qc-
|
|
15657
|
-
|
|
15658
|
-
display: flex;
|
|
15668
|
+
.qc-result-pushed {
|
|
15669
|
+
display: inline-flex;
|
|
15659
15670
|
align-items: center;
|
|
15660
|
-
|
|
15671
|
+
min-height: 30px;
|
|
15672
|
+
padding: 0 10px;
|
|
15673
|
+
border-radius: 999px;
|
|
15674
|
+
color: rgba(40, 130, 70, 0.95);
|
|
15675
|
+
background: rgba(60, 160, 90, 0.12);
|
|
15676
|
+
border: 1px solid rgba(60, 160, 90, 0.24);
|
|
15661
15677
|
font-size: 0.78rem;
|
|
15662
|
-
|
|
15663
|
-
cursor: pointer;
|
|
15664
|
-
user-select: none;
|
|
15678
|
+
font-weight: 700;
|
|
15665
15679
|
}
|
|
15666
|
-
|
|
15680
|
+
|
|
15681
|
+
/* ================================================================
|
|
15682
|
+
Quick-Git drag slider — v2
|
|
15683
|
+
Layout: [ 🔘 Commit ] ────→ [ Tag ] ────→ [ Push ]
|
|
15684
|
+
- Tap (no drag) → Commit
|
|
15685
|
+
- Drag straight to Push → Commit + Push (skipped Tag — fast through)
|
|
15686
|
+
- Drag to Tag, dwell ~600ms → Tag latch arms
|
|
15687
|
+
- Released at Tag (armed) → Commit + Tag
|
|
15688
|
+
- Continue armed → Push → Commit + Tag + Push
|
|
15689
|
+
Empty commit message / tag → auto-generated by the backend on submit
|
|
15690
|
+
================================================================ */
|
|
15691
|
+
.qc-drag-wrap {
|
|
15692
|
+
padding-top: 4px;
|
|
15667
15693
|
display: flex;
|
|
15668
|
-
|
|
15694
|
+
flex-direction: column;
|
|
15669
15695
|
gap: 6px;
|
|
15670
15696
|
}
|
|
15671
|
-
|
|
15672
|
-
|
|
15673
|
-
|
|
15697
|
+
.qc-drag-track {
|
|
15698
|
+
--qc-progress: 0%;
|
|
15699
|
+
--qc-knob-x: 6px;
|
|
15700
|
+
--qc-tone: var(--accent);
|
|
15701
|
+
--qc-tone-soft: rgba(197, 101, 61, 0.20);
|
|
15702
|
+
/* Keep in sync with QUICK_COMMIT_TAG_DWELL_MS in scripts.js */
|
|
15703
|
+
--qc-dwell-ms: 1100ms;
|
|
15674
15704
|
position: relative;
|
|
15675
|
-
|
|
15676
|
-
|
|
15677
|
-
|
|
15705
|
+
height: 76px;
|
|
15706
|
+
padding: 10px 12px;
|
|
15707
|
+
border-radius: 14px;
|
|
15708
|
+
border: 1px solid rgba(125, 91, 57, 0.18);
|
|
15709
|
+
background:
|
|
15710
|
+
radial-gradient(120% 100% at 50% 50%, rgba(255, 255, 255, 0.58), rgba(255, 245, 235, 0.20)),
|
|
15711
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 245, 235, 0.24));
|
|
15712
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 1px 3px rgba(89, 58, 32, 0.05);
|
|
15713
|
+
overflow: hidden;
|
|
15714
|
+
touch-action: none;
|
|
15715
|
+
user-select: none;
|
|
15716
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
15678
15717
|
}
|
|
15679
|
-
.qc-
|
|
15680
|
-
border-
|
|
15681
|
-
|
|
15682
|
-
padding-right: 12px;
|
|
15718
|
+
.qc-drag-track:hover {
|
|
15719
|
+
border-color: rgba(125, 91, 57, 0.30);
|
|
15720
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 2px 8px rgba(89, 58, 32, 0.08);
|
|
15683
15721
|
}
|
|
15684
|
-
.
|
|
15685
|
-
|
|
15686
|
-
|
|
15687
|
-
|
|
15688
|
-
|
|
15689
|
-
|
|
15690
|
-
|
|
15722
|
+
/* Track tone shifts per current action so the whole panel echoes the knob color. */
|
|
15723
|
+
.qc-drag-track[data-action="commit-tag"] { --qc-tone: #4a6fa5; --qc-tone-soft: rgba(74, 111, 165, 0.20); }
|
|
15724
|
+
.qc-drag-track[data-action="commit-push"] { --qc-tone: #4f7a58; --qc-tone-soft: rgba(79, 122, 88, 0.22); }
|
|
15725
|
+
.qc-drag-track[data-action="commit-tag-push"] { --qc-tone: #7c5aa8; --qc-tone-soft: rgba(124, 90, 168, 0.24); }
|
|
15726
|
+
|
|
15727
|
+
/* Baseline rail — Commit → Tag → Push. Segments brighten as the knob crosses them. */
|
|
15728
|
+
.qc-drag-baseline {
|
|
15729
|
+
position: absolute;
|
|
15730
|
+
inset: 0 14px;
|
|
15731
|
+
width: calc(100% - 28px);
|
|
15732
|
+
height: 100%;
|
|
15733
|
+
pointer-events: none;
|
|
15734
|
+
}
|
|
15735
|
+
.qc-baseline-rail {
|
|
15736
|
+
stroke: rgba(125, 91, 57, 0.16);
|
|
15737
|
+
stroke-width: 2;
|
|
15738
|
+
stroke-linecap: round;
|
|
15739
|
+
}
|
|
15740
|
+
.qc-baseline-seg {
|
|
15741
|
+
stroke: var(--qc-tone);
|
|
15742
|
+
stroke-width: 2;
|
|
15743
|
+
stroke-linecap: round;
|
|
15744
|
+
opacity: 0;
|
|
15745
|
+
transition: opacity 0.2s ease, stroke 0.2s ease;
|
|
15746
|
+
}
|
|
15747
|
+
.qc-drag-track[data-zone="tag"] .qc-baseline-seg--left,
|
|
15748
|
+
.qc-drag-track[data-zone="push"] .qc-baseline-seg--left { opacity: 0.85; }
|
|
15749
|
+
.qc-drag-track[data-zone="push"] .qc-baseline-seg--right { opacity: 0.85; }
|
|
15750
|
+
|
|
15751
|
+
/* Three marching chevrons → drag this way */
|
|
15752
|
+
.qc-chevrons {
|
|
15753
|
+
position: absolute;
|
|
15754
|
+
top: 50%;
|
|
15755
|
+
right: 16px;
|
|
15756
|
+
transform: translateY(-50%);
|
|
15757
|
+
display: flex;
|
|
15691
15758
|
align-items: center;
|
|
15692
|
-
|
|
15759
|
+
gap: 3px;
|
|
15760
|
+
pointer-events: none;
|
|
15761
|
+
color: rgba(125, 91, 57, 0.42);
|
|
15762
|
+
z-index: 1;
|
|
15693
15763
|
}
|
|
15694
|
-
.qc-
|
|
15695
|
-
|
|
15764
|
+
.qc-chevron {
|
|
15765
|
+
opacity: 0.16;
|
|
15766
|
+
animation: qc-chevron-march 1.3s ease-in-out infinite;
|
|
15767
|
+
}
|
|
15768
|
+
.qc-chevron:nth-child(1) { animation-delay: 0s; }
|
|
15769
|
+
.qc-chevron:nth-child(2) { animation-delay: 0.16s; }
|
|
15770
|
+
.qc-chevron:nth-child(3) { animation-delay: 0.32s; }
|
|
15771
|
+
.qc-drag-track[data-zone="tag"] .qc-chevrons { color: var(--qc-tone); }
|
|
15772
|
+
.qc-drag-track[data-zone="push"] .qc-chevrons { opacity: 0.25; }
|
|
15773
|
+
.qc-drag-track[data-tag-dwell="armed"] .qc-chevrons { color: var(--qc-tone); }
|
|
15774
|
+
.qc-drag-track[data-tag-dwell="armed"] .qc-chevron { animation-duration: 0.8s; }
|
|
15775
|
+
.qc-drag-track.is-dragging .qc-chevron { animation-play-state: paused; opacity: 0.55; }
|
|
15776
|
+
@keyframes qc-chevron-march {
|
|
15777
|
+
0%, 100% { opacity: 0.10; transform: translateX(-4px); }
|
|
15778
|
+
45% { opacity: 0.95; transform: translateX(0); }
|
|
15779
|
+
75% { opacity: 0.45; transform: translateX(3px); }
|
|
15780
|
+
}
|
|
15781
|
+
|
|
15782
|
+
/* Stage labels along the rail */
|
|
15783
|
+
.qc-drag-stages {
|
|
15784
|
+
position: absolute;
|
|
15785
|
+
inset: 12px 18px;
|
|
15786
|
+
display: grid;
|
|
15787
|
+
grid-template-columns: 1fr 1fr 1fr;
|
|
15788
|
+
align-items: end;
|
|
15789
|
+
pointer-events: none;
|
|
15790
|
+
z-index: 2;
|
|
15696
15791
|
}
|
|
15697
|
-
.qc-
|
|
15698
|
-
|
|
15792
|
+
.qc-drag-stage {
|
|
15793
|
+
align-self: end;
|
|
15794
|
+
padding-bottom: 6px;
|
|
15795
|
+
font-size: 0.68rem;
|
|
15796
|
+
font-weight: 800;
|
|
15797
|
+
color: var(--text-muted);
|
|
15798
|
+
letter-spacing: 0.06em;
|
|
15799
|
+
text-transform: uppercase;
|
|
15800
|
+
transition: color 0.18s ease, transform 0.18s ease;
|
|
15801
|
+
}
|
|
15802
|
+
.qc-stage-commit { justify-self: start; padding-left: 4px; }
|
|
15803
|
+
.qc-stage-tag { justify-self: center; }
|
|
15804
|
+
.qc-stage-push { justify-self: end; padding-right: 4px; }
|
|
15805
|
+
.qc-drag-stage.is-passed { color: var(--qc-tone); }
|
|
15806
|
+
.qc-drag-stage.is-active { transform: translateY(-1px); }
|
|
15807
|
+
/* Tag stage gets a little dot indicator that pulses while user dwells. */
|
|
15808
|
+
.qc-stage-tag::before {
|
|
15809
|
+
content: "";
|
|
15810
|
+
display: block;
|
|
15811
|
+
width: 6px;
|
|
15812
|
+
height: 6px;
|
|
15813
|
+
margin: 0 auto 4px;
|
|
15814
|
+
border-radius: 50%;
|
|
15815
|
+
background: rgba(125, 91, 57, 0.30);
|
|
15816
|
+
transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
|
|
15817
|
+
}
|
|
15818
|
+
.qc-drag-stage.qc-stage-tag.is-passed::before {
|
|
15819
|
+
background: var(--qc-tone);
|
|
15820
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--qc-tone) 22%, transparent);
|
|
15699
15821
|
}
|
|
15700
|
-
.qc-
|
|
15701
|
-
|
|
15822
|
+
.qc-drag-track[data-tag-dwell="active"] .qc-stage-tag::before {
|
|
15823
|
+
background: var(--qc-tone);
|
|
15824
|
+
animation: qc-tag-dot-pulse var(--qc-dwell-ms) ease-out forwards;
|
|
15825
|
+
}
|
|
15826
|
+
.qc-drag-track[data-tag-dwell="armed"] .qc-stage-tag::before {
|
|
15827
|
+
background: var(--qc-tone);
|
|
15828
|
+
transform: scale(1.4);
|
|
15829
|
+
box-shadow: 0 0 0 6px color-mix(in srgb, var(--qc-tone) 22%, transparent);
|
|
15830
|
+
}
|
|
15831
|
+
@keyframes qc-tag-dot-pulse {
|
|
15832
|
+
0% { transform: scale(1); }
|
|
15833
|
+
100% { transform: scale(1.35); box-shadow: 0 0 0 6px color-mix(in srgb, var(--qc-tone) 18%, transparent); }
|
|
15702
15834
|
}
|
|
15703
15835
|
|
|
15704
|
-
/*
|
|
15705
|
-
.qc-
|
|
15836
|
+
/* The draggable knob — starts at left, breathes when idle, snaps colors per zone. */
|
|
15837
|
+
.qc-drag-action {
|
|
15706
15838
|
position: absolute;
|
|
15707
|
-
|
|
15708
|
-
|
|
15709
|
-
|
|
15710
|
-
|
|
15711
|
-
|
|
15712
|
-
|
|
15713
|
-
|
|
15714
|
-
|
|
15839
|
+
left: var(--qc-knob-x, 6px);
|
|
15840
|
+
top: 50%;
|
|
15841
|
+
z-index: 3;
|
|
15842
|
+
width: 42%;
|
|
15843
|
+
min-width: 138px;
|
|
15844
|
+
max-width: 200px;
|
|
15845
|
+
height: 56px;
|
|
15846
|
+
padding: 0 16px;
|
|
15847
|
+
border: 0;
|
|
15715
15848
|
border-radius: 12px;
|
|
15716
|
-
|
|
15717
|
-
|
|
15718
|
-
|
|
15719
|
-
|
|
15720
|
-
|
|
15721
|
-
|
|
15722
|
-
|
|
15849
|
+
background: linear-gradient(180deg, var(--qc-tone), color-mix(in srgb, var(--qc-tone) 84%, black));
|
|
15850
|
+
color: white;
|
|
15851
|
+
font-family: var(--font-sans);
|
|
15852
|
+
font-size: 0.86rem;
|
|
15853
|
+
font-weight: 800;
|
|
15854
|
+
letter-spacing: 0.01em;
|
|
15855
|
+
display: inline-flex;
|
|
15856
|
+
align-items: center;
|
|
15857
|
+
justify-content: center;
|
|
15858
|
+
gap: 10px;
|
|
15859
|
+
cursor: grab;
|
|
15860
|
+
box-shadow:
|
|
15861
|
+
0 8px 22px var(--qc-tone-soft),
|
|
15862
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.35);
|
|
15863
|
+
transform: translateY(-50%);
|
|
15864
|
+
transition: left 0.22s cubic-bezier(0.4, 0.0, 0.2, 1),
|
|
15865
|
+
background 0.18s ease,
|
|
15866
|
+
box-shadow 0.18s ease;
|
|
15867
|
+
touch-action: none;
|
|
15868
|
+
overflow: hidden;
|
|
15869
|
+
animation: qc-knob-breathe 2.4s ease-in-out infinite;
|
|
15723
15870
|
}
|
|
15724
|
-
.qc-
|
|
15725
|
-
|
|
15726
|
-
|
|
15727
|
-
|
|
15871
|
+
.qc-drag-track.is-dragging .qc-drag-action {
|
|
15872
|
+
cursor: grabbing;
|
|
15873
|
+
transition: background 0.12s ease, box-shadow 0.12s ease;
|
|
15874
|
+
animation: none;
|
|
15728
15875
|
}
|
|
15729
|
-
.qc-
|
|
15730
|
-
|
|
15731
|
-
display: flex;
|
|
15876
|
+
.qc-drag-grip {
|
|
15877
|
+
display: inline-flex;
|
|
15732
15878
|
flex-direction: column;
|
|
15879
|
+
align-items: center;
|
|
15880
|
+
justify-content: center;
|
|
15733
15881
|
gap: 2px;
|
|
15734
|
-
|
|
15735
|
-
|
|
15736
|
-
|
|
15737
|
-
transition: background 0.12s ease;
|
|
15882
|
+
margin-right: 2px;
|
|
15883
|
+
opacity: 0.7;
|
|
15884
|
+
flex: 0 0 auto;
|
|
15738
15885
|
}
|
|
15739
|
-
.qc-
|
|
15740
|
-
|
|
15886
|
+
.qc-drag-grip i {
|
|
15887
|
+
display: block;
|
|
15888
|
+
width: 12px;
|
|
15889
|
+
height: 1.5px;
|
|
15890
|
+
border-radius: 1px;
|
|
15891
|
+
background: rgba(255, 255, 255, 0.85);
|
|
15741
15892
|
}
|
|
15742
|
-
.qc-
|
|
15743
|
-
|
|
15893
|
+
.qc-drag-label {
|
|
15894
|
+
white-space: nowrap;
|
|
15895
|
+
overflow: hidden;
|
|
15896
|
+
text-overflow: ellipsis;
|
|
15744
15897
|
}
|
|
15745
|
-
.qc-
|
|
15898
|
+
.qc-drag-action:disabled {
|
|
15746
15899
|
opacity: 0.5;
|
|
15747
15900
|
cursor: not-allowed;
|
|
15901
|
+
box-shadow: none;
|
|
15902
|
+
animation: none;
|
|
15748
15903
|
}
|
|
15749
|
-
|
|
15750
|
-
|
|
15751
|
-
|
|
15752
|
-
|
|
15904
|
+
/* Dwell progress bar — bottom of the knob, fills left→right over DWELL_MS */
|
|
15905
|
+
.qc-drag-dwell-bar {
|
|
15906
|
+
position: absolute;
|
|
15907
|
+
left: 0;
|
|
15908
|
+
right: 0;
|
|
15909
|
+
bottom: 0;
|
|
15910
|
+
height: 3px;
|
|
15911
|
+
background: rgba(255, 255, 255, 0.78);
|
|
15912
|
+
transform: scaleX(0);
|
|
15913
|
+
transform-origin: left center;
|
|
15914
|
+
border-radius: 0 0 12px 12px;
|
|
15915
|
+
pointer-events: none;
|
|
15916
|
+
transition: opacity 0.2s ease;
|
|
15917
|
+
opacity: 0;
|
|
15753
15918
|
}
|
|
15754
|
-
.qc-
|
|
15755
|
-
|
|
15756
|
-
|
|
15757
|
-
height: 13px;
|
|
15758
|
-
display: inline-flex;
|
|
15759
|
-
align-items: center;
|
|
15760
|
-
justify-content: center;
|
|
15761
|
-
color: var(--accent);
|
|
15919
|
+
.qc-drag-track[data-tag-dwell="active"] .qc-drag-dwell-bar {
|
|
15920
|
+
opacity: 1;
|
|
15921
|
+
animation: qc-dwell-fill var(--qc-dwell-ms) linear forwards;
|
|
15762
15922
|
}
|
|
15763
|
-
.qc-
|
|
15764
|
-
|
|
15765
|
-
|
|
15766
|
-
color: var(--text-primary);
|
|
15923
|
+
.qc-drag-track[data-tag-dwell="armed"] .qc-drag-dwell-bar {
|
|
15924
|
+
opacity: 0.55;
|
|
15925
|
+
transform: scaleX(1);
|
|
15767
15926
|
}
|
|
15768
|
-
|
|
15769
|
-
|
|
15927
|
+
@keyframes qc-dwell-fill {
|
|
15928
|
+
from { transform: scaleX(0); }
|
|
15929
|
+
to { transform: scaleX(1); }
|
|
15930
|
+
}
|
|
15931
|
+
@keyframes qc-knob-breathe {
|
|
15932
|
+
0%, 100% { box-shadow: 0 6px 18px var(--qc-tone-soft), inset 0 1px 0 rgba(255, 255, 255, 0.35); }
|
|
15933
|
+
50% { box-shadow: 0 10px 28px var(--qc-tone-soft),
|
|
15934
|
+
0 0 0 4px color-mix(in srgb, var(--qc-tone) 22%, transparent),
|
|
15935
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.4); }
|
|
15936
|
+
}
|
|
15937
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15938
|
+
.qc-drag-action,
|
|
15939
|
+
.qc-chevron,
|
|
15940
|
+
.qc-drag-dwell-bar { animation: none !important; transition: none !important; }
|
|
15941
|
+
}
|
|
15942
|
+
|
|
15943
|
+
/* Cancel mode — user has ventured past Commit, then dragged back. Release here = no-op. */
|
|
15944
|
+
.qc-drag-track[data-cancel-mode="1"] {
|
|
15945
|
+
--qc-tone: #8c735f;
|
|
15946
|
+
--qc-tone-soft: rgba(125, 91, 57, 0.16);
|
|
15947
|
+
}
|
|
15948
|
+
.qc-drag-track[data-cancel-mode="1"] .qc-drag-action {
|
|
15949
|
+
background: linear-gradient(180deg, #a3897a, #7a604c);
|
|
15950
|
+
box-shadow: 0 4px 12px rgba(125, 91, 57, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.25);
|
|
15951
|
+
animation: none;
|
|
15952
|
+
}
|
|
15953
|
+
.qc-drag-track[data-cancel-mode="1"] .qc-drag-dwell-bar,
|
|
15954
|
+
.qc-drag-track[data-cancel-mode="1"] .qc-baseline-seg,
|
|
15955
|
+
.qc-drag-track[data-cancel-mode="1"] .qc-chevrons { opacity: 0.25 !important; }
|
|
15956
|
+
.qc-drag-track[data-cancel-mode="1"] .qc-drag-label {
|
|
15957
|
+
animation: qc-cancel-shake 0.6s ease-in-out infinite;
|
|
15958
|
+
}
|
|
15959
|
+
@keyframes qc-cancel-shake {
|
|
15960
|
+
0%, 100% { transform: translateX(0); }
|
|
15961
|
+
25% { transform: translateX(-1.5px); }
|
|
15962
|
+
75% { transform: translateX(1.5px); }
|
|
15963
|
+
}
|
|
15964
|
+
|
|
15965
|
+
.qc-drag-help {
|
|
15966
|
+
font-size: 0.7rem;
|
|
15770
15967
|
color: var(--text-muted);
|
|
15771
|
-
|
|
15772
|
-
|
|
15968
|
+
text-align: center;
|
|
15969
|
+
letter-spacing: 0.02em;
|
|
15970
|
+
opacity: 0.78;
|
|
15773
15971
|
}
|
|
15774
15972
|
|
|
15775
15973
|
@media (max-width: 720px) {
|
|
@@ -15777,11 +15975,24 @@
|
|
|
15777
15975
|
.topbar-git-badge { padding: 0 8px; font-size: 0.7rem; }
|
|
15778
15976
|
.quick-commit-modal { max-width: 95vw; }
|
|
15779
15977
|
.qc-files-wrap { max-height: 160px; }
|
|
15780
|
-
.qc-
|
|
15781
|
-
|
|
15782
|
-
|
|
15783
|
-
|
|
15784
|
-
.qc-
|
|
15978
|
+
.qc-pair {
|
|
15979
|
+
grid-template-columns: 1fr;
|
|
15980
|
+
gap: 6px;
|
|
15981
|
+
}
|
|
15982
|
+
.qc-pair-label {
|
|
15983
|
+
padding-top: 0;
|
|
15984
|
+
}
|
|
15985
|
+
.qc-pair-flow {
|
|
15986
|
+
grid-template-columns: 1fr 18px 1fr;
|
|
15987
|
+
gap: 6px;
|
|
15988
|
+
}
|
|
15989
|
+
.qc-drag-track { height: 80px; }
|
|
15990
|
+
.qc-drag-action {
|
|
15991
|
+
width: 46%;
|
|
15992
|
+
min-width: 122px;
|
|
15993
|
+
height: 54px;
|
|
15994
|
+
}
|
|
15995
|
+
.qc-chevrons { right: 10px; }
|
|
15785
15996
|
}
|
|
15786
15997
|
|
|
15787
15998
|
/* ============================================================ */
|