@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
|
@@ -657,16 +657,16 @@ function formatQuota(v: number | undefined): string {
|
|
|
657
657
|
<style scoped>
|
|
658
658
|
.pm {
|
|
659
659
|
padding: 22px 26px;
|
|
660
|
-
background: var(--sa-bg-app);
|
|
661
|
-
color: var(--sa-heading);
|
|
660
|
+
background: var(--sa-color-bg-app);
|
|
661
|
+
color: var(--sa-color-fg-heading);
|
|
662
662
|
font-family: var(--sa-font-body);
|
|
663
663
|
min-height: 100%;
|
|
664
664
|
box-sizing: border-box;
|
|
665
665
|
}
|
|
666
666
|
|
|
667
667
|
.pm-card {
|
|
668
|
-
background: var(--sa-bg-surface);
|
|
669
|
-
border: 1px solid var(--sa-border);
|
|
668
|
+
background: var(--sa-color-bg-surface);
|
|
669
|
+
border: 1px solid var(--sa-color-border);
|
|
670
670
|
border-radius: 10px;
|
|
671
671
|
}
|
|
672
672
|
.pm-wrap {
|
|
@@ -677,11 +677,11 @@ function formatQuota(v: number | undefined): string {
|
|
|
677
677
|
width: 100%;
|
|
678
678
|
border-collapse: separate;
|
|
679
679
|
border-spacing: 0;
|
|
680
|
-
font-size:
|
|
680
|
+
font-size: var(--sa-text-md);
|
|
681
681
|
}
|
|
682
682
|
.pm-head th {
|
|
683
|
-
background:
|
|
684
|
-
border-bottom: 1px solid var(--sa-border);
|
|
683
|
+
background: var(--sa-color-bg-surface-raised);
|
|
684
|
+
border-bottom: 1px solid var(--sa-color-border);
|
|
685
685
|
}
|
|
686
686
|
.pm-rowhead-cell {
|
|
687
687
|
text-align: left;
|
|
@@ -691,10 +691,10 @@ function formatQuota(v: number | undefined): string {
|
|
|
691
691
|
min-width: 240px;
|
|
692
692
|
}
|
|
693
693
|
.pm-component-kicker {
|
|
694
|
-
font-size:
|
|
694
|
+
font-size: var(--sa-text-xs);
|
|
695
695
|
text-transform: uppercase;
|
|
696
696
|
letter-spacing: 0.1em;
|
|
697
|
-
color: var(--sa-
|
|
697
|
+
color: var(--sa-color-fg-subtle);
|
|
698
698
|
font-weight: 700;
|
|
699
699
|
}
|
|
700
700
|
|
|
@@ -704,8 +704,8 @@ function formatQuota(v: number | undefined): string {
|
|
|
704
704
|
min-width: 200px;
|
|
705
705
|
}
|
|
706
706
|
.pm-plan-card {
|
|
707
|
-
background:
|
|
708
|
-
border: 1px solid var(--sa-border);
|
|
707
|
+
background: var(--sa-color-bg-surface);
|
|
708
|
+
border: 1px solid var(--sa-color-border);
|
|
709
709
|
border-top: 3px solid;
|
|
710
710
|
border-radius: 10px;
|
|
711
711
|
padding: 14px 14px 12px;
|
|
@@ -718,34 +718,34 @@ function formatQuota(v: number | undefined): string {
|
|
|
718
718
|
align-items: flex-start;
|
|
719
719
|
}
|
|
720
720
|
.pm-plan-key {
|
|
721
|
-
font: 700
|
|
721
|
+
font: 700 var(--sa-text-xs) var(--sa-font-mono);
|
|
722
722
|
letter-spacing: 0.08em;
|
|
723
|
-
color: var(--sa-
|
|
723
|
+
color: var(--sa-color-fg-secondary);
|
|
724
724
|
}
|
|
725
725
|
.pm-plan-label {
|
|
726
|
-
font-size:
|
|
726
|
+
font-size: var(--sa-text-xl);
|
|
727
727
|
font-weight: 700;
|
|
728
728
|
letter-spacing: -0.02em;
|
|
729
|
-
color: var(--sa-heading);
|
|
729
|
+
color: var(--sa-color-fg-heading);
|
|
730
730
|
}
|
|
731
731
|
.pm-plan-desc {
|
|
732
|
-
font-size:
|
|
733
|
-
color: var(--sa-muted);
|
|
732
|
+
font-size: var(--sa-text-sm);
|
|
733
|
+
color: var(--sa-color-fg-muted);
|
|
734
734
|
margin-top: 4px;
|
|
735
735
|
line-height: 1.4;
|
|
736
736
|
min-height: 32px;
|
|
737
737
|
}
|
|
738
738
|
.pm-plan-divider {
|
|
739
739
|
height: 1px;
|
|
740
|
-
background: var(--sa-border);
|
|
740
|
+
background: var(--sa-color-border);
|
|
741
741
|
margin: 10px 0;
|
|
742
742
|
}
|
|
743
743
|
.pm-kebab {
|
|
744
744
|
background: none;
|
|
745
745
|
border: 0;
|
|
746
|
-
color: var(--sa-
|
|
746
|
+
color: var(--sa-color-fg-subtle);
|
|
747
747
|
cursor: pointer;
|
|
748
|
-
font-size:
|
|
748
|
+
font-size: var(--sa-text-lg);
|
|
749
749
|
padding: 0;
|
|
750
750
|
line-height: 1;
|
|
751
751
|
}
|
|
@@ -763,31 +763,31 @@ function formatQuota(v: number | undefined): string {
|
|
|
763
763
|
flex-wrap: wrap;
|
|
764
764
|
}
|
|
765
765
|
.pm-price-big {
|
|
766
|
-
font-size:
|
|
766
|
+
font-size: var(--sa-text-xl);
|
|
767
767
|
font-weight: 700;
|
|
768
768
|
letter-spacing: -0.02em;
|
|
769
769
|
}
|
|
770
770
|
.pm-price-unit {
|
|
771
|
-
font-size:
|
|
772
|
-
color: var(--sa-muted);
|
|
771
|
+
font-size: var(--sa-text-xs);
|
|
772
|
+
color: var(--sa-color-fg-muted);
|
|
773
773
|
}
|
|
774
774
|
.pm-price-yearly {
|
|
775
|
-
font-size:
|
|
776
|
-
color: var(--sa-
|
|
775
|
+
font-size: var(--sa-text-2xs);
|
|
776
|
+
color: var(--sa-color-fg-subtle);
|
|
777
777
|
margin-left: 4px;
|
|
778
778
|
}
|
|
779
779
|
.pm-price-free {
|
|
780
|
-
font-size:
|
|
780
|
+
font-size: var(--sa-text-lg);
|
|
781
781
|
font-weight: 600;
|
|
782
|
-
color: var(--sa-heading);
|
|
782
|
+
color: var(--sa-color-fg-heading);
|
|
783
783
|
}
|
|
784
784
|
.pm-plan-meta {
|
|
785
785
|
display: flex;
|
|
786
786
|
gap: 6px;
|
|
787
787
|
flex-wrap: wrap;
|
|
788
788
|
align-items: center;
|
|
789
|
-
font-size:
|
|
790
|
-
color: var(--sa-muted);
|
|
789
|
+
font-size: var(--sa-text-xs);
|
|
790
|
+
color: var(--sa-color-fg-muted);
|
|
791
791
|
margin-top: 8px;
|
|
792
792
|
}
|
|
793
793
|
.pm-plan-actions {
|
|
@@ -795,7 +795,7 @@ function formatQuota(v: number | undefined): string {
|
|
|
795
795
|
gap: 6px;
|
|
796
796
|
margin-top: 10px;
|
|
797
797
|
padding-top: 10px;
|
|
798
|
-
border-top: 1px solid var(--sa-border-soft);
|
|
798
|
+
border-top: 1px solid var(--sa-color-border-soft);
|
|
799
799
|
}
|
|
800
800
|
|
|
801
801
|
.pm-add-col {
|
|
@@ -804,10 +804,10 @@ function formatQuota(v: number | undefined): string {
|
|
|
804
804
|
vertical-align: top;
|
|
805
805
|
}
|
|
806
806
|
.pm-add {
|
|
807
|
-
border: 1.5px dashed
|
|
807
|
+
border: 1.5px dashed var(--sa-color-scheduled-border);
|
|
808
808
|
border-radius: 10px;
|
|
809
809
|
padding: 16px 10px;
|
|
810
|
-
background:
|
|
810
|
+
background: var(--sa-color-accent-surface);
|
|
811
811
|
text-align: center;
|
|
812
812
|
cursor: pointer;
|
|
813
813
|
min-height: 180px;
|
|
@@ -818,8 +818,8 @@ function formatQuota(v: number | undefined): string {
|
|
|
818
818
|
font-family: inherit;
|
|
819
819
|
}
|
|
820
820
|
.pm-add:hover {
|
|
821
|
-
background:
|
|
822
|
-
border-color:
|
|
821
|
+
background: var(--sa-color-scheduled-surface);
|
|
822
|
+
border-color: var(--sa-color-scheduled-strong);
|
|
823
823
|
}
|
|
824
824
|
.pm-add-icon {
|
|
825
825
|
display: grid;
|
|
@@ -827,18 +827,18 @@ function formatQuota(v: number | undefined): string {
|
|
|
827
827
|
width: 30px;
|
|
828
828
|
height: 30px;
|
|
829
829
|
border-radius: 50%;
|
|
830
|
-
background: var(--sa-
|
|
831
|
-
color: var(--sa-
|
|
830
|
+
background: var(--sa-color-accent-surface-strong);
|
|
831
|
+
color: var(--sa-color-accent);
|
|
832
832
|
margin: 0 auto 6px;
|
|
833
833
|
}
|
|
834
834
|
.pm-add-title {
|
|
835
|
-
font-size:
|
|
835
|
+
font-size: var(--sa-text-sm);
|
|
836
836
|
font-weight: 600;
|
|
837
|
-
color: var(--sa-
|
|
837
|
+
color: var(--sa-color-accent);
|
|
838
838
|
}
|
|
839
839
|
.pm-add-sub {
|
|
840
|
-
font-size:
|
|
841
|
-
color: var(--sa-
|
|
840
|
+
font-size: var(--sa-text-xs);
|
|
841
|
+
color: var(--sa-color-fg-subtle);
|
|
842
842
|
margin-top: 3px;
|
|
843
843
|
}
|
|
844
844
|
|
|
@@ -849,30 +849,30 @@ function formatQuota(v: number | undefined): string {
|
|
|
849
849
|
gap: 5px;
|
|
850
850
|
padding: 2px 8px;
|
|
851
851
|
border-radius: 999px;
|
|
852
|
-
font-size:
|
|
852
|
+
font-size: var(--sa-text-xs);
|
|
853
853
|
font-weight: 600;
|
|
854
|
-
background: var(--sa-bg-
|
|
855
|
-
color: var(--sa-
|
|
856
|
-
border: 1px solid var(--sa-border);
|
|
854
|
+
background: var(--sa-color-bg-sunken);
|
|
855
|
+
color: var(--sa-color-fg-secondary);
|
|
856
|
+
border: 1px solid var(--sa-color-border);
|
|
857
857
|
}
|
|
858
858
|
.pm-chip--tiny {
|
|
859
859
|
padding: 1px 6px;
|
|
860
|
-
font-size:
|
|
860
|
+
font-size: var(--sa-text-2xs);
|
|
861
861
|
}
|
|
862
862
|
.pm-chip--live {
|
|
863
|
-
background: var(--sa-positive-
|
|
864
|
-
color:
|
|
865
|
-
border-color:
|
|
863
|
+
background: var(--sa-color-positive-surface);
|
|
864
|
+
color: var(--sa-color-positive-fg);
|
|
865
|
+
border-color: var(--sa-color-positive-border);
|
|
866
866
|
}
|
|
867
867
|
.pm-chip--draft {
|
|
868
|
-
background: var(--sa-warning-
|
|
869
|
-
color:
|
|
870
|
-
border-color:
|
|
868
|
+
background: var(--sa-color-warning-surface);
|
|
869
|
+
color: var(--sa-color-warning-fg);
|
|
870
|
+
border-color: var(--sa-color-warning-border);
|
|
871
871
|
}
|
|
872
872
|
.pm-chip--supersed {
|
|
873
|
-
background: var(--sa-border-soft);
|
|
874
|
-
color: var(--sa-
|
|
875
|
-
border-color:
|
|
873
|
+
background: var(--sa-color-border-soft);
|
|
874
|
+
color: var(--sa-color-fg-secondary);
|
|
875
|
+
border-color: var(--sa-color-border-strong);
|
|
876
876
|
}
|
|
877
877
|
.pm-chip--dot::before {
|
|
878
878
|
content: '';
|
|
@@ -884,20 +884,20 @@ function formatQuota(v: number | undefined): string {
|
|
|
884
884
|
|
|
885
885
|
/* Group rows */
|
|
886
886
|
.pm-group td {
|
|
887
|
-
background: var(--sa-bg-
|
|
888
|
-
border-top: 1px solid var(--sa-border);
|
|
889
|
-
border-bottom: 1px solid var(--sa-border);
|
|
887
|
+
background: var(--sa-color-bg-sunken);
|
|
888
|
+
border-top: 1px solid var(--sa-color-border);
|
|
889
|
+
border-bottom: 1px solid var(--sa-color-border);
|
|
890
890
|
}
|
|
891
891
|
.pm-group-inner {
|
|
892
892
|
display: flex;
|
|
893
893
|
align-items: center;
|
|
894
894
|
gap: 8px;
|
|
895
895
|
padding: 9px 16px;
|
|
896
|
-
font-size:
|
|
896
|
+
font-size: var(--sa-text-xs);
|
|
897
897
|
font-weight: 700;
|
|
898
898
|
letter-spacing: 0.08em;
|
|
899
899
|
text-transform: uppercase;
|
|
900
|
-
color: var(--sa-
|
|
900
|
+
color: var(--sa-color-fg-secondary);
|
|
901
901
|
}
|
|
902
902
|
.pm-group-dot {
|
|
903
903
|
width: 7px;
|
|
@@ -905,29 +905,29 @@ function formatQuota(v: number | undefined): string {
|
|
|
905
905
|
border-radius: 50%;
|
|
906
906
|
}
|
|
907
907
|
.pm-group-dot--quota {
|
|
908
|
-
background:
|
|
908
|
+
background: var(--sa-color-quota);
|
|
909
909
|
}
|
|
910
910
|
.pm-group-dot--feature {
|
|
911
|
-
background:
|
|
911
|
+
background: var(--sa-color-feature);
|
|
912
912
|
}
|
|
913
913
|
.pm-group-dot--bundle {
|
|
914
|
-
background:
|
|
914
|
+
background: var(--sa-color-bundle);
|
|
915
915
|
}
|
|
916
916
|
.pm-group-count {
|
|
917
|
-
background: var(--sa-border);
|
|
918
|
-
color: var(--sa-
|
|
917
|
+
background: var(--sa-color-border);
|
|
918
|
+
color: var(--sa-color-fg-secondary);
|
|
919
919
|
padding: 1px 7px;
|
|
920
920
|
border-radius: 999px;
|
|
921
|
-
font-size:
|
|
921
|
+
font-size: var(--sa-text-2xs);
|
|
922
922
|
}
|
|
923
923
|
|
|
924
924
|
/* Data rows */
|
|
925
925
|
.pm-row td {
|
|
926
|
-
border-bottom: 1px solid var(--sa-border-soft);
|
|
926
|
+
border-bottom: 1px solid var(--sa-color-border-soft);
|
|
927
927
|
height: 44px;
|
|
928
928
|
}
|
|
929
929
|
.pm-row:hover td {
|
|
930
|
-
background:
|
|
930
|
+
background: var(--sa-color-bg-surface-raised);
|
|
931
931
|
}
|
|
932
932
|
.pm-rowhead {
|
|
933
933
|
padding: 8px 16px;
|
|
@@ -938,13 +938,13 @@ function formatQuota(v: number | undefined): string {
|
|
|
938
938
|
gap: 1px;
|
|
939
939
|
}
|
|
940
940
|
.pm-rh-label {
|
|
941
|
-
font-size:
|
|
941
|
+
font-size: var(--sa-text-md);
|
|
942
942
|
font-weight: 500;
|
|
943
|
-
color: var(--sa-heading);
|
|
943
|
+
color: var(--sa-color-fg-heading);
|
|
944
944
|
}
|
|
945
945
|
.pm-rh-key {
|
|
946
|
-
font: 500
|
|
947
|
-
color: var(--sa-
|
|
946
|
+
font: 500 var(--sa-text-2xs) var(--sa-font-mono);
|
|
947
|
+
color: var(--sa-color-fg-subtle);
|
|
948
948
|
}
|
|
949
949
|
.pm-cell {
|
|
950
950
|
text-align: center;
|
|
@@ -957,12 +957,12 @@ function formatQuota(v: number | undefined): string {
|
|
|
957
957
|
background-image: repeating-linear-gradient(
|
|
958
958
|
135deg,
|
|
959
959
|
transparent 0 6px,
|
|
960
|
-
|
|
960
|
+
var(--sa-color-warning-surface) 6px 7px
|
|
961
961
|
);
|
|
962
962
|
}
|
|
963
963
|
.pm-cell--base {
|
|
964
964
|
text-align: center;
|
|
965
|
-
background: var(--sa-bg-
|
|
965
|
+
background: var(--sa-color-bg-sunken);
|
|
966
966
|
}
|
|
967
967
|
.pm-base-badge {
|
|
968
968
|
display: inline-flex;
|
|
@@ -970,12 +970,12 @@ function formatQuota(v: number | undefined): string {
|
|
|
970
970
|
gap: 6px;
|
|
971
971
|
padding: 3px 12px;
|
|
972
972
|
border-radius: 999px;
|
|
973
|
-
font-size:
|
|
973
|
+
font-size: var(--sa-text-xs);
|
|
974
974
|
font-weight: 600;
|
|
975
975
|
letter-spacing: 0.02em;
|
|
976
|
-
background:
|
|
977
|
-
color:
|
|
978
|
-
border: 1px solid
|
|
976
|
+
background: var(--sa-color-scheduled-surface);
|
|
977
|
+
color: var(--sa-color-scheduled-fg);
|
|
978
|
+
border: 1px solid var(--sa-color-scheduled-border);
|
|
979
979
|
}
|
|
980
980
|
.pm-check {
|
|
981
981
|
display: inline-grid;
|
|
@@ -985,16 +985,16 @@ function formatQuota(v: number | undefined): string {
|
|
|
985
985
|
border-radius: 6px;
|
|
986
986
|
}
|
|
987
987
|
.pm-dash {
|
|
988
|
-
color:
|
|
988
|
+
color: var(--sa-color-fg-disabled);
|
|
989
989
|
font-weight: 500;
|
|
990
990
|
}
|
|
991
991
|
.pm-num {
|
|
992
|
-
font: 600
|
|
993
|
-
color: var(--sa-heading);
|
|
992
|
+
font: 600 var(--sa-text-lg) var(--sa-font-body);
|
|
993
|
+
color: var(--sa-color-fg-heading);
|
|
994
994
|
}
|
|
995
995
|
.pm-unit {
|
|
996
|
-
font-size:
|
|
997
|
-
color: var(--sa-
|
|
996
|
+
font-size: var(--sa-text-xs);
|
|
997
|
+
color: var(--sa-color-fg-subtle);
|
|
998
998
|
margin-left: 3px;
|
|
999
999
|
}
|
|
1000
1000
|
.pm-quota {
|
|
@@ -1008,8 +1008,8 @@ function formatQuota(v: number | undefined): string {
|
|
|
1008
1008
|
display: flex;
|
|
1009
1009
|
gap: 18px;
|
|
1010
1010
|
margin-top: 14px;
|
|
1011
|
-
font-size:
|
|
1012
|
-
color: var(--sa-
|
|
1011
|
+
font-size: var(--sa-text-sm);
|
|
1012
|
+
color: var(--sa-color-fg-secondary);
|
|
1013
1013
|
align-items: center;
|
|
1014
1014
|
}
|
|
1015
1015
|
.pm-legend-item {
|
|
@@ -1021,23 +1021,23 @@ function formatQuota(v: number | undefined): string {
|
|
|
1021
1021
|
width: 14px;
|
|
1022
1022
|
height: 14px;
|
|
1023
1023
|
border-radius: 4px;
|
|
1024
|
-
background:
|
|
1025
|
-
color:
|
|
1024
|
+
background: var(--sa-color-positive-surface-strong);
|
|
1025
|
+
color: var(--sa-color-positive);
|
|
1026
1026
|
display: grid;
|
|
1027
1027
|
place-items: center;
|
|
1028
1028
|
}
|
|
1029
1029
|
.pm-legend-dash {
|
|
1030
1030
|
width: 14px;
|
|
1031
1031
|
height: 14px;
|
|
1032
|
-
color:
|
|
1032
|
+
color: var(--sa-color-fg-disabled);
|
|
1033
1033
|
display: grid;
|
|
1034
1034
|
place-items: center;
|
|
1035
|
-
font-size:
|
|
1035
|
+
font-size: var(--sa-text-lg);
|
|
1036
1036
|
line-height: 1;
|
|
1037
1037
|
}
|
|
1038
1038
|
.pm-legend-loading {
|
|
1039
1039
|
margin-left: auto;
|
|
1040
1040
|
font-style: italic;
|
|
1041
|
-
color: var(--sa-
|
|
1041
|
+
color: var(--sa-color-fg-subtle);
|
|
1042
1042
|
}
|
|
1043
1043
|
</style>
|
|
@@ -461,12 +461,12 @@ function onPublish(): void {
|
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
.pr-banner {
|
|
464
|
-
background: var(--sa-warning-
|
|
465
|
-
border: 1px solid var(--sa-
|
|
466
|
-
color: var(--sa-warning);
|
|
464
|
+
background: var(--sa-color-warning-surface);
|
|
465
|
+
border: 1px solid var(--sa-color-warning-border);
|
|
466
|
+
color: var(--sa-color-warning);
|
|
467
467
|
border-radius: 8px;
|
|
468
468
|
padding: 10px 14px;
|
|
469
|
-
font-size:
|
|
469
|
+
font-size: var(--sa-text-md);
|
|
470
470
|
margin-bottom: 14px;
|
|
471
471
|
}
|
|
472
472
|
|
|
@@ -482,31 +482,35 @@ function onPublish(): void {
|
|
|
482
482
|
gap: 14px;
|
|
483
483
|
}
|
|
484
484
|
.pr-card {
|
|
485
|
-
background: var(--sa-bg-surface);
|
|
486
|
-
border: 1px solid var(--sa-border);
|
|
485
|
+
background: var(--sa-color-bg-surface);
|
|
486
|
+
border: 1px solid var(--sa-color-border);
|
|
487
487
|
border-radius: 10px;
|
|
488
488
|
padding: 16px 20px;
|
|
489
489
|
}
|
|
490
490
|
.pr-card--regress {
|
|
491
|
-
background: var(--sa-warning-
|
|
492
|
-
border-color: var(--sa-
|
|
491
|
+
background: var(--sa-color-warning-surface);
|
|
492
|
+
border-color: var(--sa-color-warning-border);
|
|
493
493
|
}
|
|
494
494
|
.pr-card--impact {
|
|
495
|
-
background: linear-gradient(
|
|
496
|
-
|
|
495
|
+
background: linear-gradient(
|
|
496
|
+
180deg,
|
|
497
|
+
var(--sa-color-accent-surface) 0%,
|
|
498
|
+
var(--sa-color-bg-surface) 100%
|
|
499
|
+
);
|
|
500
|
+
border-color: var(--sa-color-accent-border);
|
|
497
501
|
}
|
|
498
502
|
.pr-card-title {
|
|
499
|
-
font: 700
|
|
503
|
+
font: 700 var(--sa-text-lg) var(--sa-font-head);
|
|
500
504
|
letter-spacing: -0.01em;
|
|
501
|
-
color: var(--sa-heading);
|
|
505
|
+
color: var(--sa-color-fg-heading);
|
|
502
506
|
margin: 0 0 12px;
|
|
503
507
|
}
|
|
504
508
|
.pr-req {
|
|
505
|
-
color: var(--sa-negative);
|
|
509
|
+
color: var(--sa-color-negative);
|
|
506
510
|
}
|
|
507
511
|
.pr-card-hint {
|
|
508
|
-
font-size:
|
|
509
|
-
color: var(--sa-muted);
|
|
512
|
+
font-size: var(--sa-text-sm);
|
|
513
|
+
color: var(--sa-color-fg-muted);
|
|
510
514
|
margin: -6px 0 10px;
|
|
511
515
|
line-height: 1.5;
|
|
512
516
|
}
|
|
@@ -516,27 +520,27 @@ function onPublish(): void {
|
|
|
516
520
|
align-items: baseline;
|
|
517
521
|
gap: 12px;
|
|
518
522
|
padding: 8px 0;
|
|
519
|
-
border-bottom: 1px solid var(--sa-border-soft);
|
|
523
|
+
border-bottom: 1px solid var(--sa-color-border-soft);
|
|
520
524
|
}
|
|
521
525
|
.pr-row:last-child {
|
|
522
526
|
border-bottom: 0;
|
|
523
527
|
}
|
|
524
528
|
.pr-label {
|
|
525
|
-
font-size:
|
|
526
|
-
color: var(--sa-muted);
|
|
529
|
+
font-size: var(--sa-text-sm);
|
|
530
|
+
color: var(--sa-color-fg-muted);
|
|
527
531
|
min-width: 130px;
|
|
528
532
|
}
|
|
529
533
|
.pr-val {
|
|
530
|
-
font-size:
|
|
531
|
-
color: var(--sa-heading);
|
|
534
|
+
font-size: var(--sa-text-md);
|
|
535
|
+
color: var(--sa-color-fg-heading);
|
|
532
536
|
font-weight: 500;
|
|
533
537
|
}
|
|
534
538
|
.pr-missing {
|
|
535
|
-
color: var(--sa-muted);
|
|
539
|
+
color: var(--sa-color-fg-muted);
|
|
536
540
|
font-weight: 400;
|
|
537
541
|
}
|
|
538
542
|
.pr-inf {
|
|
539
|
-
color: var(--sa-positive);
|
|
543
|
+
color: var(--sa-color-positive);
|
|
540
544
|
font-weight: 600;
|
|
541
545
|
}
|
|
542
546
|
|
|
@@ -545,19 +549,19 @@ function onPublish(): void {
|
|
|
545
549
|
align-items: center;
|
|
546
550
|
padding: 2px 9px;
|
|
547
551
|
border-radius: 999px;
|
|
548
|
-
font-size:
|
|
552
|
+
font-size: var(--sa-text-xs);
|
|
549
553
|
font-weight: 600;
|
|
550
554
|
border: 1px solid;
|
|
551
555
|
}
|
|
552
556
|
.pr-chip--live {
|
|
553
|
-
background: var(--sa-positive-
|
|
554
|
-
color: var(--sa-positive);
|
|
555
|
-
border-color:
|
|
557
|
+
background: var(--sa-color-positive-surface);
|
|
558
|
+
color: var(--sa-color-positive);
|
|
559
|
+
border-color: var(--sa-color-positive-border);
|
|
556
560
|
}
|
|
557
561
|
.pr-chip--muted {
|
|
558
|
-
background: var(--sa-border-soft);
|
|
559
|
-
color: var(--sa-muted);
|
|
560
|
-
border-color: var(--sa-border);
|
|
562
|
+
background: var(--sa-color-border-soft);
|
|
563
|
+
color: var(--sa-color-fg-muted);
|
|
564
|
+
border-color: var(--sa-color-border);
|
|
561
565
|
}
|
|
562
566
|
|
|
563
567
|
.pr-components {
|
|
@@ -566,51 +570,51 @@ function onPublish(): void {
|
|
|
566
570
|
gap: 14px;
|
|
567
571
|
}
|
|
568
572
|
.pr-comp-head {
|
|
569
|
-
font-size:
|
|
573
|
+
font-size: var(--sa-text-xs);
|
|
570
574
|
text-transform: uppercase;
|
|
571
575
|
letter-spacing: 0.08em;
|
|
572
576
|
font-weight: 700;
|
|
573
577
|
margin-bottom: 6px;
|
|
574
578
|
}
|
|
575
579
|
.pr-comp-head--quota {
|
|
576
|
-
color:
|
|
580
|
+
color: var(--sa-color-quota);
|
|
577
581
|
}
|
|
578
582
|
.pr-comp-head--feature {
|
|
579
|
-
color:
|
|
583
|
+
color: var(--sa-color-feature);
|
|
580
584
|
}
|
|
581
585
|
.pr-comp-head--bundle {
|
|
582
|
-
color: var(--sa-
|
|
586
|
+
color: var(--sa-color-warning-strong);
|
|
583
587
|
}
|
|
584
588
|
.pr-comp-item {
|
|
585
589
|
display: flex;
|
|
586
590
|
justify-content: space-between;
|
|
587
591
|
gap: 6px;
|
|
588
|
-
font-size:
|
|
592
|
+
font-size: var(--sa-text-sm);
|
|
589
593
|
padding: 3px 0;
|
|
590
|
-
border-bottom: 1px solid var(--sa-border-soft);
|
|
591
|
-
color: var(--sa-body);
|
|
594
|
+
border-bottom: 1px solid var(--sa-color-border-soft);
|
|
595
|
+
color: var(--sa-color-fg-body);
|
|
592
596
|
}
|
|
593
597
|
.pr-comp-item b {
|
|
594
|
-
color: var(--sa-heading);
|
|
598
|
+
color: var(--sa-color-fg-heading);
|
|
595
599
|
}
|
|
596
600
|
.pr-comp-empty {
|
|
597
|
-
font-size:
|
|
598
|
-
color: var(--sa-muted);
|
|
601
|
+
font-size: var(--sa-text-sm);
|
|
602
|
+
color: var(--sa-color-fg-muted);
|
|
599
603
|
font-style: italic;
|
|
600
604
|
padding: 3px 0;
|
|
601
605
|
}
|
|
602
606
|
|
|
603
607
|
.pr-note {
|
|
604
|
-
font-size:
|
|
608
|
+
font-size: var(--sa-text-md);
|
|
605
609
|
line-height: 1.55;
|
|
606
|
-
color: var(--sa-body);
|
|
607
|
-
background: var(--sa-border-soft);
|
|
610
|
+
color: var(--sa-color-fg-body);
|
|
611
|
+
background: var(--sa-color-border-soft);
|
|
608
612
|
border-radius: 7px;
|
|
609
613
|
padding: 10px 12px;
|
|
610
614
|
}
|
|
611
615
|
.pr-note--missing {
|
|
612
|
-
background: var(--sa-warning-
|
|
613
|
-
color: var(--sa-warning);
|
|
616
|
+
background: var(--sa-color-warning-surface);
|
|
617
|
+
color: var(--sa-color-warning);
|
|
614
618
|
}
|
|
615
619
|
|
|
616
620
|
.pr-checks {
|
|
@@ -622,13 +626,13 @@ function onPublish(): void {
|
|
|
622
626
|
display: flex;
|
|
623
627
|
align-items: center;
|
|
624
628
|
gap: 9px;
|
|
625
|
-
font-size:
|
|
629
|
+
font-size: var(--sa-text-md);
|
|
626
630
|
}
|
|
627
631
|
.pr-check--ok {
|
|
628
|
-
color: var(--sa-heading);
|
|
632
|
+
color: var(--sa-color-fg-heading);
|
|
629
633
|
}
|
|
630
634
|
.pr-check--warn {
|
|
631
|
-
color: var(--sa-warning);
|
|
635
|
+
color: var(--sa-color-warning);
|
|
632
636
|
}
|
|
633
637
|
.pr-check-mark {
|
|
634
638
|
width: 18px;
|
|
@@ -639,20 +643,20 @@ function onPublish(): void {
|
|
|
639
643
|
flex: 0 0 auto;
|
|
640
644
|
}
|
|
641
645
|
.pr-check--ok .pr-check-mark {
|
|
642
|
-
background: var(--sa-positive-
|
|
643
|
-
color: var(--sa-positive);
|
|
646
|
+
background: var(--sa-color-positive-surface);
|
|
647
|
+
color: var(--sa-color-positive);
|
|
644
648
|
}
|
|
645
649
|
.pr-check--warn .pr-check-mark {
|
|
646
|
-
background: var(--sa-warning-
|
|
647
|
-
color: var(--sa-warning);
|
|
650
|
+
background: var(--sa-color-warning-surface);
|
|
651
|
+
color: var(--sa-color-warning);
|
|
648
652
|
}
|
|
649
653
|
|
|
650
654
|
.pr-toggle {
|
|
651
655
|
display: flex;
|
|
652
656
|
align-items: center;
|
|
653
657
|
gap: 8px;
|
|
654
|
-
font-size:
|
|
655
|
-
color: var(--sa-heading);
|
|
658
|
+
font-size: var(--sa-text-md);
|
|
659
|
+
color: var(--sa-color-fg-heading);
|
|
656
660
|
cursor: pointer;
|
|
657
661
|
}
|
|
658
662
|
|
|
@@ -664,11 +668,11 @@ function onPublish(): void {
|
|
|
664
668
|
.pr-impact-num {
|
|
665
669
|
font: 700 40px/1 var(--sa-font-head);
|
|
666
670
|
letter-spacing: -0.03em;
|
|
667
|
-
color: var(--sa-heading);
|
|
671
|
+
color: var(--sa-color-fg-heading);
|
|
668
672
|
}
|
|
669
673
|
.pr-impact-text {
|
|
670
|
-
font-size:
|
|
671
|
-
color: var(--sa-body);
|
|
674
|
+
font-size: var(--sa-text-md);
|
|
675
|
+
color: var(--sa-color-fg-body);
|
|
672
676
|
line-height: 1.5;
|
|
673
677
|
}
|
|
674
678
|
|