@saasicat/ui-vue 0.3.0 → 0.5.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 +47 -4
- package/dist/action-registry-CQ2wL3R-.d.cts +85 -0
- package/dist/action-registry-CQ2wL3R-.d.ts +85 -0
- package/dist/chunk-3YP2ZAOD.js +63 -0
- package/dist/chunk-EH7TOD4H.js +718 -0
- package/dist/chunk-LVGUSD3T.js +26 -0
- package/dist/client/index.cjs +785 -0
- package/dist/client/index.d.cts +295 -0
- package/dist/client/index.d.ts +295 -0
- package/dist/client/index.js +52 -0
- package/dist/index.cjs +787 -834
- package/dist/index.d.cts +267 -841
- package/dist/index.d.ts +267 -841
- package/dist/index.js +284 -1059
- package/dist/quasar/index.cjs +159 -0
- package/dist/quasar/index.d.cts +86 -0
- package/dist/quasar/index.d.ts +86 -0
- package/dist/quasar/index.js +91 -0
- package/dist/ui-notify-COUzXEQ4.d.ts +178 -0
- package/dist/ui-notify-D_eAAwRh.d.cts +178 -0
- package/package.json +23 -3
- package/src/client/index.ts +25 -0
- package/src/components/FeatureGate.vue +1 -1
- package/src/components/plan/PlanCycleToggle.vue +1 -1
- package/src/components/plan/PlanGrid.vue +2 -2
- package/src/components/plan/PriceSummary.vue +1 -1
- package/src/components/plan/PromoCodeInput.vue +1 -1
- package/src/components/plan/PublicBundleGrid.vue +1 -1
- package/src/index.ts +82 -79
- package/src/pages-standard/AdminLayout.vue +2 -2
- package/src/pages-standard/DashboardPage.vue +2 -2
- package/src/pages-standard/EmailHistoryPage.vue +9 -13
- package/src/pages-standard/MarketingCatalogPage.vue +5 -5
- package/src/pages-standard/PilotsPage.vue +9 -13
- package/src/pages-standard/PlanVersionsPage.vue +2 -2
- package/src/pages-standard/PlansPage.vue +2 -2
- package/src/pages-standard/PlatformEmailPage.vue +7 -5
- package/src/pages-standard/PromoCodesPage.vue +8 -22
- package/src/pages-standard/SuperAdminLoginPage.vue +3 -3
- package/src/pages-standard/SuperAdminSetupWizard.vue +2 -2
- package/src/pages-standard/TenantDetailPage.vue +4 -4
- package/src/pages-standard/TenantsPage.vue +3 -3
- package/src/pages-standard/UsersPage.vue +6 -12
- package/src/pages-standard/plan-versions/PlanVersionHeader.vue +1 -1
- package/src/pages-standard/plan-versions/PlanVersionsAudit.vue +1 -1
- package/src/pages-standard/plan-versions/PlanVersionsDiff.vue +1 -1
- package/src/pages-standard/plan-versions/PlanVersionsList.vue +1 -1
- package/src/pages-standard/plan-versions/PlanVersionsMatrix.vue +1 -1
- package/src/pages-standard/plan-versions/PlanVersionsTimeline.vue +1 -1
- package/src/pages-tenant/MySubscriptionBundlesPage.vue +1 -1
- package/src/pages-tenant/OnboardingConfigurator.vue +3 -3
- package/src/pages-tenant/PackageSnapshotPanel.vue +1 -1
- package/src/pages-tenant/PlanChangeWizard.vue +2 -2
- package/src/pages-tenant/TenantPlanSection.vue +3 -3
- package/src/pages-tenant/tenant-plan-section/BundlePreviewDialog.vue +1 -1
- package/src/pages-tenant/tenant-plan-section/TenantBundleStore.vue +2 -2
- package/src/pages-tenant/tenant-plan-section/TenantPlanCardHeader.vue +1 -1
- package/src/pages-tenant/tenant-plan-section/TenantUsageGrid.vue +1 -1
- package/src/quasar/create-super-admin-app.ts +173 -0
- package/src/quasar/index.ts +11 -0
- package/src/quasar/notify.ts +30 -0
- package/src/{manifest-store-factory.ts → vue/manifest-store-factory.ts} +1 -1
- package/src/{platform-loaders.ts → vue/platform-loaders.ts} +4 -4
- package/src/{project-page-host.ts → vue/project-page-host.ts} +1 -1
- package/src/{create-super-admin-app.ts → vue/super-admin-context.ts} +20 -139
- package/src/vue/ui-notify.ts +30 -0
- package/src/{use-actions.ts → vue/use-actions.ts} +1 -1
- package/src/{use-api-list.ts → vue/use-api-list.ts} +1 -1
- package/src/{use-batch-columns.ts → vue/use-batch-columns.ts} +1 -1
- package/src/{use-bulk-publish.ts → vue/use-bulk-publish.ts} +1 -1
- package/src/{use-bundle-versions-map.ts → vue/use-bundle-versions-map.ts} +1 -1
- package/src/{use-bundles.ts → vue/use-bundles.ts} +1 -1
- package/src/{use-business-types.ts → vue/use-business-types.ts} +1 -1
- package/src/{use-catalog-entries.ts → vue/use-catalog-entries.ts} +1 -1
- package/src/{use-discovery.ts → vue/use-discovery.ts} +1 -1
- package/src/{use-entitlement.ts → vue/use-entitlement.ts} +1 -1
- package/src/{use-live-plan-versions.ts → vue/use-live-plan-versions.ts} +1 -1
- package/src/{use-manifest.ts → vue/use-manifest.ts} +1 -1
- package/src/{use-marketing-projections.ts → vue/use-marketing-projections.ts} +1 -1
- package/src/{use-nav.ts → vue/use-nav.ts} +1 -1
- package/src/{use-plans.ts → vue/use-plans.ts} +1 -1
- package/src/{use-promotions.ts → vue/use-promotions.ts} +1 -1
- package/src/{use-public-boot.ts → vue/use-public-boot.ts} +1 -1
- package/src/{use-super-admin-context.ts → vue/use-super-admin-context.ts} +2 -2
- package/src/{use-tenant-action-flow.ts → vue/use-tenant-action-flow.ts} +1 -1
- package/src/{use-tenant-billing-catalog.ts → vue/use-tenant-billing-catalog.ts} +2 -2
- package/src/{use-tenant-billing.ts → vue/use-tenant-billing.ts} +2 -2
- package/src/{use-tenant-manifest.ts → vue/use-tenant-manifest.ts} +1 -1
- package/src/{use-tenant-subscription-bundles.ts → vue/use-tenant-subscription-bundles.ts} +1 -1
- package/dist/testing-e2e/admin-pages-suite.d.cts +0 -37
- package/dist/testing-e2e/admin-pages-suite.d.ts +0 -37
- /package/src/{action-registry.ts → client/action-registry.ts} +0 -0
- /package/src/{batch-column-fetcher.ts → client/batch-column-fetcher.ts} +0 -0
- /package/src/{boot-loader.ts → client/boot-loader.ts} +0 -0
- /package/src/{http-json.ts → client/http-json.ts} +0 -0
- /package/src/{manifest-loader.ts → client/manifest-loader.ts} +0 -0
- /package/src/{nav-builder.ts → client/nav-builder.ts} +0 -0
- /package/src/{plan-versions-catalog.ts → client/plan-versions-catalog.ts} +0 -0
- /package/src/{types.ts → client/types.ts} +0 -0
- /package/src/{version.ts → client/version.ts} +0 -0
- /package/src/{create-admin-routes.ts → vue/create-admin-routes.ts} +0 -0
- /package/src/{entitlement-provider.ts → vue/entitlement-provider.ts} +0 -0
- /package/src/{feature-router-guard.ts → vue/feature-router-guard.ts} +0 -0
- /package/src/{use-audit-entries.ts → vue/use-audit-entries.ts} +0 -0
- /package/src/{use-plan-editor.ts → vue/use-plan-editor.ts} +0 -0
- /package/src/{use-plan-versions.ts → vue/use-plan-versions.ts} +0 -0
- /package/src/{use-platform-tenant-actions.ts → vue/use-platform-tenant-actions.ts} +0 -0
- /package/src/{use-subscription-draft.ts → vue/use-subscription-draft.ts} +0 -0
- /package/src/{use-tenants.ts → vue/use-tenants.ts} +0 -0
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
type SuperAdminBrand,
|
|
18
18
|
type SuperAdminEndpoints,
|
|
19
19
|
type SuperAdminLoginAdapter,
|
|
20
|
-
} from './
|
|
21
|
-
import { defaultHttpClient, type HttpClient } from '
|
|
20
|
+
} from './super-admin-context.js';
|
|
21
|
+
import { defaultHttpClient, type HttpClient } from '../client/types.js';
|
|
22
22
|
|
|
23
23
|
/** Returns the `extensions:` map registered in `createSuperAdminApp()`. */
|
|
24
24
|
export function useSuperAdminExtensions(): ExtensionsMap {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
import { computed, type ComputedRef, type Ref } from 'vue';
|
|
15
15
|
import type { AdminManifest, TenantActionDef, TenantDto } from '@saasicat/types';
|
|
16
|
-
import { ActionRegistry } from '
|
|
16
|
+
import { ActionRegistry } from '../client/action-registry.js';
|
|
17
17
|
import { useSuperAdminActions } from './use-super-admin-context.js';
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import { ref, type Ref } from 'vue';
|
|
10
10
|
import type { FeatureUiRegistry } from '@saasicat/types';
|
|
11
|
-
import { defaultHttpClient, type HttpClient } from '
|
|
12
|
-
import { trimTrailingSlashes } from '
|
|
11
|
+
import { defaultHttpClient, type HttpClient } from '../client/types.js';
|
|
12
|
+
import { trimTrailingSlashes } from '../client/http-json.js';
|
|
13
13
|
|
|
14
14
|
export interface CatalogPlan {
|
|
15
15
|
id: string;
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
// has `/api` as its baseURL — the result would be `/api/api/billing/...` (404).
|
|
12
12
|
|
|
13
13
|
import { ref, type Ref } from 'vue';
|
|
14
|
-
import { defaultHttpClient, type HttpClient } from '
|
|
15
|
-
import { trimTrailingSlashes } from '
|
|
14
|
+
import { defaultHttpClient, type HttpClient } from '../client/types.js';
|
|
15
|
+
import { trimTrailingSlashes } from '../client/http-json.js';
|
|
16
16
|
|
|
17
17
|
export type BillingCycleStr = 'MONTHLY' | 'YEARLY';
|
|
18
18
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// Spec: handoff/superadmin/QUICKSTART_SIMPLIFICATIONS.md §P14.
|
|
9
9
|
|
|
10
10
|
import { ref, type Ref } from 'vue';
|
|
11
|
-
import { defaultHttpClient, type HttpClient } from '
|
|
11
|
+
import { defaultHttpClient, type HttpClient } from '../client/types.js';
|
|
12
12
|
|
|
13
13
|
export interface TenantManifestNavItem {
|
|
14
14
|
id: string;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import { ref, type Ref } from 'vue';
|
|
7
7
|
import type { SubscriptionBundleRecord } from '@saasicat/types';
|
|
8
|
-
import { defaultHttpClient, type HttpClient } from '
|
|
8
|
+
import { defaultHttpClient, type HttpClient } from '../client/types.js';
|
|
9
9
|
|
|
10
10
|
export interface UseTenantSubscriptionBundlesOptions {
|
|
11
11
|
/** App-global API prefix incl. `/billing` (e.g. `/api/v1`). */
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { test, expect } from '@playwright/test';
|
|
2
|
-
|
|
3
|
-
interface AdminPagesSuiteConfig {
|
|
4
|
-
/** Display name, e.g. 'demoapp' / 'clubapp'. */
|
|
5
|
-
appName: string;
|
|
6
|
-
/** URL of the login page (full). */
|
|
7
|
-
loginUrl: string;
|
|
8
|
-
/** Test account. */
|
|
9
|
-
email: string;
|
|
10
|
-
password: string;
|
|
11
|
-
/** Paths the smoke test should click through. */
|
|
12
|
-
pages: ReadonlyArray<{
|
|
13
|
-
/** Display name in the test description. */
|
|
14
|
-
name: string;
|
|
15
|
-
/** Path relative to the origin (e.g. '/admin/tenants'). */
|
|
16
|
-
path: string;
|
|
17
|
-
/** Optional: if set, check that this selector exists. */
|
|
18
|
-
expectVisible?: string;
|
|
19
|
-
/** Optional: HTTP patterns that are OK as 4xx/5xx (e.g. missing backend endpoints). */
|
|
20
|
-
allowedFailures?: readonly RegExp[];
|
|
21
|
-
}>;
|
|
22
|
-
/** Expected KPI card labels on the dashboard page. */
|
|
23
|
-
expectedKpiLabels: readonly string[];
|
|
24
|
-
/** Expected distribution section titles. */
|
|
25
|
-
expectedDistributionTitles?: readonly string[];
|
|
26
|
-
/** Expected shortcut titles on the dashboard. */
|
|
27
|
-
expectedShortcutTitles: readonly string[];
|
|
28
|
-
/** Shortcuts that must NOT appear (e.g. "Dashboard"). */
|
|
29
|
-
forbiddenShortcutTitles?: readonly string[];
|
|
30
|
-
/** Console error patterns that should be ignored. */
|
|
31
|
-
consoleErrorAllowlist?: readonly RegExp[];
|
|
32
|
-
/** Path to the dashboard page (default `/admin/`). */
|
|
33
|
-
dashboardPath?: string;
|
|
34
|
-
}
|
|
35
|
-
declare function runAdminPagesSuite(test: typeof test, expect: typeof expect, config: AdminPagesSuiteConfig): void;
|
|
36
|
-
|
|
37
|
-
export { type AdminPagesSuiteConfig, runAdminPagesSuite };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { test, expect } from '@playwright/test';
|
|
2
|
-
|
|
3
|
-
interface AdminPagesSuiteConfig {
|
|
4
|
-
/** Display name, e.g. 'demoapp' / 'clubapp'. */
|
|
5
|
-
appName: string;
|
|
6
|
-
/** URL of the login page (full). */
|
|
7
|
-
loginUrl: string;
|
|
8
|
-
/** Test account. */
|
|
9
|
-
email: string;
|
|
10
|
-
password: string;
|
|
11
|
-
/** Paths the smoke test should click through. */
|
|
12
|
-
pages: ReadonlyArray<{
|
|
13
|
-
/** Display name in the test description. */
|
|
14
|
-
name: string;
|
|
15
|
-
/** Path relative to the origin (e.g. '/admin/tenants'). */
|
|
16
|
-
path: string;
|
|
17
|
-
/** Optional: if set, check that this selector exists. */
|
|
18
|
-
expectVisible?: string;
|
|
19
|
-
/** Optional: HTTP patterns that are OK as 4xx/5xx (e.g. missing backend endpoints). */
|
|
20
|
-
allowedFailures?: readonly RegExp[];
|
|
21
|
-
}>;
|
|
22
|
-
/** Expected KPI card labels on the dashboard page. */
|
|
23
|
-
expectedKpiLabels: readonly string[];
|
|
24
|
-
/** Expected distribution section titles. */
|
|
25
|
-
expectedDistributionTitles?: readonly string[];
|
|
26
|
-
/** Expected shortcut titles on the dashboard. */
|
|
27
|
-
expectedShortcutTitles: readonly string[];
|
|
28
|
-
/** Shortcuts that must NOT appear (e.g. "Dashboard"). */
|
|
29
|
-
forbiddenShortcutTitles?: readonly string[];
|
|
30
|
-
/** Console error patterns that should be ignored. */
|
|
31
|
-
consoleErrorAllowlist?: readonly RegExp[];
|
|
32
|
-
/** Path to the dashboard page (default `/admin/`). */
|
|
33
|
-
dashboardPath?: string;
|
|
34
|
-
}
|
|
35
|
-
declare function runAdminPagesSuite(test: typeof test, expect: typeof expect, config: AdminPagesSuiteConfig): void;
|
|
36
|
-
|
|
37
|
-
export { type AdminPagesSuiteConfig, runAdminPagesSuite };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|