@saasicat/ui-vue 0.22.2 → 0.24.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/{chunk-XMMFN2WJ.js → chunk-VYMTWCTT.js} +51 -1
- package/dist/client/index.cjs +57 -0
- package/dist/client/index.d.cts +58 -1
- package/dist/client/index.d.ts +58 -1
- package/dist/client/index.js +15 -1
- package/dist/index.cjs +321 -159
- package/dist/index.d.cts +67 -4
- package/dist/index.d.ts +67 -4
- package/dist/index.js +72 -2
- 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/client/identity-accents.ts +129 -0
- package/src/client/index.ts +1 -0
- package/src/components/BundleVersionPublishDialog.vue +17 -17
- package/src/components/KvBlock.vue +6 -6
- package/src/components/MarketingPromotionsTab.vue +84 -80
- 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 +49 -49
- 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 +64 -63
- 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 +50 -50
- package/src/components/plan-detail/PlanDetail.vue +178 -157
- package/src/components/plan-detail/PlanTitleEdit.vue +11 -11
- package/src/components/plan-list/PlanList.vue +116 -100
- package/src/components/plan-matrix/PlanMatrix.vue +97 -114
- package/src/components/plan-review/PlanReview.vue +61 -57
- package/src/components/plan-version-editor/PlanVersionEditor.vue +246 -203
- 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 +37 -37
- package/src/pages-standard/DashboardPage.vue +22 -19
- package/src/pages-standard/DiscoveryPage.vue +55 -49
- package/src/pages-standard/EmailHistoryPage.vue +53 -71
- package/src/pages-standard/MarketingCatalogPage.vue +245 -221
- 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 +10 -7
- 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 +16 -50
- 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/discovery-page/discovery-ui.ts +10 -7
- package/src/pages-standard/marketing-catalog/MarketingCatalogAdmin.vue +2 -5
- package/src/pages-standard/plan-versions/PlanDiffCard.vue +27 -20
- package/src/pages-standard/plan-versions/PlanVersionsDiff.vue +24 -16
- 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-standard/tenants/format.ts +11 -12
- package/src/pages-tenant/LimitsRow.vue +4 -4
- package/src/pages-tenant/MySubscriptionBundlesPage.vue +70 -61
- package/src/pages-tenant/OnboardingConfigurator.vue +25 -25
- package/src/pages-tenant/PackageSnapshotPanel.vue +10 -16
- package/src/pages-tenant/PendingVersionBanner.vue +12 -12
- package/src/pages-tenant/PlanChangeWizard.vue +22 -76
- package/src/pages-tenant/TenantPlanSection.vue +19 -69
- package/src/pages-tenant/UsageBar.vue +7 -7
- package/src/pages-tenant/default-i18n.ts +113 -0
- 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 +34 -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 +74 -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 +112 -0
- package/src/ui/theme/tokens.scale.css +103 -0
- package/src/ui/theme/tokens.semantic.dark.css +185 -0
- package/src/ui/theme/tokens.semantic.light.css +242 -0
- package/src/vue/use-sa-theme.ts +154 -0
|
@@ -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,15 +668,15 @@ 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
|
|
|
675
|
-
@media (max-width:
|
|
679
|
+
@media (max-width: 1023.98px) {
|
|
676
680
|
.pr-grid {
|
|
677
681
|
grid-template-columns: 1fr;
|
|
678
682
|
}
|