@saasicat/ui-vue 0.22.2 → 0.23.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/README.md +1 -1
- package/dist/{chunk-LY52T4N4.js → chunk-TQQMKWN6.js} +58 -1
- package/dist/index.cjs +213 -159
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +7 -1
- package/dist/quasar/index.cjs +116 -20
- package/dist/quasar/index.d.cts +48 -3
- package/dist/quasar/index.d.ts +48 -3
- package/dist/quasar/index.js +58 -3
- package/dist/{use-super-admin-i18n-CgTuNi8h.d.cts → use-sa-theme-B5t7oXph.d.cts} +51 -1
- package/dist/{use-super-admin-i18n-CHNdsSlm.d.ts → use-sa-theme-OUBlaqgl.d.ts} +51 -1
- package/package.json +5 -2
- package/src/components/BundleVersionPublishDialog.vue +17 -17
- package/src/components/KvBlock.vue +6 -6
- package/src/components/MarketingPromotionsTab.vue +78 -78
- package/src/components/MfaPromptDialog.vue +2 -2
- package/src/components/TenantActionConfirmDialog.vue +5 -5
- package/src/components/VersionDiffPreview.vue +18 -18
- package/src/components/bundle-editor/BundleCreatePanel.vue +52 -52
- package/src/components/bundle-editor/BundleFeaturesEditor.vue +20 -20
- package/src/components/bundle-editor/BundlePlanCompatPicker.vue +33 -33
- package/src/components/bundle-editor/BundleQuotasEditor.vue +26 -26
- package/src/components/bundle-editor/BundleStatusBanner.vue +21 -21
- package/src/components/bundle-editor/BundleVersionInlineEditor.vue +48 -48
- package/src/components/bundle-editor/BundleVersionStrip.vue +30 -30
- package/src/components/dialogs/PilotCreateDialog.vue +20 -20
- package/src/components/dialogs/PilotEditDialog.vue +6 -6
- package/src/components/dialogs/PromoCodeCreateDialog.vue +9 -9
- package/src/components/dialogs/PromoCodeDialogFields.vue +61 -61
- package/src/components/dialogs/PromoCodeEditDialog.vue +11 -11
- package/src/components/dialogs/pilot-dialog.css +48 -48
- package/src/components/plan/PlanCycleToggle.vue +9 -16
- package/src/components/plan/PlanGrid.vue +30 -34
- package/src/components/plan/PriceSummary.vue +35 -35
- package/src/components/plan/PromoCodeInput.vue +26 -26
- package/src/components/plan/PublicBundleGrid.vue +32 -28
- package/src/components/plan-create-dialog/PlanCreateDialog.vue +49 -49
- package/src/components/plan-detail/PlanDetail.vue +172 -156
- package/src/components/plan-detail/PlanTitleEdit.vue +11 -11
- package/src/components/plan-list/PlanList.vue +98 -77
- package/src/components/plan-matrix/PlanMatrix.vue +89 -89
- package/src/components/plan-review/PlanReview.vue +60 -56
- package/src/components/plan-version-editor/PlanVersionEditor.vue +224 -200
- package/src/components/wizard-stepper/WizardStepper.vue +17 -17
- package/src/index.ts +1 -0
- package/src/pages-standard/AdminLayout.vue +58 -37
- package/src/pages-standard/AdminManifestErrorPage.vue +6 -6
- package/src/pages-standard/AuditPage.vue +3 -3
- package/src/pages-standard/BundlesPage.vue +36 -36
- package/src/pages-standard/DashboardPage.vue +17 -17
- package/src/pages-standard/DiscoveryPage.vue +55 -49
- package/src/pages-standard/EmailHistoryPage.vue +53 -71
- package/src/pages-standard/MarketingCatalogPage.vue +226 -218
- package/src/pages-standard/PilotsPage.vue +7 -6
- package/src/pages-standard/PlatformEmailPage.vue +18 -18
- package/src/pages-standard/PromoCodeDetailPage.vue +3 -3
- package/src/pages-standard/PromoCodesPage.vue +7 -6
- package/src/pages-standard/SuperAdminLoginPage.vue +39 -25
- package/src/pages-standard/SuperAdminSetupWizard.vue +44 -33
- package/src/pages-standard/TenantDetailPage.vue +7 -7
- package/src/pages-standard/TenantsPage.vue +11 -46
- package/src/pages-standard/bundles-page/BundleAccordionList.vue +13 -13
- package/src/pages-standard/discovery-page/CatalogEntryTransPanel.vue +24 -24
- package/src/pages-standard/discovery-page/DiscoveryCapList.vue +22 -22
- package/src/pages-standard/discovery-page/DiscoveryFeatureCard.vue +39 -39
- package/src/pages-standard/discovery-page/DiscoveryQuotaCard.vue +26 -26
- package/src/pages-standard/discovery-page/DiscoveryStatusControl.vue +1 -1
- package/src/pages-standard/plan-versions/PlanDiffCard.vue +16 -16
- package/src/pages-standard/plan-versions/PlanVersionsDiff.vue +21 -15
- package/src/pages-standard/plan-versions/PlanVersionsTimeline.vue +45 -45
- package/src/pages-standard/plans-page/PlanBundleOverview.vue +21 -15
- package/src/pages-standard/plans-page/PlanPublishDialog.vue +4 -4
- package/src/pages-standard/plans-page/PlansPageToast.vue +6 -6
- package/src/pages-standard/sa-theme.css +9 -687
- package/src/pages-standard/tenants/StatusPill.vue +13 -13
- package/src/pages-tenant/LimitsRow.vue +4 -4
- package/src/pages-tenant/MySubscriptionBundlesPage.vue +61 -61
- package/src/pages-tenant/OnboardingConfigurator.vue +24 -24
- package/src/pages-tenant/PackageSnapshotPanel.vue +10 -16
- package/src/pages-tenant/PendingVersionBanner.vue +12 -12
- package/src/pages-tenant/PlanChangeWizard.vue +20 -27
- package/src/pages-tenant/TenantPlanSection.vue +13 -21
- package/src/pages-tenant/UsageBar.vue +7 -7
- package/src/pages-tenant/tenant-plan-section/BundlePreviewDialog.vue +14 -14
- package/src/pages-tenant/tenant-plan-section/TenantBundleStore.vue +10 -10
- package/src/pages-tenant/tenant-plan-section/TenantFeatureMatrix.vue +2 -2
- package/src/quasar/create-super-admin-app.ts +96 -1
- package/src/quasar/dark-bridge.ts +66 -0
- package/src/quasar/index.ts +1 -0
- package/src/ui/theme/_breakpoints.scss +28 -0
- package/src/ui/theme/base.css +50 -0
- package/src/ui/theme/components/body.css +23 -0
- package/src/ui/theme/components/button.css +158 -0
- package/src/ui/theme/components/card.css +48 -0
- package/src/ui/theme/components/field.css +38 -0
- package/src/ui/theme/components/hero.css +46 -0
- package/src/ui/theme/components/paginator.css +63 -0
- package/src/ui/theme/components/section.css +67 -0
- package/src/ui/theme/components/statistics.css +189 -0
- package/src/ui/theme/components/table.css +60 -0
- package/src/ui/theme/index.css +42 -0
- package/src/ui/theme/tokens.legacy.css +147 -0
- package/src/ui/theme/tokens.primitive.css +108 -0
- package/src/ui/theme/tokens.scale.css +103 -0
- package/src/ui/theme/tokens.semantic.dark.css +173 -0
- package/src/ui/theme/tokens.semantic.light.css +212 -0
- package/src/vue/use-sa-theme.ts +154 -0
|
@@ -408,17 +408,17 @@ const advancedOpen = defineModel<boolean>('advancedOpen', { default: false });
|
|
|
408
408
|
|
|
409
409
|
<style scoped>
|
|
410
410
|
.pc-section {
|
|
411
|
-
border: 1px solid var(--sa-
|
|
411
|
+
border: 1px solid var(--sa-color-border);
|
|
412
412
|
border-radius: 10px;
|
|
413
413
|
padding: 14px 16px;
|
|
414
|
-
background:
|
|
414
|
+
background: var(--sa-color-bg-surface-raised);
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
.pc-section__title {
|
|
418
418
|
font-family: var(--sa-font-head, system-ui, sans-serif);
|
|
419
419
|
font-weight: 700;
|
|
420
|
-
font-size:
|
|
421
|
-
color: var(--sa-
|
|
420
|
+
font-size: var(--sa-text-md);
|
|
421
|
+
color: var(--sa-color-fg-heading);
|
|
422
422
|
margin-bottom: 12px;
|
|
423
423
|
letter-spacing: -0.005em;
|
|
424
424
|
}
|
|
@@ -427,8 +427,8 @@ const advancedOpen = defineModel<boolean>('advancedOpen', { default: false });
|
|
|
427
427
|
border: 0;
|
|
428
428
|
background: transparent;
|
|
429
429
|
cursor: pointer;
|
|
430
|
-
font: 600
|
|
431
|
-
color: var(--sa-
|
|
430
|
+
font: 600 var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
431
|
+
color: var(--sa-color-fg-secondary);
|
|
432
432
|
display: inline-flex;
|
|
433
433
|
align-items: center;
|
|
434
434
|
gap: 4px;
|
|
@@ -469,42 +469,42 @@ const advancedOpen = defineModel<boolean>('advancedOpen', { default: false });
|
|
|
469
469
|
}
|
|
470
470
|
|
|
471
471
|
.pc-field__label {
|
|
472
|
-
font-size:
|
|
472
|
+
font-size: var(--sa-text-sm);
|
|
473
473
|
font-weight: 600;
|
|
474
|
-
color: var(--sa-
|
|
474
|
+
color: var(--sa-color-fg-muted);
|
|
475
475
|
text-transform: uppercase;
|
|
476
476
|
letter-spacing: 0.04em;
|
|
477
477
|
}
|
|
478
478
|
|
|
479
479
|
.pc-field__hint {
|
|
480
|
-
font-size:
|
|
481
|
-
color: var(--sa-
|
|
480
|
+
font-size: var(--sa-text-sm);
|
|
481
|
+
color: var(--sa-color-fg-subtle);
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
.pc-input {
|
|
485
485
|
width: 100%;
|
|
486
|
-
border: 1px solid var(--sa-
|
|
487
|
-
background:
|
|
486
|
+
border: 1px solid var(--sa-color-border);
|
|
487
|
+
background: var(--sa-color-bg-surface);
|
|
488
488
|
border-radius: 7px;
|
|
489
489
|
padding: 8px 10px;
|
|
490
|
-
font:
|
|
491
|
-
color: var(--sa-body
|
|
490
|
+
font: var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
491
|
+
color: var(--sa-color-fg-body);
|
|
492
492
|
outline: 0;
|
|
493
493
|
}
|
|
494
494
|
|
|
495
495
|
.pc-input:focus {
|
|
496
|
-
border-color: var(--sa-
|
|
497
|
-
box-shadow: 0 0 0 3px
|
|
496
|
+
border-color: var(--sa-color-accent);
|
|
497
|
+
box-shadow: 0 0 0 3px var(--sa-shadow-tint-3);
|
|
498
498
|
}
|
|
499
499
|
|
|
500
500
|
.pc-input--code {
|
|
501
|
-
font: 600
|
|
501
|
+
font: 600 var(--sa-text-lg) var(--sa-font-mono, ui-monospace, monospace);
|
|
502
502
|
letter-spacing: 0.04em;
|
|
503
503
|
text-transform: uppercase;
|
|
504
504
|
}
|
|
505
505
|
|
|
506
506
|
textarea.pc-input {
|
|
507
|
-
font:
|
|
507
|
+
font: var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
508
508
|
resize: vertical;
|
|
509
509
|
}
|
|
510
510
|
|
|
@@ -515,17 +515,17 @@ textarea.pc-input {
|
|
|
515
515
|
}
|
|
516
516
|
|
|
517
517
|
.pc-btn-mini {
|
|
518
|
-
border: 1px solid var(--sa-
|
|
519
|
-
background:
|
|
518
|
+
border: 1px solid var(--sa-color-border);
|
|
519
|
+
background: var(--sa-color-bg-surface);
|
|
520
520
|
border-radius: 7px;
|
|
521
521
|
padding: 6px 10px;
|
|
522
|
-
font: 500
|
|
522
|
+
font: 500 var(--sa-text-sm) var(--sa-font-body, system-ui, sans-serif);
|
|
523
523
|
cursor: pointer;
|
|
524
|
-
color: var(--sa-
|
|
524
|
+
color: var(--sa-color-fg-secondary);
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
.pc-btn-mini:hover {
|
|
528
|
-
background: var(--sa-border-soft);
|
|
528
|
+
background: var(--sa-color-border-soft);
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
.pc-type-grid {
|
|
@@ -535,8 +535,8 @@ textarea.pc-input {
|
|
|
535
535
|
}
|
|
536
536
|
|
|
537
537
|
.pc-type-opt {
|
|
538
|
-
border: 1px solid var(--sa-
|
|
539
|
-
background:
|
|
538
|
+
border: 1px solid var(--sa-color-border);
|
|
539
|
+
background: var(--sa-color-bg-surface);
|
|
540
540
|
border-radius: 8px;
|
|
541
541
|
padding: 8px 10px;
|
|
542
542
|
text-align: left;
|
|
@@ -547,22 +547,22 @@ textarea.pc-input {
|
|
|
547
547
|
}
|
|
548
548
|
|
|
549
549
|
.pc-type-opt:hover {
|
|
550
|
-
border-color:
|
|
550
|
+
border-color: var(--sa-color-border-strong);
|
|
551
551
|
}
|
|
552
552
|
|
|
553
553
|
.pc-type-opt--active {
|
|
554
|
-
border-color: var(--sa-
|
|
555
|
-
background: var(--sa-
|
|
554
|
+
border-color: var(--sa-color-accent);
|
|
555
|
+
background: var(--sa-color-accent-surface);
|
|
556
556
|
}
|
|
557
557
|
|
|
558
558
|
.pc-type-opt__label {
|
|
559
|
-
font: 600
|
|
560
|
-
color: var(--sa-
|
|
559
|
+
font: 600 var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
560
|
+
color: var(--sa-color-fg-heading);
|
|
561
561
|
}
|
|
562
562
|
|
|
563
563
|
.pc-type-opt__sub {
|
|
564
|
-
font:
|
|
565
|
-
color: var(--sa-
|
|
564
|
+
font: var(--sa-text-sm) var(--sa-font-mono, ui-monospace, monospace);
|
|
565
|
+
color: var(--sa-color-fg-muted);
|
|
566
566
|
margin-top: 1px;
|
|
567
567
|
}
|
|
568
568
|
|
|
@@ -576,26 +576,26 @@ textarea.pc-input {
|
|
|
576
576
|
display: inline-flex;
|
|
577
577
|
align-items: center;
|
|
578
578
|
gap: 8px;
|
|
579
|
-
background:
|
|
580
|
-
border: 1px solid var(--sa-
|
|
579
|
+
background: var(--sa-color-bg-surface);
|
|
580
|
+
border: 1px solid var(--sa-color-border);
|
|
581
581
|
border-radius: 999px;
|
|
582
582
|
padding: 5px 12px 5px 8px;
|
|
583
|
-
font: 600
|
|
583
|
+
font: 600 var(--sa-text-sm) var(--sa-font-body, system-ui, sans-serif);
|
|
584
584
|
cursor: pointer;
|
|
585
|
-
color: var(--sa-
|
|
585
|
+
color: var(--sa-color-fg-secondary);
|
|
586
586
|
transition:
|
|
587
587
|
border-color 0.1s,
|
|
588
588
|
background 0.1s;
|
|
589
589
|
}
|
|
590
590
|
|
|
591
591
|
.pc-plan-opt:hover {
|
|
592
|
-
border-color:
|
|
592
|
+
border-color: var(--sa-color-border-strong);
|
|
593
593
|
}
|
|
594
594
|
|
|
595
595
|
.pc-plan-opt--on {
|
|
596
|
-
border-color: var(--sa-
|
|
597
|
-
background: var(--sa-
|
|
598
|
-
color: var(--sa-
|
|
596
|
+
border-color: var(--sa-color-accent);
|
|
597
|
+
background: var(--sa-color-accent-surface);
|
|
598
|
+
color: var(--sa-color-accent);
|
|
599
599
|
}
|
|
600
600
|
|
|
601
601
|
.pc-plan-opt__mark {
|
|
@@ -611,41 +611,41 @@ textarea.pc-input {
|
|
|
611
611
|
|
|
612
612
|
.pc-dur-opt {
|
|
613
613
|
flex: 1;
|
|
614
|
-
border: 1px solid var(--sa-
|
|
615
|
-
background:
|
|
614
|
+
border: 1px solid var(--sa-color-border);
|
|
615
|
+
background: var(--sa-color-bg-surface);
|
|
616
616
|
border-radius: 7px;
|
|
617
617
|
padding: 6px 10px;
|
|
618
|
-
font: 500
|
|
618
|
+
font: 500 var(--sa-text-sm) var(--sa-font-body, system-ui, sans-serif);
|
|
619
619
|
cursor: pointer;
|
|
620
|
-
color: var(--sa-
|
|
620
|
+
color: var(--sa-color-fg-secondary);
|
|
621
621
|
}
|
|
622
622
|
|
|
623
623
|
.pc-dur-opt--active {
|
|
624
|
-
border-color: var(--sa-
|
|
625
|
-
background: var(--sa-
|
|
626
|
-
color: var(--sa-
|
|
624
|
+
border-color: var(--sa-color-accent);
|
|
625
|
+
background: var(--sa-color-accent-surface);
|
|
626
|
+
color: var(--sa-color-accent);
|
|
627
627
|
}
|
|
628
628
|
|
|
629
629
|
.pc-check {
|
|
630
630
|
display: inline-flex;
|
|
631
631
|
align-items: center;
|
|
632
632
|
gap: 8px;
|
|
633
|
-
font:
|
|
634
|
-
color: var(--sa-body
|
|
633
|
+
font: var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
634
|
+
color: var(--sa-color-fg-body);
|
|
635
635
|
cursor: pointer;
|
|
636
636
|
}
|
|
637
637
|
|
|
638
638
|
.pc-preview {
|
|
639
|
-
background: var(--sa-
|
|
640
|
-
border: 1px solid var(--sa-
|
|
639
|
+
background: var(--sa-color-accent-surface-soft);
|
|
640
|
+
border: 1px solid var(--sa-color-accent-border);
|
|
641
641
|
border-radius: 10px;
|
|
642
642
|
padding: 12px 14px;
|
|
643
643
|
}
|
|
644
644
|
|
|
645
645
|
.pc-preview__eyebrow {
|
|
646
|
-
font-size:
|
|
646
|
+
font-size: var(--sa-text-xs);
|
|
647
647
|
font-weight: 700;
|
|
648
|
-
color: var(--sa-
|
|
648
|
+
color: var(--sa-color-accent);
|
|
649
649
|
text-transform: uppercase;
|
|
650
650
|
letter-spacing: 0.06em;
|
|
651
651
|
margin-bottom: 6px;
|
|
@@ -659,22 +659,22 @@ textarea.pc-input {
|
|
|
659
659
|
}
|
|
660
660
|
|
|
661
661
|
.pc-preview__code {
|
|
662
|
-
background:
|
|
663
|
-
border: 1px solid var(--sa-
|
|
662
|
+
background: var(--sa-color-bg-surface);
|
|
663
|
+
border: 1px solid var(--sa-color-border);
|
|
664
664
|
border-radius: 6px;
|
|
665
665
|
padding: 3px 8px;
|
|
666
|
-
font: 600
|
|
666
|
+
font: 600 var(--sa-text-md) var(--sa-font-mono, ui-monospace, monospace);
|
|
667
667
|
letter-spacing: 0.04em;
|
|
668
|
-
color: var(--sa-
|
|
668
|
+
color: var(--sa-color-fg-heading);
|
|
669
669
|
}
|
|
670
670
|
|
|
671
671
|
.pc-preview__disc {
|
|
672
|
-
font: 700
|
|
673
|
-
color: var(--sa-positive
|
|
672
|
+
font: 700 var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
673
|
+
color: var(--sa-color-positive-fg);
|
|
674
674
|
}
|
|
675
675
|
|
|
676
676
|
.pc-preview__meta {
|
|
677
|
-
font-size:
|
|
678
|
-
color: var(--sa-
|
|
677
|
+
font-size: var(--sa-text-sm);
|
|
678
|
+
color: var(--sa-color-fg-muted);
|
|
679
679
|
}
|
|
680
680
|
</style>
|
|
@@ -303,13 +303,13 @@ async function onSubmit() {
|
|
|
303
303
|
.pc-dlg__title {
|
|
304
304
|
font-family: var(--sa-font-head, system-ui, sans-serif);
|
|
305
305
|
font-weight: 700;
|
|
306
|
-
font-size:
|
|
307
|
-
color: var(--sa-
|
|
306
|
+
font-size: var(--sa-text-xl);
|
|
307
|
+
color: var(--sa-color-fg-heading);
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
.pc-dlg__sub {
|
|
311
|
-
font-size:
|
|
312
|
-
color: var(--sa-
|
|
311
|
+
font-size: var(--sa-text-md);
|
|
312
|
+
color: var(--sa-color-fg-muted);
|
|
313
313
|
margin-top: 2px;
|
|
314
314
|
}
|
|
315
315
|
|
|
@@ -321,14 +321,14 @@ async function onSubmit() {
|
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
.pc-dlg__foot {
|
|
324
|
-
border-top: 1px solid var(--sa-
|
|
324
|
+
border-top: 1px solid var(--sa-color-border);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
.pc-error {
|
|
328
|
-
background:
|
|
329
|
-
border: 1px solid
|
|
330
|
-
color:
|
|
331
|
-
font-size:
|
|
328
|
+
background: var(--sa-color-negative-surface);
|
|
329
|
+
border: 1px solid var(--sa-color-negative-border);
|
|
330
|
+
color: var(--sa-color-negative-fg);
|
|
331
|
+
font-size: var(--sa-text-md);
|
|
332
332
|
margin: 8px 0 0;
|
|
333
333
|
padding: 8px 12px;
|
|
334
334
|
border-radius: 8px;
|
|
@@ -336,8 +336,8 @@ async function onSubmit() {
|
|
|
336
336
|
|
|
337
337
|
/* The code cannot be changed after creation. */
|
|
338
338
|
.pc-input:disabled {
|
|
339
|
-
background: var(--sa-bg-
|
|
340
|
-
color: var(--sa-muted);
|
|
339
|
+
background: var(--sa-color-bg-sunken);
|
|
340
|
+
color: var(--sa-color-fg-muted);
|
|
341
341
|
cursor: not-allowed;
|
|
342
342
|
}
|
|
343
343
|
</style>
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
align-items: flex-start;
|
|
14
14
|
gap: 16px;
|
|
15
15
|
padding: 18px 22px 14px;
|
|
16
|
-
border-bottom: 1px solid var(--sa-border
|
|
16
|
+
border-bottom: 1px solid var(--sa-color-border);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
.pl-dlg__title {
|
|
20
20
|
font-family: var(--sa-font-head, system-ui, sans-serif);
|
|
21
21
|
font-weight: 700;
|
|
22
|
-
font-size:
|
|
23
|
-
color: var(--sa-heading
|
|
22
|
+
font-size: var(--sa-text-xl);
|
|
23
|
+
color: var(--sa-color-fg-heading);
|
|
24
24
|
letter-spacing: -0.015em;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.pl-dlg__foot {
|
|
32
|
-
border-top: 1px solid var(--sa-border
|
|
33
|
-
background:
|
|
32
|
+
border-top: 1px solid var(--sa-color-border);
|
|
33
|
+
background: var(--sa-color-bg-surface-raised);
|
|
34
34
|
padding: 12px 18px;
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -44,42 +44,42 @@
|
|
|
44
44
|
gap: 12px;
|
|
45
45
|
margin-bottom: 12px;
|
|
46
46
|
padding-bottom: 10px;
|
|
47
|
-
border-bottom: 1px solid
|
|
47
|
+
border-bottom: 1px solid var(--sa-color-border-soft);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
.pl-section__num {
|
|
51
51
|
width: 24px;
|
|
52
52
|
height: 24px;
|
|
53
|
-
background:
|
|
54
|
-
color:
|
|
53
|
+
background: var(--sa-color-info-surface);
|
|
54
|
+
color: var(--sa-color-info-fg);
|
|
55
55
|
border-radius: 50%;
|
|
56
|
-
font: 700
|
|
56
|
+
font: 700 var(--sa-text-sm) var(--sa-font-body, system-ui, sans-serif);
|
|
57
57
|
display: grid;
|
|
58
58
|
place-items: center;
|
|
59
59
|
flex: 0 0 auto;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
.pl-section__title {
|
|
63
|
-
font-size:
|
|
63
|
+
font-size: var(--sa-text-md);
|
|
64
64
|
font-weight: 700;
|
|
65
|
-
color: var(--sa-heading
|
|
65
|
+
color: var(--sa-color-fg-heading);
|
|
66
66
|
letter-spacing: -0.005em;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.pl-section__sub {
|
|
70
|
-
font-size:
|
|
71
|
-
color:
|
|
70
|
+
font-size: var(--sa-text-sm);
|
|
71
|
+
color: var(--sa-color-fg-subtle);
|
|
72
72
|
margin-top: 2px;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.pl-input {
|
|
76
76
|
width: 100%;
|
|
77
77
|
padding: 9px 12px;
|
|
78
|
-
background:
|
|
79
|
-
border: 1px solid var(--sa-border
|
|
78
|
+
background: var(--sa-color-bg-surface);
|
|
79
|
+
border: 1px solid var(--sa-color-border);
|
|
80
80
|
border-radius: 8px;
|
|
81
|
-
font:
|
|
82
|
-
color: var(--sa-body
|
|
81
|
+
font: var(--sa-text-md) var(--sa-font-body, system-ui, sans-serif);
|
|
82
|
+
color: var(--sa-color-fg-body);
|
|
83
83
|
outline: 0;
|
|
84
84
|
transition:
|
|
85
85
|
border-color 0.12s,
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
.pl-input:focus {
|
|
90
|
-
border-color: var(--sa-
|
|
91
|
-
box-shadow: 0 0 0 3px
|
|
90
|
+
border-color: var(--sa-color-accent);
|
|
91
|
+
box-shadow: 0 0 0 3px var(--sa-shadow-tint-3);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
.pl-plan-select {
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
align-items: center;
|
|
103
103
|
gap: 10px;
|
|
104
104
|
padding: 8px 11px;
|
|
105
|
-
background:
|
|
106
|
-
border: 1px solid var(--sa-border
|
|
105
|
+
background: var(--sa-color-bg-surface);
|
|
106
|
+
border: 1px solid var(--sa-color-border);
|
|
107
107
|
border-radius: 8px;
|
|
108
108
|
cursor: pointer;
|
|
109
109
|
text-align: left;
|
|
@@ -114,14 +114,14 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.pl-plan-opt:hover {
|
|
117
|
-
border-color:
|
|
118
|
-
background:
|
|
117
|
+
border-color: var(--sa-color-info-border);
|
|
118
|
+
background: var(--sa-color-accent-surface-soft);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
.pl-plan-opt--active {
|
|
122
|
-
border-color: var(--sa-
|
|
123
|
-
background:
|
|
124
|
-
box-shadow: 0 0 0 1px var(--sa-
|
|
122
|
+
border-color: var(--sa-color-info);
|
|
123
|
+
background: var(--sa-color-info-surface);
|
|
124
|
+
box-shadow: 0 0 0 1px var(--sa-color-info) inset;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
.pl-plan-opt__dot {
|
|
@@ -139,19 +139,19 @@
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.pl-plan-opt__key {
|
|
142
|
-
font: 700
|
|
142
|
+
font: 700 var(--sa-text-xs) var(--sa-font-mono, ui-monospace, monospace);
|
|
143
143
|
letter-spacing: 0.05em;
|
|
144
|
-
color: var(--sa-heading
|
|
144
|
+
color: var(--sa-color-fg-heading);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.pl-plan-opt__label {
|
|
148
|
-
font-size:
|
|
149
|
-
color: var(--sa-muted
|
|
148
|
+
font-size: var(--sa-text-xs);
|
|
149
|
+
color: var(--sa-color-fg-muted);
|
|
150
150
|
margin-top: 1px;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
.pl-plan-opt__check {
|
|
154
|
-
color:
|
|
154
|
+
color: var(--sa-color-info-fg);
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
.pl-end-row {
|
|
@@ -169,18 +169,18 @@
|
|
|
169
169
|
align-items: center;
|
|
170
170
|
gap: 4px;
|
|
171
171
|
padding: 7px 10px;
|
|
172
|
-
background:
|
|
173
|
-
border: 1px solid var(--sa-border
|
|
172
|
+
background: var(--sa-color-bg-surface);
|
|
173
|
+
border: 1px solid var(--sa-color-border);
|
|
174
174
|
border-radius: 7px;
|
|
175
|
-
color: var(--sa-
|
|
176
|
-
font: 500
|
|
175
|
+
color: var(--sa-color-fg-secondary);
|
|
176
|
+
font: 500 var(--sa-text-sm) var(--sa-font-body, system-ui, sans-serif);
|
|
177
177
|
cursor: pointer;
|
|
178
178
|
white-space: nowrap;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
.pl-btn-mini:hover {
|
|
182
|
-
background:
|
|
183
|
-
border-color:
|
|
182
|
+
background: var(--sa-color-bg-sunken);
|
|
183
|
+
border-color: var(--sa-color-border-strong);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
.pl-end-presets {
|
|
@@ -192,11 +192,11 @@
|
|
|
192
192
|
|
|
193
193
|
.pl-preset-btn {
|
|
194
194
|
padding: 4px 9px;
|
|
195
|
-
background:
|
|
196
|
-
border: 1px dashed
|
|
195
|
+
background: var(--sa-color-bg-surface);
|
|
196
|
+
border: 1px dashed var(--sa-color-border-strong);
|
|
197
197
|
border-radius: 999px;
|
|
198
|
-
font: 600
|
|
199
|
-
color: var(--sa-
|
|
198
|
+
font: 600 var(--sa-text-xs) var(--sa-font-body, system-ui, sans-serif);
|
|
199
|
+
color: var(--sa-color-fg-secondary);
|
|
200
200
|
cursor: pointer;
|
|
201
201
|
transition:
|
|
202
202
|
background 0.12s,
|
|
@@ -205,17 +205,17 @@
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
.pl-preset-btn:hover {
|
|
208
|
-
background:
|
|
209
|
-
border-color:
|
|
208
|
+
background: var(--sa-color-info-surface);
|
|
209
|
+
border-color: var(--sa-color-info-border);
|
|
210
210
|
border-style: solid;
|
|
211
|
-
color:
|
|
211
|
+
color: var(--sa-color-info-fg);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
.pl-error {
|
|
215
|
-
background:
|
|
216
|
-
border: 1px solid
|
|
217
|
-
color:
|
|
218
|
-
font-size:
|
|
215
|
+
background: var(--sa-color-negative-surface);
|
|
216
|
+
border: 1px solid var(--sa-color-negative-border);
|
|
217
|
+
color: var(--sa-color-negative-fg);
|
|
218
|
+
font-size: var(--sa-text-md);
|
|
219
219
|
margin: 12px 0 0;
|
|
220
220
|
padding: 8px 12px;
|
|
221
221
|
border-radius: 8px;
|
|
@@ -61,28 +61,21 @@ const labels = computed(() => ({
|
|
|
61
61
|
<style scoped>
|
|
62
62
|
.sp-cycle {
|
|
63
63
|
display: inline-flex;
|
|
64
|
-
|
|
65
|
-
--sp-cycle-
|
|
66
|
-
--sp-cycle-btn-
|
|
67
|
-
--sp-cycle-btn-active-
|
|
68
|
-
--sp-cycle-btn-active-fg: var(--q-primary, #0f766e);
|
|
64
|
+
--sp-cycle-bg: var(--sa-color-accent-surface-soft);
|
|
65
|
+
--sp-cycle-btn-fg: var(--sa-color-fg-muted);
|
|
66
|
+
--sp-cycle-btn-active-bg: var(--sa-color-bg-surface);
|
|
67
|
+
--sp-cycle-btn-active-fg: var(--sa-color-accent);
|
|
69
68
|
background: var(--sp-cycle-bg);
|
|
70
69
|
border-radius: 12px;
|
|
71
70
|
padding: 3px;
|
|
72
71
|
gap: 2px;
|
|
73
72
|
}
|
|
74
|
-
:global(.body--dark) .sp-cycle {
|
|
75
|
-
--sp-cycle-bg: rgba(255, 255, 255, 0.08);
|
|
76
|
-
--sp-cycle-btn-fg: rgba(255, 255, 255, 0.7);
|
|
77
|
-
--sp-cycle-btn-active-bg: rgba(255, 255, 255, 0.92);
|
|
78
|
-
--sp-cycle-btn-active-fg: var(--q-primary, #0f766e);
|
|
79
|
-
}
|
|
80
73
|
.sp-cycle__btn {
|
|
81
74
|
padding: 8px 14px;
|
|
82
75
|
border: none;
|
|
83
76
|
background: none;
|
|
84
77
|
font-family: inherit;
|
|
85
|
-
font-size:
|
|
78
|
+
font-size: var(--sa-text-sm);
|
|
86
79
|
font-weight: 700;
|
|
87
80
|
color: var(--sp-cycle-btn-fg);
|
|
88
81
|
cursor: pointer;
|
|
@@ -96,12 +89,12 @@ const labels = computed(() => ({
|
|
|
96
89
|
.sp-cycle__btn--active {
|
|
97
90
|
background: var(--sp-cycle-btn-active-bg);
|
|
98
91
|
color: var(--sp-cycle-btn-active-fg);
|
|
99
|
-
box-shadow: 0 2px 8px
|
|
92
|
+
box-shadow: 0 2px 8px var(--sa-shadow-tint-3);
|
|
100
93
|
}
|
|
101
94
|
.sp-cycle__pill {
|
|
102
|
-
background:
|
|
103
|
-
color:
|
|
104
|
-
font-size:
|
|
95
|
+
background: var(--sa-color-positive-surface-strong);
|
|
96
|
+
color: var(--sa-color-positive-fg);
|
|
97
|
+
font-size: var(--sa-text-2xs);
|
|
105
98
|
padding: 2px 7px;
|
|
106
99
|
border-radius: 999px;
|
|
107
100
|
font-family: 'SF Mono', Consolas, monospace;
|