@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
|
@@ -92,20 +92,20 @@ function cancel(): void {
|
|
|
92
92
|
* input keeps matching it when that changes. */
|
|
93
93
|
.pd-title-edit__input {
|
|
94
94
|
font: inherit;
|
|
95
|
-
color: var(--sa-heading);
|
|
95
|
+
color: var(--sa-color-fg-heading);
|
|
96
96
|
border: 0;
|
|
97
|
-
background: var(--sa-warning-
|
|
98
|
-
outline: 2px solid var(--sa-
|
|
97
|
+
background: var(--sa-color-warning-surface);
|
|
98
|
+
outline: 2px solid var(--sa-color-warning-strong);
|
|
99
99
|
padding: 2px 8px;
|
|
100
100
|
border-radius: var(--sa-radius-control);
|
|
101
101
|
min-width: 220px;
|
|
102
102
|
}
|
|
103
103
|
.pd-title-edit__hint {
|
|
104
|
-
font-size:
|
|
104
|
+
font-size: var(--sa-text-xs);
|
|
105
105
|
font-weight: 500;
|
|
106
|
-
color: var(--sa-warning);
|
|
107
|
-
background: var(--sa-warning-
|
|
108
|
-
border: 1px solid var(--sa-
|
|
106
|
+
color: var(--sa-color-warning);
|
|
107
|
+
background: var(--sa-color-warning-surface);
|
|
108
|
+
border: 1px solid var(--sa-color-warning-border);
|
|
109
109
|
border-radius: var(--sa-radius-control);
|
|
110
110
|
padding: 3px 8px;
|
|
111
111
|
}
|
|
@@ -118,7 +118,7 @@ function cancel(): void {
|
|
|
118
118
|
border-radius: var(--sa-radius-control);
|
|
119
119
|
background: transparent;
|
|
120
120
|
border: 1px solid transparent;
|
|
121
|
-
color: var(--sa-
|
|
121
|
+
color: var(--sa-color-fg-subtle);
|
|
122
122
|
cursor: pointer;
|
|
123
123
|
transition:
|
|
124
124
|
background 0.12s,
|
|
@@ -126,8 +126,8 @@ function cancel(): void {
|
|
|
126
126
|
border-color 0.12s;
|
|
127
127
|
}
|
|
128
128
|
.pd-title-edit__btn:hover {
|
|
129
|
-
background: var(--sa-border-soft);
|
|
130
|
-
color: var(--sa-
|
|
131
|
-
border-color: var(--sa-border);
|
|
129
|
+
background: var(--sa-color-border-soft);
|
|
130
|
+
color: var(--sa-color-accent);
|
|
131
|
+
border-color: var(--sa-color-border);
|
|
132
132
|
}
|
|
133
133
|
</style>
|
|
@@ -552,8 +552,8 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
552
552
|
<style scoped>
|
|
553
553
|
.sa-plan-list {
|
|
554
554
|
/* padding: 22px 26px; */
|
|
555
|
-
background: var(--sa-bg-app);
|
|
556
|
-
color: var(--sa-heading);
|
|
555
|
+
background: var(--sa-color-bg-app);
|
|
556
|
+
color: var(--sa-color-fg-heading);
|
|
557
557
|
font-family: var(--sa-font-body);
|
|
558
558
|
min-height: 100%;
|
|
559
559
|
box-sizing: border-box;
|
|
@@ -563,8 +563,8 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
563
563
|
|
|
564
564
|
/* List wrap */
|
|
565
565
|
.sa-plan-list-wrap {
|
|
566
|
-
background: var(--sa-bg-surface);
|
|
567
|
-
border: 1px solid var(--sa-border);
|
|
566
|
+
background: var(--sa-color-bg-surface);
|
|
567
|
+
border: 1px solid var(--sa-color-border);
|
|
568
568
|
border-radius: 10px;
|
|
569
569
|
overflow: hidden;
|
|
570
570
|
}
|
|
@@ -573,8 +573,8 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
573
573
|
align-items: center;
|
|
574
574
|
gap: 10px;
|
|
575
575
|
padding: 12px 16px;
|
|
576
|
-
border-bottom: 1px solid var(--sa-border);
|
|
577
|
-
background: var(--sa-bg-
|
|
576
|
+
border-bottom: 1px solid var(--sa-color-border);
|
|
577
|
+
background: var(--sa-color-bg-sunken);
|
|
578
578
|
}
|
|
579
579
|
/* The search takes the row; the sort hint keeps its content width. */
|
|
580
580
|
.sa-plan-list-toolbar > .q-field {
|
|
@@ -582,73 +582,90 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
582
582
|
}
|
|
583
583
|
.sa-plan-list-sortinfo {
|
|
584
584
|
margin-left: auto;
|
|
585
|
-
font-size:
|
|
586
|
-
color: var(--sa-
|
|
585
|
+
font-size: var(--sa-text-sm);
|
|
586
|
+
color: var(--sa-color-fg-subtle);
|
|
587
587
|
}
|
|
588
588
|
|
|
589
589
|
/* List grid */
|
|
590
590
|
.sa-plan-list-list {
|
|
591
591
|
display: grid;
|
|
592
592
|
grid-template-columns: 1.6fr 0.9fr 0.7fr 0.9fr 1.4fr 160px;
|
|
593
|
-
|
|
593
|
+
/* Stretch, not centre. Every row is `display: contents`, so its cells are
|
|
594
|
+
* grid items in their own right — and a centred item is only as tall as its
|
|
595
|
+
* own content. The row's hover background is painted per cell, so the band
|
|
596
|
+
* came out notched wherever one column was shorter than its neighbours.
|
|
597
|
+
* The cells fill the row now and centre their contents themselves. */
|
|
598
|
+
align-items: stretch;
|
|
594
599
|
}
|
|
595
600
|
.sa-plan-list-list-head {
|
|
596
601
|
display: contents;
|
|
597
602
|
}
|
|
598
603
|
.sa-plan-list-list-head > div {
|
|
599
|
-
|
|
604
|
+
display: flex;
|
|
605
|
+
align-items: center;
|
|
606
|
+
background: var(--sa-color-bg-surface-raised);
|
|
600
607
|
padding: 10px 16px;
|
|
601
|
-
font-size:
|
|
608
|
+
font-size: var(--sa-text-xs);
|
|
602
609
|
text-transform: uppercase;
|
|
603
610
|
letter-spacing: 0.1em;
|
|
604
|
-
color: var(--sa-
|
|
611
|
+
color: var(--sa-color-fg-secondary);
|
|
605
612
|
font-weight: 700;
|
|
606
|
-
border-bottom: 1px solid var(--sa-border);
|
|
613
|
+
border-bottom: 1px solid var(--sa-color-border);
|
|
607
614
|
}
|
|
608
615
|
.sa-plan-list-empty {
|
|
609
616
|
grid-column: 1 / -1;
|
|
610
617
|
padding: 32px 24px;
|
|
611
618
|
text-align: center;
|
|
612
|
-
color: var(--sa-
|
|
619
|
+
color: var(--sa-color-fg-subtle);
|
|
613
620
|
font-style: italic;
|
|
614
|
-
font-size:
|
|
621
|
+
font-size: var(--sa-text-md);
|
|
615
622
|
}
|
|
616
623
|
.sa-plan-list-row {
|
|
617
624
|
display: contents;
|
|
618
625
|
cursor: pointer;
|
|
619
626
|
}
|
|
620
627
|
.sa-plan-list-row > .sa-plan-list-cell {
|
|
628
|
+
/* Column by default — most cells stack a value over a caption. The three
|
|
629
|
+
* that lay their content out in a row say so below. */
|
|
630
|
+
display: flex;
|
|
631
|
+
flex-direction: column;
|
|
632
|
+
justify-content: center;
|
|
621
633
|
padding: 14px 16px;
|
|
622
|
-
border-bottom: 1px solid var(--sa-border-soft);
|
|
634
|
+
border-bottom: 1px solid var(--sa-color-border-soft);
|
|
623
635
|
transition: background 0.12s;
|
|
624
636
|
}
|
|
625
637
|
.sa-plan-list-row:hover > .sa-plan-list-cell {
|
|
626
|
-
background:
|
|
638
|
+
background: var(--sa-color-bg-surface-raised);
|
|
627
639
|
}
|
|
628
640
|
.sa-plan-list-row--new > .sa-plan-list-cell {
|
|
629
|
-
background: var(--sa-positive-
|
|
641
|
+
background: var(--sa-color-positive-surface) !important;
|
|
630
642
|
animation: sa-plan-list-flashNew 2.4s ease-out;
|
|
631
643
|
}
|
|
632
644
|
@keyframes sa-plan-list-flashNew {
|
|
633
645
|
0% {
|
|
634
|
-
background:
|
|
646
|
+
background: var(--sa-color-positive-surface-strong) !important;
|
|
635
647
|
}
|
|
636
648
|
100% {
|
|
637
|
-
background: var(--sa-positive-
|
|
649
|
+
background: var(--sa-color-positive-surface) !important;
|
|
638
650
|
}
|
|
639
651
|
}
|
|
640
652
|
|
|
641
653
|
/* Sub-rows (drafts + future-scheduled versions, indented under the parent) */
|
|
642
654
|
.sa-plan-list-row--sub > .sa-plan-list-cell {
|
|
643
|
-
background:
|
|
655
|
+
background: var(--sa-color-bg-surface-raised);
|
|
644
656
|
padding-top: 10px;
|
|
645
657
|
padding-bottom: 10px;
|
|
646
658
|
}
|
|
647
659
|
.sa-plan-list-row--sub:hover > .sa-plan-list-cell {
|
|
648
|
-
background: var(--sa-border-soft);
|
|
660
|
+
background: var(--sa-color-border-soft);
|
|
649
661
|
}
|
|
650
|
-
.sa-plan-list-cell--sub-name {
|
|
662
|
+
.sa-plan-list-row > .sa-plan-list-cell--sub-name {
|
|
651
663
|
display: flex;
|
|
664
|
+
flex-direction: row;
|
|
665
|
+
/* The base rule centres on the main axis, which is vertical for a column
|
|
666
|
+
* cell but horizontal here — it would float the indent and leave the tree
|
|
667
|
+
* elbow pointing at nothing. */
|
|
668
|
+
justify-content: flex-start;
|
|
652
669
|
align-items: center;
|
|
653
670
|
gap: 12px;
|
|
654
671
|
padding-left: 32px !important;
|
|
@@ -667,36 +684,36 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
667
684
|
bottom: 50%;
|
|
668
685
|
left: 12px;
|
|
669
686
|
width: 14px;
|
|
670
|
-
border-left: 1.5px solid
|
|
671
|
-
border-bottom: 1.5px solid
|
|
687
|
+
border-left: 1.5px solid var(--sa-color-border-strong);
|
|
688
|
+
border-bottom: 1.5px solid var(--sa-color-border-strong);
|
|
672
689
|
border-bottom-left-radius: 6px;
|
|
673
690
|
}
|
|
674
691
|
.sa-plan-list-sub-titles {
|
|
675
692
|
min-width: 0;
|
|
676
693
|
}
|
|
677
694
|
.sa-plan-list-sub-title {
|
|
678
|
-
font-size:
|
|
695
|
+
font-size: var(--sa-text-md);
|
|
679
696
|
font-weight: 600;
|
|
680
|
-
color: var(--sa-
|
|
697
|
+
color: var(--sa-color-fg-secondary);
|
|
681
698
|
display: flex;
|
|
682
699
|
align-items: center;
|
|
683
700
|
gap: 8px;
|
|
684
701
|
}
|
|
685
702
|
.sa-plan-list-sub-desc {
|
|
686
|
-
font-size:
|
|
687
|
-
color: var(--sa-muted);
|
|
703
|
+
font-size: var(--sa-text-sm);
|
|
704
|
+
color: var(--sa-color-fg-muted);
|
|
688
705
|
margin-top: 2px;
|
|
689
706
|
overflow: hidden;
|
|
690
707
|
text-overflow: ellipsis;
|
|
691
708
|
white-space: nowrap;
|
|
692
709
|
}
|
|
693
710
|
.sa-plan-list-version-num--sub {
|
|
694
|
-
font-size:
|
|
711
|
+
font-size: var(--sa-text-md);
|
|
695
712
|
font-weight: 600;
|
|
696
|
-
color: var(--sa-
|
|
713
|
+
color: var(--sa-color-fg-secondary);
|
|
697
714
|
}
|
|
698
715
|
.sa-plan-list-cell--sub-impact {
|
|
699
|
-
color: var(--sa-
|
|
716
|
+
color: var(--sa-color-fg-subtle);
|
|
700
717
|
}
|
|
701
718
|
|
|
702
719
|
.sa-plan-list-plan-name {
|
|
@@ -710,7 +727,7 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
710
727
|
border-radius: 8px;
|
|
711
728
|
display: grid;
|
|
712
729
|
place-items: center;
|
|
713
|
-
font: 700
|
|
730
|
+
font: 700 var(--sa-text-xs) var(--sa-font-mono);
|
|
714
731
|
letter-spacing: 0.04em;
|
|
715
732
|
flex: 0 0 auto;
|
|
716
733
|
border: 1px solid;
|
|
@@ -719,9 +736,9 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
719
736
|
min-width: 0;
|
|
720
737
|
}
|
|
721
738
|
.sa-plan-list-plan-title {
|
|
722
|
-
font-size:
|
|
739
|
+
font-size: var(--sa-text-lg);
|
|
723
740
|
font-weight: 700;
|
|
724
|
-
color: var(--sa-heading);
|
|
741
|
+
color: var(--sa-color-fg-heading);
|
|
725
742
|
letter-spacing: -0.01em;
|
|
726
743
|
display: flex;
|
|
727
744
|
align-items: center;
|
|
@@ -729,8 +746,8 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
729
746
|
flex-wrap: wrap;
|
|
730
747
|
}
|
|
731
748
|
.sa-plan-list-plan-desc {
|
|
732
|
-
font-size:
|
|
733
|
-
color: var(--sa-muted);
|
|
749
|
+
font-size: var(--sa-text-sm);
|
|
750
|
+
color: var(--sa-color-fg-muted);
|
|
734
751
|
margin-top: 2px;
|
|
735
752
|
overflow: hidden;
|
|
736
753
|
text-overflow: ellipsis;
|
|
@@ -751,41 +768,41 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
751
768
|
gap: 5px;
|
|
752
769
|
padding: 2px 8px;
|
|
753
770
|
border-radius: 999px;
|
|
754
|
-
font-size:
|
|
771
|
+
font-size: var(--sa-text-xs);
|
|
755
772
|
font-weight: 600;
|
|
756
|
-
background: var(--sa-bg-
|
|
757
|
-
color: var(--sa-
|
|
758
|
-
border: 1px solid var(--sa-border);
|
|
773
|
+
background: var(--sa-color-bg-sunken);
|
|
774
|
+
color: var(--sa-color-fg-secondary);
|
|
775
|
+
border: 1px solid var(--sa-color-border);
|
|
759
776
|
}
|
|
760
777
|
.sa-plan-list-chip--tiny {
|
|
761
778
|
padding: 1px 6px;
|
|
762
|
-
font-size:
|
|
779
|
+
font-size: var(--sa-text-2xs);
|
|
763
780
|
}
|
|
764
781
|
.sa-plan-list-chip--new {
|
|
765
|
-
background:
|
|
766
|
-
color:
|
|
767
|
-
border-color:
|
|
768
|
-
font-size:
|
|
782
|
+
background: var(--sa-color-info-surface-strong);
|
|
783
|
+
color: var(--sa-color-info-fg);
|
|
784
|
+
border-color: var(--sa-color-info-border);
|
|
785
|
+
font-size: var(--sa-text-2xs);
|
|
769
786
|
}
|
|
770
787
|
.sa-plan-list-chip--live {
|
|
771
|
-
background: var(--sa-positive-
|
|
772
|
-
color:
|
|
773
|
-
border-color:
|
|
788
|
+
background: var(--sa-color-positive-surface);
|
|
789
|
+
color: var(--sa-color-positive-fg);
|
|
790
|
+
border-color: var(--sa-color-positive-border);
|
|
774
791
|
}
|
|
775
792
|
.sa-plan-list-chip--draft {
|
|
776
|
-
background: var(--sa-warning-
|
|
777
|
-
color:
|
|
778
|
-
border-color:
|
|
793
|
+
background: var(--sa-color-warning-surface);
|
|
794
|
+
color: var(--sa-color-warning-fg);
|
|
795
|
+
border-color: var(--sa-color-warning-border);
|
|
779
796
|
}
|
|
780
797
|
.sa-plan-list-chip--supersed {
|
|
781
|
-
background: var(--sa-border-soft);
|
|
782
|
-
color: var(--sa-
|
|
783
|
-
border-color:
|
|
798
|
+
background: var(--sa-color-border-soft);
|
|
799
|
+
color: var(--sa-color-fg-secondary);
|
|
800
|
+
border-color: var(--sa-color-border-strong);
|
|
784
801
|
}
|
|
785
802
|
.sa-plan-list-chip--scheduled {
|
|
786
|
-
background:
|
|
787
|
-
color:
|
|
788
|
-
border-color:
|
|
803
|
+
background: var(--sa-color-scheduled-surface);
|
|
804
|
+
color: var(--sa-color-scheduled-fg);
|
|
805
|
+
border-color: var(--sa-color-scheduled-border);
|
|
789
806
|
}
|
|
790
807
|
.sa-plan-list-chip--dot::before {
|
|
791
808
|
content: '';
|
|
@@ -796,53 +813,55 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
796
813
|
}
|
|
797
814
|
|
|
798
815
|
.sa-plan-list-version-num {
|
|
799
|
-
font-size:
|
|
816
|
+
font-size: var(--sa-text-md);
|
|
800
817
|
font-weight: 700;
|
|
801
|
-
color: var(--sa-heading);
|
|
818
|
+
color: var(--sa-color-fg-heading);
|
|
802
819
|
}
|
|
803
820
|
.sa-plan-list-version-num--muted {
|
|
804
|
-
color:
|
|
821
|
+
color: var(--sa-color-fg-disabled);
|
|
805
822
|
}
|
|
806
823
|
.sa-plan-list-version-sub {
|
|
807
|
-
font-size:
|
|
808
|
-
color: var(--sa-
|
|
824
|
+
font-size: var(--sa-text-xs);
|
|
825
|
+
color: var(--sa-color-fg-subtle);
|
|
809
826
|
margin-top: 2px;
|
|
810
827
|
}
|
|
811
828
|
|
|
812
829
|
.sa-plan-list-price-big {
|
|
813
|
-
font-size:
|
|
830
|
+
font-size: var(--sa-text-lg);
|
|
814
831
|
font-weight: 700;
|
|
815
|
-
color: var(--sa-heading);
|
|
832
|
+
color: var(--sa-color-fg-heading);
|
|
816
833
|
}
|
|
817
834
|
.sa-plan-list-price-unit {
|
|
818
|
-
font-size:
|
|
819
|
-
color: var(--sa-
|
|
835
|
+
font-size: var(--sa-text-xs);
|
|
836
|
+
color: var(--sa-color-fg-subtle);
|
|
820
837
|
}
|
|
821
838
|
.sa-plan-list-price-sub {
|
|
822
|
-
font-size:
|
|
823
|
-
color: var(--sa-
|
|
839
|
+
font-size: var(--sa-text-xs);
|
|
840
|
+
color: var(--sa-color-fg-subtle);
|
|
824
841
|
margin-top: 2px;
|
|
825
842
|
}
|
|
826
843
|
.sa-plan-list-price-text {
|
|
827
|
-
font-size:
|
|
844
|
+
font-size: var(--sa-text-md);
|
|
828
845
|
font-weight: 600;
|
|
829
|
-
color: var(--sa-heading);
|
|
846
|
+
color: var(--sa-color-fg-heading);
|
|
830
847
|
}
|
|
831
848
|
|
|
832
|
-
.sa-plan-list-cell--tenants {
|
|
849
|
+
.sa-plan-list-row > .sa-plan-list-cell--tenants {
|
|
833
850
|
display: flex;
|
|
851
|
+
flex-direction: row;
|
|
852
|
+
justify-content: flex-start;
|
|
834
853
|
align-items: center;
|
|
835
854
|
gap: 10px;
|
|
836
855
|
}
|
|
837
856
|
.sa-plan-list-tenant-num {
|
|
838
|
-
font-size:
|
|
857
|
+
font-size: var(--sa-text-lg);
|
|
839
858
|
font-weight: 700;
|
|
840
|
-
color: var(--sa-heading);
|
|
859
|
+
color: var(--sa-color-fg-heading);
|
|
841
860
|
}
|
|
842
861
|
.sa-plan-list-tenant-bar {
|
|
843
862
|
flex: 1;
|
|
844
863
|
height: 6px;
|
|
845
|
-
background: var(--sa-border-soft);
|
|
864
|
+
background: var(--sa-color-border-soft);
|
|
846
865
|
border-radius: 999px;
|
|
847
866
|
overflow: hidden;
|
|
848
867
|
}
|
|
@@ -850,9 +869,11 @@ function hasAnyPublished(row: ResolvedPlan<PlanRow, PlanVersionRow>): boolean {
|
|
|
850
869
|
height: 100%;
|
|
851
870
|
}
|
|
852
871
|
|
|
853
|
-
.sa-plan-list-cell--actions {
|
|
872
|
+
.sa-plan-list-row > .sa-plan-list-cell--actions {
|
|
854
873
|
display: flex;
|
|
855
|
-
|
|
874
|
+
flex-direction: row;
|
|
875
|
+
align-items: center;
|
|
856
876
|
justify-content: flex-end;
|
|
877
|
+
gap: 4px;
|
|
857
878
|
}
|
|
858
879
|
</style>
|