@morscherlab/mint-sdk 1.0.51 → 1.0.53
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/__tests__/components/JobsStatusTray.test.d.ts +1 -0
- package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +1 -0
- package/dist/__tests__/utils/jobs.test.d.ts +1 -0
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +1 -1
- package/dist/components/JobsStatusTray.vue.d.ts +26 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +2 -2
- package/dist/{components-C7UFkNIp.js → components-Lk_h_rON.js} +1663 -1339
- package/dist/components-Lk_h_rON.js.map +1 -0
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +3 -3
- package/dist/composables/useJobsStatusTray.d.ts +43 -0
- package/dist/composables/usePluginClient.d.ts +4 -1
- package/dist/{composables-CpBhNKHf.js → composables-DyfGpYZw.js} +50 -17
- package/dist/{composables-CpBhNKHf.js.map → composables-DyfGpYZw.js.map} +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -4
- package/dist/install.js +1 -1
- package/dist/jobs.d.ts +19 -0
- package/dist/styles.css +731 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/jobs.d.ts +49 -0
- package/dist/{useProtocolTemplates-C8-YlHj1.js → useJobsStatusTray-DAH999_N.js} +250 -2
- package/dist/useJobsStatusTray-DAH999_N.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/components/JobsStatusTray.test.ts +141 -0
- package/src/__tests__/composables/useJobsStatusTray.test.ts +241 -0
- package/src/__tests__/composables/usePluginClient.test.ts +291 -0
- package/src/__tests__/utils/jobs.test.ts +95 -0
- package/src/components/JobsStatusTray.story.vue +120 -0
- package/src/components/JobsStatusTray.vue +385 -0
- package/src/components/index.ts +1 -0
- package/src/composables/index.ts +8 -0
- package/src/composables/useJobsStatusTray.ts +304 -0
- package/src/composables/usePluginClient.ts +65 -15
- package/src/index.ts +3 -0
- package/src/jobs.ts +75 -0
- package/src/styles/components/jobs-status-tray.css +420 -0
- package/src/styles/index.css +1 -0
- package/src/types/index.ts +10 -0
- package/src/types/jobs.ts +61 -0
- package/dist/components-C7UFkNIp.js.map +0 -1
- package/dist/useProtocolTemplates-C8-YlHj1.js.map +0 -1
package/dist/styles.css
CHANGED
|
@@ -18524,6 +18524,371 @@ to { transform: rotate(360deg);
|
|
|
18524
18524
|
background-color: var(--bg-hover);
|
|
18525
18525
|
color: var(--text-primary);
|
|
18526
18526
|
}
|
|
18527
|
+
.mint-jobs-tray {
|
|
18528
|
+
position: fixed;
|
|
18529
|
+
right: max(1.25rem, env(safe-area-inset-right));
|
|
18530
|
+
bottom: max(1.25rem, env(safe-area-inset-bottom));
|
|
18531
|
+
z-index: 1000;
|
|
18532
|
+
color: var(--text-primary);
|
|
18533
|
+
font-family: 'Fira Sans', system-ui, sans-serif;
|
|
18534
|
+
}
|
|
18535
|
+
.mint-jobs-tray__trigger {
|
|
18536
|
+
display: inline-flex;
|
|
18537
|
+
min-height: 2.75rem;
|
|
18538
|
+
align-items: center;
|
|
18539
|
+
gap: 0.625rem;
|
|
18540
|
+
padding: 0.5rem 1rem;
|
|
18541
|
+
border: 0;
|
|
18542
|
+
border-radius: 9999px;
|
|
18543
|
+
background: var(--color-primary);
|
|
18544
|
+
color: white;
|
|
18545
|
+
box-shadow: var(--shadow-lg);
|
|
18546
|
+
cursor: pointer;
|
|
18547
|
+
transition: transform var(--mint-transition), background var(--mint-transition), box-shadow var(--mint-transition);
|
|
18548
|
+
}
|
|
18549
|
+
.mint-jobs-tray__trigger:hover {
|
|
18550
|
+
transform: translateY(-1px);
|
|
18551
|
+
background: var(--color-primary-hover);
|
|
18552
|
+
}
|
|
18553
|
+
.mint-jobs-tray__trigger:focus-visible,
|
|
18554
|
+
.mint-jobs-tray__panel:focus-visible,
|
|
18555
|
+
.mint-jobs-tray button:focus-visible {
|
|
18556
|
+
outline: none;
|
|
18557
|
+
box-shadow: var(--focus-ring-offset);
|
|
18558
|
+
}
|
|
18559
|
+
.mint-jobs-tray__trigger-icon {
|
|
18560
|
+
width: 1.125rem;
|
|
18561
|
+
height: 1.125rem;
|
|
18562
|
+
stroke-width: 1.8;
|
|
18563
|
+
stroke-linecap: round;
|
|
18564
|
+
stroke-linejoin: round;
|
|
18565
|
+
}
|
|
18566
|
+
.mint-jobs-tray__trigger-icon--active {
|
|
18567
|
+
animation: mint-jobs-tray-pulse 1.8s ease-in-out infinite;
|
|
18568
|
+
}
|
|
18569
|
+
.mint-jobs-tray__trigger-label {
|
|
18570
|
+
font-size: 0.875rem;
|
|
18571
|
+
font-weight: 600;
|
|
18572
|
+
}
|
|
18573
|
+
.mint-jobs-tray__count,
|
|
18574
|
+
.mint-jobs-tray__tab-count {
|
|
18575
|
+
display: inline-flex;
|
|
18576
|
+
min-width: 1.25rem;
|
|
18577
|
+
height: 1.25rem;
|
|
18578
|
+
align-items: center;
|
|
18579
|
+
justify-content: center;
|
|
18580
|
+
padding: 0 0.375rem;
|
|
18581
|
+
border-radius: 9999px;
|
|
18582
|
+
font: 600 0.6875rem/1 'Fira Code', monospace;
|
|
18583
|
+
}
|
|
18584
|
+
.mint-jobs-tray__count {
|
|
18585
|
+
background: var(--bg-secondary);
|
|
18586
|
+
color: var(--color-primary);
|
|
18587
|
+
}
|
|
18588
|
+
.mint-jobs-tray__backdrop {
|
|
18589
|
+
position: fixed;
|
|
18590
|
+
inset: 0;
|
|
18591
|
+
z-index: -2;
|
|
18592
|
+
background: rgb(15 23 42 / 0.22);
|
|
18593
|
+
backdrop-filter: blur(2px);
|
|
18594
|
+
}
|
|
18595
|
+
.mint-jobs-tray__panel {
|
|
18596
|
+
position: absolute;
|
|
18597
|
+
right: 0;
|
|
18598
|
+
bottom: 3.75rem;
|
|
18599
|
+
display: flex;
|
|
18600
|
+
width: min(27.5rem, calc(100vw - 2rem));
|
|
18601
|
+
max-height: min(42rem, calc(100vh - 7rem));
|
|
18602
|
+
flex-direction: column;
|
|
18603
|
+
overflow: hidden;
|
|
18604
|
+
border: 1px solid var(--border-color);
|
|
18605
|
+
border-radius: var(--radius-lg);
|
|
18606
|
+
background: var(--bg-secondary);
|
|
18607
|
+
box-shadow: var(--shadow-lg);
|
|
18608
|
+
}
|
|
18609
|
+
.mint-jobs-tray__header,
|
|
18610
|
+
.mint-jobs-tray__job-heading,
|
|
18611
|
+
.mint-jobs-tray__job-footer,
|
|
18612
|
+
.mint-jobs-tray__header-actions,
|
|
18613
|
+
.mint-jobs-tray__clear-row {
|
|
18614
|
+
display: flex;
|
|
18615
|
+
align-items: center;
|
|
18616
|
+
}
|
|
18617
|
+
.mint-jobs-tray__header {
|
|
18618
|
+
justify-content: space-between;
|
|
18619
|
+
padding: 1rem 1.125rem;
|
|
18620
|
+
border-bottom: 1px solid var(--border-color);
|
|
18621
|
+
}
|
|
18622
|
+
.mint-jobs-tray__title {
|
|
18623
|
+
margin: 0;
|
|
18624
|
+
color: var(--text-primary);
|
|
18625
|
+
font-size: 1rem;
|
|
18626
|
+
font-weight: 600;
|
|
18627
|
+
}
|
|
18628
|
+
.mint-jobs-tray__subtitle {
|
|
18629
|
+
margin: 0.2rem 0 0;
|
|
18630
|
+
color: var(--text-secondary);
|
|
18631
|
+
font: 0.6875rem/1.3 'Fira Code', monospace;
|
|
18632
|
+
}
|
|
18633
|
+
.mint-jobs-tray__header-actions {
|
|
18634
|
+
gap: 0.25rem;
|
|
18635
|
+
}
|
|
18636
|
+
.mint-jobs-tray__icon-button {
|
|
18637
|
+
display: inline-flex;
|
|
18638
|
+
width: 2rem;
|
|
18639
|
+
height: 2rem;
|
|
18640
|
+
align-items: center;
|
|
18641
|
+
justify-content: center;
|
|
18642
|
+
padding: 0;
|
|
18643
|
+
border: 0;
|
|
18644
|
+
border-radius: var(--radius-md);
|
|
18645
|
+
background: transparent;
|
|
18646
|
+
color: var(--text-secondary-strong);
|
|
18647
|
+
cursor: pointer;
|
|
18648
|
+
transition: background var(--mint-transition), color var(--mint-transition);
|
|
18649
|
+
}
|
|
18650
|
+
.mint-jobs-tray__icon-button:hover {
|
|
18651
|
+
background: var(--bg-hover);
|
|
18652
|
+
color: var(--text-primary);
|
|
18653
|
+
}
|
|
18654
|
+
.mint-jobs-tray__icon-button svg {
|
|
18655
|
+
width: 1rem;
|
|
18656
|
+
height: 1rem;
|
|
18657
|
+
stroke-width: 1.8;
|
|
18658
|
+
stroke-linecap: round;
|
|
18659
|
+
stroke-linejoin: round;
|
|
18660
|
+
}
|
|
18661
|
+
.mint-jobs-tray__icon-button--danger {
|
|
18662
|
+
color: var(--mint-error);
|
|
18663
|
+
}
|
|
18664
|
+
.mint-jobs-tray__tabs {
|
|
18665
|
+
display: grid;
|
|
18666
|
+
grid-template-columns: 1fr 1fr;
|
|
18667
|
+
border-bottom: 1px solid var(--border-color);
|
|
18668
|
+
}
|
|
18669
|
+
.mint-jobs-tray__tab {
|
|
18670
|
+
position: relative;
|
|
18671
|
+
display: inline-flex;
|
|
18672
|
+
min-height: 2.75rem;
|
|
18673
|
+
align-items: center;
|
|
18674
|
+
justify-content: center;
|
|
18675
|
+
gap: 0.375rem;
|
|
18676
|
+
padding: 0.5rem 1rem;
|
|
18677
|
+
border: 0;
|
|
18678
|
+
background: transparent;
|
|
18679
|
+
color: var(--text-secondary-strong);
|
|
18680
|
+
font: 500 0.8125rem/1 'Fira Sans', sans-serif;
|
|
18681
|
+
cursor: pointer;
|
|
18682
|
+
}
|
|
18683
|
+
.mint-jobs-tray__tab--active {
|
|
18684
|
+
color: var(--color-primary);
|
|
18685
|
+
}
|
|
18686
|
+
.mint-jobs-tray__tab--active::after {
|
|
18687
|
+
position: absolute;
|
|
18688
|
+
right: 1rem;
|
|
18689
|
+
bottom: 0;
|
|
18690
|
+
left: 1rem;
|
|
18691
|
+
height: 2px;
|
|
18692
|
+
background: var(--color-primary);
|
|
18693
|
+
content: '';
|
|
18694
|
+
}
|
|
18695
|
+
.mint-jobs-tray__tab-count {
|
|
18696
|
+
background: var(--bg-tertiary);
|
|
18697
|
+
color: currentColor;
|
|
18698
|
+
}
|
|
18699
|
+
.mint-jobs-tray__error {
|
|
18700
|
+
margin: 0.75rem 1rem 0;
|
|
18701
|
+
padding: 0.625rem 0.75rem;
|
|
18702
|
+
border: 1px solid var(--mint-error-border);
|
|
18703
|
+
border-radius: var(--radius-md);
|
|
18704
|
+
background: var(--mint-error-bg);
|
|
18705
|
+
color: var(--mint-error);
|
|
18706
|
+
font-size: 0.75rem;
|
|
18707
|
+
}
|
|
18708
|
+
.mint-jobs-tray__body {
|
|
18709
|
+
flex: 1;
|
|
18710
|
+
overflow-y: auto;
|
|
18711
|
+
padding: 0.875rem;
|
|
18712
|
+
scrollbar-color: var(--scrollbar-thumb) transparent;
|
|
18713
|
+
}
|
|
18714
|
+
.mint-jobs-tray__empty {
|
|
18715
|
+
margin: 0;
|
|
18716
|
+
padding: 3rem 1rem;
|
|
18717
|
+
color: var(--text-secondary);
|
|
18718
|
+
text-align: center;
|
|
18719
|
+
font-size: 0.8125rem;
|
|
18720
|
+
}
|
|
18721
|
+
.mint-jobs-tray__job {
|
|
18722
|
+
padding: 0.875rem;
|
|
18723
|
+
border: 1px solid var(--border-color);
|
|
18724
|
+
border-radius: var(--radius-md);
|
|
18725
|
+
background: var(--bg-card);
|
|
18726
|
+
box-shadow: var(--shadow-sm);
|
|
18727
|
+
}
|
|
18728
|
+
.mint-jobs-tray__job + .mint-jobs-tray__job {
|
|
18729
|
+
margin-top: 0.625rem;
|
|
18730
|
+
}
|
|
18731
|
+
.mint-jobs-tray__job--active {
|
|
18732
|
+
border-color: var(--mint-info-border);
|
|
18733
|
+
background: linear-gradient(135deg, var(--bg-card), var(--mint-info-bg));
|
|
18734
|
+
}
|
|
18735
|
+
.mint-jobs-tray__job-heading,
|
|
18736
|
+
.mint-jobs-tray__job-footer {
|
|
18737
|
+
justify-content: space-between;
|
|
18738
|
+
gap: 0.75rem;
|
|
18739
|
+
}
|
|
18740
|
+
.mint-jobs-tray__job-identity {
|
|
18741
|
+
min-width: 0;
|
|
18742
|
+
}
|
|
18743
|
+
.mint-jobs-tray__job-select {
|
|
18744
|
+
display: block;
|
|
18745
|
+
max-width: 100%;
|
|
18746
|
+
padding: 0;
|
|
18747
|
+
overflow: hidden;
|
|
18748
|
+
border: 0;
|
|
18749
|
+
background: transparent;
|
|
18750
|
+
color: var(--text-primary);
|
|
18751
|
+
cursor: pointer;
|
|
18752
|
+
font-size: 0.8125rem;
|
|
18753
|
+
font-weight: 600;
|
|
18754
|
+
text-align: left;
|
|
18755
|
+
text-overflow: ellipsis;
|
|
18756
|
+
white-space: nowrap;
|
|
18757
|
+
}
|
|
18758
|
+
.mint-jobs-tray__kind {
|
|
18759
|
+
display: block;
|
|
18760
|
+
margin-top: 0.125rem;
|
|
18761
|
+
color: var(--text-secondary);
|
|
18762
|
+
font: 0.6875rem/1.3 'Fira Code', monospace;
|
|
18763
|
+
}
|
|
18764
|
+
.mint-jobs-tray__status {
|
|
18765
|
+
flex: 0 0 auto;
|
|
18766
|
+
padding: 0.25rem 0.5rem;
|
|
18767
|
+
border: 1px solid var(--border-color);
|
|
18768
|
+
border-radius: 9999px;
|
|
18769
|
+
background: var(--bg-tertiary);
|
|
18770
|
+
color: var(--text-secondary-strong);
|
|
18771
|
+
font-size: 0.6875rem;
|
|
18772
|
+
font-weight: 600;
|
|
18773
|
+
}
|
|
18774
|
+
.mint-jobs-tray__status--awaiting-input,
|
|
18775
|
+
.mint-jobs-tray__status--queued {
|
|
18776
|
+
border-color: var(--mint-warning-border);
|
|
18777
|
+
background: var(--mint-warning-bg);
|
|
18778
|
+
color: var(--mint-warning-hover);
|
|
18779
|
+
}
|
|
18780
|
+
.mint-jobs-tray__status--running {
|
|
18781
|
+
border-color: var(--mint-info-border);
|
|
18782
|
+
background: var(--mint-info-bg);
|
|
18783
|
+
color: var(--mint-info);
|
|
18784
|
+
}
|
|
18785
|
+
.mint-jobs-tray__status--completed {
|
|
18786
|
+
border-color: var(--mint-success-border);
|
|
18787
|
+
background: var(--mint-success-bg);
|
|
18788
|
+
color: var(--mint-success-hover);
|
|
18789
|
+
}
|
|
18790
|
+
.mint-jobs-tray__status--failed {
|
|
18791
|
+
border-color: var(--mint-error-border);
|
|
18792
|
+
background: var(--mint-error-bg);
|
|
18793
|
+
color: var(--mint-error);
|
|
18794
|
+
}
|
|
18795
|
+
.mint-jobs-tray__progress {
|
|
18796
|
+
height: 0.375rem;
|
|
18797
|
+
margin-top: 0.75rem;
|
|
18798
|
+
overflow: hidden;
|
|
18799
|
+
border-radius: 9999px;
|
|
18800
|
+
background: var(--bg-tertiary);
|
|
18801
|
+
}
|
|
18802
|
+
.mint-jobs-tray__progress span {
|
|
18803
|
+
display: block;
|
|
18804
|
+
height: 100%;
|
|
18805
|
+
border-radius: inherit;
|
|
18806
|
+
background: var(--color-primary);
|
|
18807
|
+
transition: width var(--mint-transition);
|
|
18808
|
+
}
|
|
18809
|
+
.mint-jobs-tray__job-footer {
|
|
18810
|
+
min-height: 1.75rem;
|
|
18811
|
+
margin-top: 0.625rem;
|
|
18812
|
+
color: var(--text-secondary);
|
|
18813
|
+
font-size: 0.6875rem;
|
|
18814
|
+
}
|
|
18815
|
+
.mint-jobs-tray__action {
|
|
18816
|
+
min-height: 1.75rem;
|
|
18817
|
+
padding: 0.375rem 0.625rem;
|
|
18818
|
+
border: 1px solid var(--border-color);
|
|
18819
|
+
border-radius: var(--radius);
|
|
18820
|
+
background: var(--bg-secondary);
|
|
18821
|
+
color: var(--text-secondary-strong);
|
|
18822
|
+
font: 500 0.6875rem/1 'Fira Sans', sans-serif;
|
|
18823
|
+
cursor: pointer;
|
|
18824
|
+
transition: background var(--mint-transition), border-color var(--mint-transition), color var(--mint-transition);
|
|
18825
|
+
}
|
|
18826
|
+
.mint-jobs-tray__job-actions {
|
|
18827
|
+
display: inline-flex;
|
|
18828
|
+
align-items: center;
|
|
18829
|
+
gap: 0.25rem;
|
|
18830
|
+
}
|
|
18831
|
+
.mint-jobs-tray__action--danger {
|
|
18832
|
+
border-color: var(--mint-error-border);
|
|
18833
|
+
color: var(--mint-error);
|
|
18834
|
+
}
|
|
18835
|
+
.mint-jobs-tray__action--danger:hover {
|
|
18836
|
+
background: var(--mint-error-bg);
|
|
18837
|
+
}
|
|
18838
|
+
.mint-jobs-tray__clear-row {
|
|
18839
|
+
justify-content: flex-end;
|
|
18840
|
+
margin-bottom: 0.625rem;
|
|
18841
|
+
}
|
|
18842
|
+
.mint-jobs-tray button:disabled {
|
|
18843
|
+
opacity: var(--mint-disabled-opacity);
|
|
18844
|
+
cursor: not-allowed;
|
|
18845
|
+
}
|
|
18846
|
+
.mint-jobs-tray-fade-enter-active,
|
|
18847
|
+
.mint-jobs-tray-fade-leave-active,
|
|
18848
|
+
.mint-jobs-tray-slide-enter-active,
|
|
18849
|
+
.mint-jobs-tray-slide-leave-active {
|
|
18850
|
+
transition: opacity var(--mint-transition), transform var(--mint-transition);
|
|
18851
|
+
}
|
|
18852
|
+
.mint-jobs-tray-fade-enter-from,
|
|
18853
|
+
.mint-jobs-tray-fade-leave-to {
|
|
18854
|
+
opacity: 0;
|
|
18855
|
+
}
|
|
18856
|
+
.mint-jobs-tray-slide-enter-from,
|
|
18857
|
+
.mint-jobs-tray-slide-leave-to {
|
|
18858
|
+
opacity: 0;
|
|
18859
|
+
transform: translateY(0.5rem) scale(0.98);
|
|
18860
|
+
}
|
|
18861
|
+
@keyframes mint-jobs-tray-pulse {
|
|
18862
|
+
50% { opacity: 0.55;
|
|
18863
|
+
}
|
|
18864
|
+
}
|
|
18865
|
+
@media (max-width: 480px) {
|
|
18866
|
+
.mint-jobs-tray {
|
|
18867
|
+
right: max(1rem, env(safe-area-inset-right));
|
|
18868
|
+
bottom: max(1rem, env(safe-area-inset-bottom));
|
|
18869
|
+
}
|
|
18870
|
+
.mint-jobs-tray__panel {
|
|
18871
|
+
position: fixed;
|
|
18872
|
+
right: 1rem;
|
|
18873
|
+
bottom: 4.75rem;
|
|
18874
|
+
left: 1rem;
|
|
18875
|
+
width: auto;
|
|
18876
|
+
max-height: calc(100vh - 6.75rem - env(safe-area-inset-bottom));
|
|
18877
|
+
}
|
|
18878
|
+
}
|
|
18879
|
+
@media (prefers-reduced-motion: reduce) {
|
|
18880
|
+
.mint-jobs-tray *,
|
|
18881
|
+
.mint-jobs-tray *::before,
|
|
18882
|
+
.mint-jobs-tray *::after {
|
|
18883
|
+
scroll-behavior: auto !important;
|
|
18884
|
+
animation-duration: 0.01ms !important;
|
|
18885
|
+
animation-iteration-count: 1 !important;
|
|
18886
|
+
transition-duration: 0.01ms !important;
|
|
18887
|
+
}
|
|
18888
|
+
.mint-jobs-tray__trigger:hover {
|
|
18889
|
+
transform: none;
|
|
18890
|
+
}
|
|
18891
|
+
}
|
|
18527
18892
|
.mint-data-viewer {
|
|
18528
18893
|
border: 1px solid var(--border-color);
|
|
18529
18894
|
border-radius: var(--radius-md);
|
|
@@ -23208,6 +23573,372 @@ code, pre {
|
|
|
23208
23573
|
transition: none;
|
|
23209
23574
|
}
|
|
23210
23575
|
}
|
|
23576
|
+
.mint-jobs-tray {
|
|
23577
|
+
position: fixed;
|
|
23578
|
+
right: max(1.25rem, env(safe-area-inset-right));
|
|
23579
|
+
bottom: max(1.25rem, env(safe-area-inset-bottom));
|
|
23580
|
+
z-index: 1000;
|
|
23581
|
+
color: var(--text-primary);
|
|
23582
|
+
font-family: 'Fira Sans', system-ui, sans-serif;
|
|
23583
|
+
}
|
|
23584
|
+
.mint-jobs-tray__trigger {
|
|
23585
|
+
display: inline-flex;
|
|
23586
|
+
min-height: 2.75rem;
|
|
23587
|
+
align-items: center;
|
|
23588
|
+
gap: 0.625rem;
|
|
23589
|
+
padding: 0.5rem 1rem;
|
|
23590
|
+
border: 0;
|
|
23591
|
+
border-radius: 9999px;
|
|
23592
|
+
background: var(--color-primary);
|
|
23593
|
+
color: white;
|
|
23594
|
+
box-shadow: var(--shadow-lg);
|
|
23595
|
+
cursor: pointer;
|
|
23596
|
+
transition: transform var(--mint-transition), background var(--mint-transition), box-shadow var(--mint-transition);
|
|
23597
|
+
}
|
|
23598
|
+
.mint-jobs-tray__trigger:hover {
|
|
23599
|
+
transform: translateY(-1px);
|
|
23600
|
+
background: var(--color-primary-hover);
|
|
23601
|
+
}
|
|
23602
|
+
.mint-jobs-tray__trigger:focus-visible,
|
|
23603
|
+
.mint-jobs-tray__panel:focus-visible,
|
|
23604
|
+
.mint-jobs-tray button:focus-visible {
|
|
23605
|
+
outline: none;
|
|
23606
|
+
box-shadow: var(--focus-ring-offset);
|
|
23607
|
+
}
|
|
23608
|
+
.mint-jobs-tray__trigger-icon {
|
|
23609
|
+
width: 1.125rem;
|
|
23610
|
+
height: 1.125rem;
|
|
23611
|
+
stroke-width: 1.8;
|
|
23612
|
+
stroke-linecap: round;
|
|
23613
|
+
stroke-linejoin: round;
|
|
23614
|
+
}
|
|
23615
|
+
.mint-jobs-tray__trigger-icon--active {
|
|
23616
|
+
animation: mint-jobs-tray-pulse 1.8s ease-in-out infinite;
|
|
23617
|
+
}
|
|
23618
|
+
.mint-jobs-tray__trigger-label {
|
|
23619
|
+
font-size: 0.875rem;
|
|
23620
|
+
font-weight: 600;
|
|
23621
|
+
}
|
|
23622
|
+
.mint-jobs-tray__count,
|
|
23623
|
+
.mint-jobs-tray__tab-count {
|
|
23624
|
+
display: inline-flex;
|
|
23625
|
+
min-width: 1.25rem;
|
|
23626
|
+
height: 1.25rem;
|
|
23627
|
+
align-items: center;
|
|
23628
|
+
justify-content: center;
|
|
23629
|
+
padding: 0 0.375rem;
|
|
23630
|
+
border-radius: 9999px;
|
|
23631
|
+
font: 600 0.6875rem/1 'Fira Code', monospace;
|
|
23632
|
+
}
|
|
23633
|
+
.mint-jobs-tray__count {
|
|
23634
|
+
background: var(--bg-secondary);
|
|
23635
|
+
color: var(--color-primary);
|
|
23636
|
+
}
|
|
23637
|
+
.mint-jobs-tray__backdrop {
|
|
23638
|
+
position: fixed;
|
|
23639
|
+
inset: 0;
|
|
23640
|
+
z-index: -2;
|
|
23641
|
+
background: rgb(15 23 42 / 0.22);
|
|
23642
|
+
backdrop-filter: blur(2px);
|
|
23643
|
+
}
|
|
23644
|
+
.mint-jobs-tray__panel {
|
|
23645
|
+
position: absolute;
|
|
23646
|
+
right: 0;
|
|
23647
|
+
bottom: 3.75rem;
|
|
23648
|
+
display: flex;
|
|
23649
|
+
width: min(27.5rem, calc(100vw - 2rem));
|
|
23650
|
+
max-height: min(42rem, calc(100vh - 7rem));
|
|
23651
|
+
flex-direction: column;
|
|
23652
|
+
overflow: hidden;
|
|
23653
|
+
border: 1px solid var(--border-color);
|
|
23654
|
+
border-radius: var(--radius-lg);
|
|
23655
|
+
background: var(--bg-secondary);
|
|
23656
|
+
box-shadow: var(--shadow-lg);
|
|
23657
|
+
}
|
|
23658
|
+
.mint-jobs-tray__header,
|
|
23659
|
+
.mint-jobs-tray__job-heading,
|
|
23660
|
+
.mint-jobs-tray__job-footer,
|
|
23661
|
+
.mint-jobs-tray__header-actions,
|
|
23662
|
+
.mint-jobs-tray__clear-row {
|
|
23663
|
+
display: flex;
|
|
23664
|
+
align-items: center;
|
|
23665
|
+
}
|
|
23666
|
+
.mint-jobs-tray__header {
|
|
23667
|
+
justify-content: space-between;
|
|
23668
|
+
padding: 1rem 1.125rem;
|
|
23669
|
+
border-bottom: 1px solid var(--border-color);
|
|
23670
|
+
}
|
|
23671
|
+
.mint-jobs-tray__title {
|
|
23672
|
+
margin: 0;
|
|
23673
|
+
color: var(--text-primary);
|
|
23674
|
+
font-size: 1rem;
|
|
23675
|
+
font-weight: 600;
|
|
23676
|
+
}
|
|
23677
|
+
.mint-jobs-tray__subtitle {
|
|
23678
|
+
margin: 0.2rem 0 0;
|
|
23679
|
+
color: var(--text-secondary);
|
|
23680
|
+
font: 0.6875rem/1.3 'Fira Code', monospace;
|
|
23681
|
+
}
|
|
23682
|
+
.mint-jobs-tray__header-actions {
|
|
23683
|
+
gap: 0.25rem;
|
|
23684
|
+
}
|
|
23685
|
+
.mint-jobs-tray__icon-button {
|
|
23686
|
+
display: inline-flex;
|
|
23687
|
+
width: 2rem;
|
|
23688
|
+
height: 2rem;
|
|
23689
|
+
align-items: center;
|
|
23690
|
+
justify-content: center;
|
|
23691
|
+
padding: 0;
|
|
23692
|
+
border: 0;
|
|
23693
|
+
border-radius: var(--radius-md);
|
|
23694
|
+
background: transparent;
|
|
23695
|
+
color: var(--text-secondary-strong);
|
|
23696
|
+
cursor: pointer;
|
|
23697
|
+
transition: background var(--mint-transition), color var(--mint-transition);
|
|
23698
|
+
}
|
|
23699
|
+
.mint-jobs-tray__icon-button:hover {
|
|
23700
|
+
background: var(--bg-hover);
|
|
23701
|
+
color: var(--text-primary);
|
|
23702
|
+
}
|
|
23703
|
+
.mint-jobs-tray__icon-button svg {
|
|
23704
|
+
width: 1rem;
|
|
23705
|
+
height: 1rem;
|
|
23706
|
+
stroke-width: 1.8;
|
|
23707
|
+
stroke-linecap: round;
|
|
23708
|
+
stroke-linejoin: round;
|
|
23709
|
+
}
|
|
23710
|
+
.mint-jobs-tray__icon-button--danger {
|
|
23711
|
+
color: var(--mint-error);
|
|
23712
|
+
}
|
|
23713
|
+
.mint-jobs-tray__tabs {
|
|
23714
|
+
display: grid;
|
|
23715
|
+
grid-template-columns: 1fr 1fr;
|
|
23716
|
+
border-bottom: 1px solid var(--border-color);
|
|
23717
|
+
}
|
|
23718
|
+
.mint-jobs-tray__tab {
|
|
23719
|
+
position: relative;
|
|
23720
|
+
display: inline-flex;
|
|
23721
|
+
min-height: 2.75rem;
|
|
23722
|
+
align-items: center;
|
|
23723
|
+
justify-content: center;
|
|
23724
|
+
gap: 0.375rem;
|
|
23725
|
+
padding: 0.5rem 1rem;
|
|
23726
|
+
border: 0;
|
|
23727
|
+
background: transparent;
|
|
23728
|
+
color: var(--text-secondary-strong);
|
|
23729
|
+
font: 500 0.8125rem/1 'Fira Sans', sans-serif;
|
|
23730
|
+
cursor: pointer;
|
|
23731
|
+
}
|
|
23732
|
+
.mint-jobs-tray__tab--active {
|
|
23733
|
+
color: var(--color-primary);
|
|
23734
|
+
}
|
|
23735
|
+
.mint-jobs-tray__tab--active::after {
|
|
23736
|
+
position: absolute;
|
|
23737
|
+
right: 1rem;
|
|
23738
|
+
bottom: 0;
|
|
23739
|
+
left: 1rem;
|
|
23740
|
+
height: 2px;
|
|
23741
|
+
background: var(--color-primary);
|
|
23742
|
+
content: '';
|
|
23743
|
+
}
|
|
23744
|
+
.mint-jobs-tray__tab-count {
|
|
23745
|
+
background: var(--bg-tertiary);
|
|
23746
|
+
color: currentColor;
|
|
23747
|
+
}
|
|
23748
|
+
.mint-jobs-tray__error {
|
|
23749
|
+
margin: 0.75rem 1rem 0;
|
|
23750
|
+
padding: 0.625rem 0.75rem;
|
|
23751
|
+
border: 1px solid var(--mint-error-border);
|
|
23752
|
+
border-radius: var(--radius-md);
|
|
23753
|
+
background: var(--mint-error-bg);
|
|
23754
|
+
color: var(--mint-error);
|
|
23755
|
+
font-size: 0.75rem;
|
|
23756
|
+
}
|
|
23757
|
+
.mint-jobs-tray__body {
|
|
23758
|
+
flex: 1;
|
|
23759
|
+
overflow-y: auto;
|
|
23760
|
+
padding: 0.875rem;
|
|
23761
|
+
scrollbar-color: var(--scrollbar-thumb) transparent;
|
|
23762
|
+
}
|
|
23763
|
+
.mint-jobs-tray__empty {
|
|
23764
|
+
margin: 0;
|
|
23765
|
+
padding: 3rem 1rem;
|
|
23766
|
+
color: var(--text-secondary);
|
|
23767
|
+
text-align: center;
|
|
23768
|
+
font-size: 0.8125rem;
|
|
23769
|
+
}
|
|
23770
|
+
.mint-jobs-tray__job {
|
|
23771
|
+
padding: 0.875rem;
|
|
23772
|
+
border: 1px solid var(--border-color);
|
|
23773
|
+
border-radius: var(--radius-md);
|
|
23774
|
+
background: var(--bg-card);
|
|
23775
|
+
box-shadow: var(--shadow-sm);
|
|
23776
|
+
}
|
|
23777
|
+
.mint-jobs-tray__job + .mint-jobs-tray__job {
|
|
23778
|
+
margin-top: 0.625rem;
|
|
23779
|
+
}
|
|
23780
|
+
.mint-jobs-tray__job--active {
|
|
23781
|
+
border-color: var(--mint-info-border);
|
|
23782
|
+
background: linear-gradient(135deg, var(--bg-card), var(--mint-info-bg));
|
|
23783
|
+
}
|
|
23784
|
+
.mint-jobs-tray__job-heading,
|
|
23785
|
+
.mint-jobs-tray__job-footer {
|
|
23786
|
+
justify-content: space-between;
|
|
23787
|
+
gap: 0.75rem;
|
|
23788
|
+
}
|
|
23789
|
+
.mint-jobs-tray__job-identity {
|
|
23790
|
+
min-width: 0;
|
|
23791
|
+
}
|
|
23792
|
+
.mint-jobs-tray__job-select {
|
|
23793
|
+
display: block;
|
|
23794
|
+
max-width: 100%;
|
|
23795
|
+
padding: 0;
|
|
23796
|
+
overflow: hidden;
|
|
23797
|
+
border: 0;
|
|
23798
|
+
background: transparent;
|
|
23799
|
+
color: var(--text-primary);
|
|
23800
|
+
cursor: pointer;
|
|
23801
|
+
font-size: 0.8125rem;
|
|
23802
|
+
font-weight: 600;
|
|
23803
|
+
text-align: left;
|
|
23804
|
+
text-overflow: ellipsis;
|
|
23805
|
+
white-space: nowrap;
|
|
23806
|
+
}
|
|
23807
|
+
.mint-jobs-tray__kind {
|
|
23808
|
+
display: block;
|
|
23809
|
+
margin-top: 0.125rem;
|
|
23810
|
+
color: var(--text-secondary);
|
|
23811
|
+
font: 0.6875rem/1.3 'Fira Code', monospace;
|
|
23812
|
+
}
|
|
23813
|
+
.mint-jobs-tray__status {
|
|
23814
|
+
flex: 0 0 auto;
|
|
23815
|
+
padding: 0.25rem 0.5rem;
|
|
23816
|
+
border: 1px solid var(--border-color);
|
|
23817
|
+
border-radius: 9999px;
|
|
23818
|
+
background: var(--bg-tertiary);
|
|
23819
|
+
color: var(--text-secondary-strong);
|
|
23820
|
+
font-size: 0.6875rem;
|
|
23821
|
+
font-weight: 600;
|
|
23822
|
+
}
|
|
23823
|
+
.mint-jobs-tray__status--awaiting-input,
|
|
23824
|
+
.mint-jobs-tray__status--queued {
|
|
23825
|
+
border-color: var(--mint-warning-border);
|
|
23826
|
+
background: var(--mint-warning-bg);
|
|
23827
|
+
color: var(--mint-warning-hover);
|
|
23828
|
+
}
|
|
23829
|
+
.mint-jobs-tray__status--running {
|
|
23830
|
+
border-color: var(--mint-info-border);
|
|
23831
|
+
background: var(--mint-info-bg);
|
|
23832
|
+
color: var(--mint-info);
|
|
23833
|
+
}
|
|
23834
|
+
.mint-jobs-tray__status--completed {
|
|
23835
|
+
border-color: var(--mint-success-border);
|
|
23836
|
+
background: var(--mint-success-bg);
|
|
23837
|
+
color: var(--mint-success-hover);
|
|
23838
|
+
}
|
|
23839
|
+
.mint-jobs-tray__status--failed {
|
|
23840
|
+
border-color: var(--mint-error-border);
|
|
23841
|
+
background: var(--mint-error-bg);
|
|
23842
|
+
color: var(--mint-error);
|
|
23843
|
+
}
|
|
23844
|
+
.mint-jobs-tray__progress {
|
|
23845
|
+
height: 0.375rem;
|
|
23846
|
+
margin-top: 0.75rem;
|
|
23847
|
+
overflow: hidden;
|
|
23848
|
+
border-radius: 9999px;
|
|
23849
|
+
background: var(--bg-tertiary);
|
|
23850
|
+
}
|
|
23851
|
+
.mint-jobs-tray__progress span {
|
|
23852
|
+
display: block;
|
|
23853
|
+
height: 100%;
|
|
23854
|
+
border-radius: inherit;
|
|
23855
|
+
background: var(--color-primary);
|
|
23856
|
+
transition: width var(--mint-transition);
|
|
23857
|
+
}
|
|
23858
|
+
.mint-jobs-tray__job-footer {
|
|
23859
|
+
min-height: 1.75rem;
|
|
23860
|
+
margin-top: 0.625rem;
|
|
23861
|
+
color: var(--text-secondary);
|
|
23862
|
+
font-size: 0.6875rem;
|
|
23863
|
+
}
|
|
23864
|
+
.mint-jobs-tray__action {
|
|
23865
|
+
min-height: 1.75rem;
|
|
23866
|
+
padding: 0.375rem 0.625rem;
|
|
23867
|
+
border: 1px solid var(--border-color);
|
|
23868
|
+
border-radius: var(--radius);
|
|
23869
|
+
background: var(--bg-secondary);
|
|
23870
|
+
color: var(--text-secondary-strong);
|
|
23871
|
+
font: 500 0.6875rem/1 'Fira Sans', sans-serif;
|
|
23872
|
+
cursor: pointer;
|
|
23873
|
+
transition: background var(--mint-transition), border-color var(--mint-transition), color var(--mint-transition);
|
|
23874
|
+
}
|
|
23875
|
+
.mint-jobs-tray__job-actions {
|
|
23876
|
+
display: inline-flex;
|
|
23877
|
+
align-items: center;
|
|
23878
|
+
gap: 0.25rem;
|
|
23879
|
+
}
|
|
23880
|
+
.mint-jobs-tray__action--danger {
|
|
23881
|
+
border-color: var(--mint-error-border);
|
|
23882
|
+
color: var(--mint-error);
|
|
23883
|
+
}
|
|
23884
|
+
.mint-jobs-tray__action--danger:hover {
|
|
23885
|
+
background: var(--mint-error-bg);
|
|
23886
|
+
}
|
|
23887
|
+
.mint-jobs-tray__clear-row {
|
|
23888
|
+
justify-content: flex-end;
|
|
23889
|
+
margin-bottom: 0.625rem;
|
|
23890
|
+
}
|
|
23891
|
+
.mint-jobs-tray button:disabled {
|
|
23892
|
+
opacity: var(--mint-disabled-opacity);
|
|
23893
|
+
cursor: not-allowed;
|
|
23894
|
+
}
|
|
23895
|
+
.mint-jobs-tray-fade-enter-active,
|
|
23896
|
+
.mint-jobs-tray-fade-leave-active,
|
|
23897
|
+
.mint-jobs-tray-slide-enter-active,
|
|
23898
|
+
.mint-jobs-tray-slide-leave-active {
|
|
23899
|
+
transition: opacity var(--mint-transition), transform var(--mint-transition);
|
|
23900
|
+
}
|
|
23901
|
+
.mint-jobs-tray-fade-enter-from,
|
|
23902
|
+
.mint-jobs-tray-fade-leave-to {
|
|
23903
|
+
opacity: 0;
|
|
23904
|
+
}
|
|
23905
|
+
.mint-jobs-tray-slide-enter-from,
|
|
23906
|
+
.mint-jobs-tray-slide-leave-to {
|
|
23907
|
+
opacity: 0;
|
|
23908
|
+
transform: translateY(0.5rem) scale(0.98);
|
|
23909
|
+
}
|
|
23910
|
+
@keyframes mint-jobs-tray-pulse {
|
|
23911
|
+
50% { opacity: 0.55; }
|
|
23912
|
+
}
|
|
23913
|
+
@media (max-width: 480px) {
|
|
23914
|
+
.mint-jobs-tray {
|
|
23915
|
+
right: max(1rem, env(safe-area-inset-right));
|
|
23916
|
+
bottom: max(1rem, env(safe-area-inset-bottom));
|
|
23917
|
+
}
|
|
23918
|
+
|
|
23919
|
+
.mint-jobs-tray__panel {
|
|
23920
|
+
position: fixed;
|
|
23921
|
+
right: 1rem;
|
|
23922
|
+
bottom: 4.75rem;
|
|
23923
|
+
left: 1rem;
|
|
23924
|
+
width: auto;
|
|
23925
|
+
max-height: calc(100vh - 6.75rem - env(safe-area-inset-bottom));
|
|
23926
|
+
}
|
|
23927
|
+
}
|
|
23928
|
+
@media (prefers-reduced-motion: reduce) {
|
|
23929
|
+
.mint-jobs-tray *,
|
|
23930
|
+
.mint-jobs-tray *::before,
|
|
23931
|
+
.mint-jobs-tray *::after {
|
|
23932
|
+
scroll-behavior: auto !important;
|
|
23933
|
+
animation-duration: 0.01ms !important;
|
|
23934
|
+
animation-iteration-count: 1 !important;
|
|
23935
|
+
transition-duration: 0.01ms !important;
|
|
23936
|
+
}
|
|
23937
|
+
|
|
23938
|
+
.mint-jobs-tray__trigger:hover {
|
|
23939
|
+
transform: none;
|
|
23940
|
+
}
|
|
23941
|
+
}
|
|
23211
23942
|
/* BaseInput Component Styles */
|
|
23212
23943
|
.mint-input {
|
|
23213
23944
|
display: block;
|