@lukoweb/apitogo 0.1.54 → 0.1.56

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.
Files changed (45) hide show
  1. package/dist/cli/cli.js +831 -398
  2. package/dist/declarations/config/default-landing-content.d.ts +2 -0
  3. package/dist/declarations/config/landing-manifest.d.ts +82 -0
  4. package/dist/declarations/config/local-manifest.d.ts +82 -0
  5. package/dist/declarations/config/resolve-modules.d.ts +3 -1
  6. package/dist/declarations/config/validators/ModulesSchema.d.ts +259 -0
  7. package/dist/declarations/config/validators/ZudokuConfig.d.ts +57 -0
  8. package/dist/declarations/lib/authentication/header-nav-filter.d.ts +4 -0
  9. package/dist/declarations/lib/authentication/providers/dev-portal-auth-pages.d.ts +5 -5
  10. package/dist/declarations/lib/authentication/providers/dev-portal-utils.d.ts +1 -0
  11. package/dist/declarations/lib/components/HeaderAuthActions.d.ts +3 -0
  12. package/dist/declarations/lib/components/SiteTitle.d.ts +6 -0
  13. package/dist/declarations/lib/components/ThemeSwitch.d.ts +3 -1
  14. package/dist/declarations/lib/components/TopNavigation.d.ts +1 -1
  15. package/dist/declarations/lib/core/ZudokuContext.d.ts +1 -0
  16. package/dist/flat-config.d.ts +95 -38
  17. package/package.json +1 -1
  18. package/src/app/main.css +2 -2
  19. package/src/config/apitogo-config-core.ts +13 -0
  20. package/src/config/apitogo-config-loader.browser.ts +17 -0
  21. package/src/config/build-apitogo-config.ts +13 -4
  22. package/src/config/default-landing-content.ts +154 -0
  23. package/src/config/landing-manifest.ts +11 -0
  24. package/src/config/landing-openapi-showcase.ts +115 -0
  25. package/src/config/loader.ts +17 -3
  26. package/src/config/local-manifest.ts +114 -10
  27. package/src/config/resolve-modules.ts +121 -32
  28. package/src/config/validators/ModulesSchema.ts +109 -0
  29. package/src/config/validators/ZudokuConfig.ts +1 -0
  30. package/src/lib/authentication/auth-header-nav.ts +5 -15
  31. package/src/lib/authentication/header-nav-filter.ts +36 -0
  32. package/src/lib/authentication/providers/dev-portal-auth-pages.tsx +95 -35
  33. package/src/lib/authentication/providers/dev-portal-utils.ts +26 -7
  34. package/src/lib/authentication/providers/dev-portal.tsx +18 -8
  35. package/src/lib/components/Header.tsx +49 -39
  36. package/src/lib/components/HeaderAuthActions.tsx +36 -0
  37. package/src/lib/components/HeaderNavigation.tsx +11 -9
  38. package/src/lib/components/MobileTopNavigation.tsx +43 -24
  39. package/src/lib/components/SiteTitle.tsx +20 -0
  40. package/src/lib/components/ThemeSwitch.tsx +36 -2
  41. package/src/lib/components/TopNavigation.tsx +20 -33
  42. package/src/lib/core/ZudokuContext.ts +1 -0
  43. package/src/vite/config.ts +21 -0
  44. package/src/vite/plugin-auth.ts +4 -1
  45. package/src/vite/plugin-config.ts +39 -4
@@ -0,0 +1,2 @@
1
+ import type { ResolvedLandingContent } from "./validators/ModulesSchema.js";
2
+ export declare const DEFAULT_LANDING_CONTENT: ResolvedLandingContent;
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ import { LandingContentSchema } from "./validators/ModulesSchema.js";
3
+ export declare const LandingManifestContentSchema: z.ZodOptional<z.ZodObject<{
4
+ hero: z.ZodOptional<z.ZodObject<{
5
+ title: z.ZodOptional<z.ZodString>;
6
+ titleAccent: z.ZodOptional<z.ZodString>;
7
+ subtitle: z.ZodOptional<z.ZodString>;
8
+ description: z.ZodOptional<z.ZodString>;
9
+ badge: z.ZodOptional<z.ZodString>;
10
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ codeExample: z.ZodOptional<z.ZodObject<{
12
+ filename: z.ZodOptional<z.ZodString>;
13
+ language: z.ZodOptional<z.ZodString>;
14
+ code: z.ZodString;
15
+ }, z.core.$strip>>;
16
+ }, z.core.$strip>>;
17
+ featuresSection: z.ZodOptional<z.ZodObject<{
18
+ label: z.ZodOptional<z.ZodString>;
19
+ title: z.ZodOptional<z.ZodString>;
20
+ description: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>>;
22
+ features: z.ZodOptional<z.ZodArray<z.ZodObject<{
23
+ title: z.ZodString;
24
+ description: z.ZodString;
25
+ icon: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>>;
27
+ primaryAction: z.ZodOptional<z.ZodObject<{
28
+ label: z.ZodString;
29
+ href: z.ZodString;
30
+ }, z.core.$strip>>;
31
+ secondaryAction: z.ZodOptional<z.ZodObject<{
32
+ label: z.ZodString;
33
+ href: z.ZodString;
34
+ }, z.core.$strip>>;
35
+ ticker: z.ZodOptional<z.ZodObject<{
36
+ enabled: z.ZodOptional<z.ZodBoolean>;
37
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
38
+ label: z.ZodString;
39
+ value: z.ZodString;
40
+ change: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>>>;
42
+ }, z.core.$strip>>;
43
+ trust: z.ZodOptional<z.ZodObject<{
44
+ enabled: z.ZodOptional<z.ZodBoolean>;
45
+ title: z.ZodOptional<z.ZodString>;
46
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
+ }, z.core.$strip>>;
48
+ apiShowcase: z.ZodOptional<z.ZodObject<{
49
+ enabled: z.ZodOptional<z.ZodBoolean>;
50
+ title: z.ZodOptional<z.ZodString>;
51
+ subtitle: z.ZodOptional<z.ZodString>;
52
+ browseAllHref: z.ZodOptional<z.ZodString>;
53
+ browseAllLabel: z.ZodOptional<z.ZodString>;
54
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
55
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ name: z.ZodString;
57
+ path: z.ZodString;
58
+ icon: z.ZodOptional<z.ZodString>;
59
+ latency: z.ZodOptional<z.ZodString>;
60
+ summary: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>>;
62
+ }, z.core.$strip>>;
63
+ pricingCta: z.ZodOptional<z.ZodObject<{
64
+ enabled: z.ZodOptional<z.ZodBoolean>;
65
+ title: z.ZodOptional<z.ZodString>;
66
+ description: z.ZodOptional<z.ZodString>;
67
+ primaryAction: z.ZodOptional<z.ZodObject<{
68
+ label: z.ZodString;
69
+ href: z.ZodString;
70
+ }, z.core.$strip>>;
71
+ secondaryAction: z.ZodOptional<z.ZodObject<{
72
+ label: z.ZodString;
73
+ href: z.ZodString;
74
+ }, z.core.$strip>>;
75
+ }, z.core.$strip>>;
76
+ showPoweredBy: z.ZodOptional<z.ZodBoolean>;
77
+ }, z.core.$strip>>;
78
+ export type LandingManifestContent = z.infer<typeof LandingContentSchema>;
79
+ export type LandingManifestInput = {
80
+ enabled?: boolean;
81
+ content?: LandingManifestContent;
82
+ };
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { APITOGO_CONFIG_FILENAME } from "./apitogo-config-loader.js";
3
+ import { type LandingManifestInput } from "./landing-manifest.js";
3
4
  export declare const APITOGO_MANIFEST_BASE_FILENAME = "apitogo.json";
4
5
  export declare const APITOGO_MANIFEST_ENV_FILES: {
5
6
  readonly development: "apitogo.local.json";
@@ -85,9 +86,88 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
85
86
  publicHealthActionKey: z.ZodOptional<z.ZodString>;
86
87
  }, z.core.$strip>>;
87
88
  projectId: z.ZodOptional<z.ZodString>;
89
+ landing: z.ZodOptional<z.ZodObject<{
90
+ enabled: z.ZodOptional<z.ZodBoolean>;
91
+ content: z.ZodOptional<z.ZodObject<{
92
+ hero: z.ZodOptional<z.ZodObject<{
93
+ title: z.ZodOptional<z.ZodString>;
94
+ titleAccent: z.ZodOptional<z.ZodString>;
95
+ subtitle: z.ZodOptional<z.ZodString>;
96
+ description: z.ZodOptional<z.ZodString>;
97
+ badge: z.ZodOptional<z.ZodString>;
98
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
99
+ codeExample: z.ZodOptional<z.ZodObject<{
100
+ filename: z.ZodOptional<z.ZodString>;
101
+ language: z.ZodOptional<z.ZodString>;
102
+ code: z.ZodString;
103
+ }, z.core.$strip>>;
104
+ }, z.core.$strip>>;
105
+ featuresSection: z.ZodOptional<z.ZodObject<{
106
+ label: z.ZodOptional<z.ZodString>;
107
+ title: z.ZodOptional<z.ZodString>;
108
+ description: z.ZodOptional<z.ZodString>;
109
+ }, z.core.$strip>>;
110
+ features: z.ZodOptional<z.ZodArray<z.ZodObject<{
111
+ title: z.ZodString;
112
+ description: z.ZodString;
113
+ icon: z.ZodOptional<z.ZodString>;
114
+ }, z.core.$strip>>>;
115
+ primaryAction: z.ZodOptional<z.ZodObject<{
116
+ label: z.ZodString;
117
+ href: z.ZodString;
118
+ }, z.core.$strip>>;
119
+ secondaryAction: z.ZodOptional<z.ZodObject<{
120
+ label: z.ZodString;
121
+ href: z.ZodString;
122
+ }, z.core.$strip>>;
123
+ ticker: z.ZodOptional<z.ZodObject<{
124
+ enabled: z.ZodOptional<z.ZodBoolean>;
125
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
126
+ label: z.ZodString;
127
+ value: z.ZodString;
128
+ change: z.ZodOptional<z.ZodString>;
129
+ }, z.core.$strip>>>;
130
+ }, z.core.$strip>>;
131
+ trust: z.ZodOptional<z.ZodObject<{
132
+ enabled: z.ZodOptional<z.ZodBoolean>;
133
+ title: z.ZodOptional<z.ZodString>;
134
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
+ }, z.core.$strip>>;
136
+ apiShowcase: z.ZodOptional<z.ZodObject<{
137
+ enabled: z.ZodOptional<z.ZodBoolean>;
138
+ title: z.ZodOptional<z.ZodString>;
139
+ subtitle: z.ZodOptional<z.ZodString>;
140
+ browseAllHref: z.ZodOptional<z.ZodString>;
141
+ browseAllLabel: z.ZodOptional<z.ZodString>;
142
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
143
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
144
+ name: z.ZodString;
145
+ path: z.ZodString;
146
+ icon: z.ZodOptional<z.ZodString>;
147
+ latency: z.ZodOptional<z.ZodString>;
148
+ summary: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$strip>>>;
150
+ }, z.core.$strip>>;
151
+ pricingCta: z.ZodOptional<z.ZodObject<{
152
+ enabled: z.ZodOptional<z.ZodBoolean>;
153
+ title: z.ZodOptional<z.ZodString>;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ primaryAction: z.ZodOptional<z.ZodObject<{
156
+ label: z.ZodString;
157
+ href: z.ZodString;
158
+ }, z.core.$strip>>;
159
+ secondaryAction: z.ZodOptional<z.ZodObject<{
160
+ label: z.ZodString;
161
+ href: z.ZodString;
162
+ }, z.core.$strip>>;
163
+ }, z.core.$strip>>;
164
+ showPoweredBy: z.ZodOptional<z.ZodBoolean>;
165
+ }, z.core.$strip>>;
166
+ }, z.core.$strip>>;
88
167
  }, z.core.$strip>;
89
168
  export type ManifestPlanInput = z.infer<typeof ManifestPlanInputSchema>;
90
169
  export type DevPortalLocalManifest = z.infer<typeof DevPortalLocalManifestSchema>;
170
+ export type { LandingManifestInput };
91
171
  export type DevPortalPreviewPlan = {
92
172
  sku: string;
93
173
  displayName: string;
@@ -110,6 +190,8 @@ export declare function normalizeBillingPeriod(period?: string): string;
110
190
  export declare function plansToPreviewCatalog(plans: ManifestPlanInput[] | undefined): Pick<DevPortalPreviewPlanCatalog, "plans">;
111
191
  export declare function resolveManifestEnv(viteMode: string): ApitogoManifestEnv;
112
192
  export declare function mergePlansBySku(existing: ManifestPlanInput[] | undefined, patch: ManifestPlanInput[]): ManifestPlanInput[];
193
+ export declare function mergeLandingContent(existing: LandingManifestInput["content"] | undefined, patch: LandingManifestInput["content"] | undefined): LandingManifestInput["content"] | undefined;
194
+ export declare function mergeLandingManifest(existing: LandingManifestInput | undefined, patch: LandingManifestInput | undefined): LandingManifestInput | undefined;
113
195
  export declare function mergeManifest(base: DevPortalLocalManifest, override: DevPortalLocalManifest): DevPortalLocalManifest;
114
196
  export declare function manifestFilePath(rootDir: string, filename?: string): string;
115
197
  export declare function manifestPathsForEnv(rootDir: string, _env: ApitogoManifestEnv): {
@@ -1,7 +1,9 @@
1
1
  import { type ResolvedModulesConfig, type LandingContentConfig, type ResolvedLandingContent, type DashboardContentConfig, type ProfileContentConfig, type PlansContentConfig, type ResolvedDashboardContent, type ResolvedProfileContent, type ResolvedPlansContent } from "./validators/ModulesSchema.js";
2
2
  import type { ZudokuConfig } from "./validators/ZudokuConfig.js";
3
3
  export declare const joinPanelPath: (basePath: string, routePath: string) => string;
4
- export declare const resolveLandingContent: (config: ZudokuConfig, content?: LandingContentConfig) => ResolvedLandingContent;
4
+ export declare const resolveLandingContent: (config: ZudokuConfig, content?: LandingContentConfig, options?: {
5
+ useDefaults?: boolean;
6
+ }) => ResolvedLandingContent;
5
7
  export declare const resolveDashboardContent: (content?: DashboardContentConfig) => ResolvedDashboardContent;
6
8
  export declare const resolveProfileContent: (content?: ProfileContentConfig) => ResolvedProfileContent;
7
9
  export declare const resolvePlansContent: (content?: PlansContentConfig) => ResolvedPlansContent;
@@ -27,21 +27,107 @@ export declare const LandingLinkSchema: z.ZodObject<{
27
27
  export declare const LandingFeatureSchema: z.ZodObject<{
28
28
  title: z.ZodString;
29
29
  description: z.ZodString;
30
+ icon: z.ZodOptional<z.ZodString>;
30
31
  }, z.core.$strip>;
32
+ export declare const LandingCodeExampleSchema: z.ZodOptional<z.ZodObject<{
33
+ filename: z.ZodOptional<z.ZodString>;
34
+ language: z.ZodOptional<z.ZodString>;
35
+ code: z.ZodString;
36
+ }, z.core.$strip>>;
31
37
  export declare const LandingHeroSchema: z.ZodOptional<z.ZodObject<{
32
38
  title: z.ZodOptional<z.ZodString>;
39
+ titleAccent: z.ZodOptional<z.ZodString>;
33
40
  subtitle: z.ZodOptional<z.ZodString>;
34
41
  description: z.ZodOptional<z.ZodString>;
42
+ badge: z.ZodOptional<z.ZodString>;
43
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
+ codeExample: z.ZodOptional<z.ZodObject<{
45
+ filename: z.ZodOptional<z.ZodString>;
46
+ language: z.ZodOptional<z.ZodString>;
47
+ code: z.ZodString;
48
+ }, z.core.$strip>>;
49
+ }, z.core.$strip>>;
50
+ export declare const LandingFeaturesSectionSchema: z.ZodOptional<z.ZodObject<{
51
+ label: z.ZodOptional<z.ZodString>;
52
+ title: z.ZodOptional<z.ZodString>;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>>;
55
+ export declare const LandingTickerItemSchema: z.ZodObject<{
56
+ label: z.ZodString;
57
+ value: z.ZodString;
58
+ change: z.ZodOptional<z.ZodString>;
59
+ }, z.core.$strip>;
60
+ export declare const LandingTickerSchema: z.ZodOptional<z.ZodObject<{
61
+ enabled: z.ZodOptional<z.ZodBoolean>;
62
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ label: z.ZodString;
64
+ value: z.ZodString;
65
+ change: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>>>;
67
+ }, z.core.$strip>>;
68
+ export declare const LandingTrustSchema: z.ZodOptional<z.ZodObject<{
69
+ enabled: z.ZodOptional<z.ZodBoolean>;
70
+ title: z.ZodOptional<z.ZodString>;
71
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
72
+ }, z.core.$strip>>;
73
+ export declare const LandingApiShowcaseItemSchema: z.ZodObject<{
74
+ name: z.ZodString;
75
+ path: z.ZodString;
76
+ icon: z.ZodOptional<z.ZodString>;
77
+ latency: z.ZodOptional<z.ZodString>;
78
+ summary: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ export declare const LandingApiShowcaseSchema: z.ZodOptional<z.ZodObject<{
81
+ enabled: z.ZodOptional<z.ZodBoolean>;
82
+ title: z.ZodOptional<z.ZodString>;
83
+ subtitle: z.ZodOptional<z.ZodString>;
84
+ browseAllHref: z.ZodOptional<z.ZodString>;
85
+ browseAllLabel: z.ZodOptional<z.ZodString>;
86
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
87
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ name: z.ZodString;
89
+ path: z.ZodString;
90
+ icon: z.ZodOptional<z.ZodString>;
91
+ latency: z.ZodOptional<z.ZodString>;
92
+ summary: z.ZodOptional<z.ZodString>;
93
+ }, z.core.$strip>>>;
94
+ }, z.core.$strip>>;
95
+ export declare const LandingPricingCtaSchema: z.ZodOptional<z.ZodObject<{
96
+ enabled: z.ZodOptional<z.ZodBoolean>;
97
+ title: z.ZodOptional<z.ZodString>;
98
+ description: z.ZodOptional<z.ZodString>;
99
+ primaryAction: z.ZodOptional<z.ZodObject<{
100
+ label: z.ZodString;
101
+ href: z.ZodString;
102
+ }, z.core.$strip>>;
103
+ secondaryAction: z.ZodOptional<z.ZodObject<{
104
+ label: z.ZodString;
105
+ href: z.ZodString;
106
+ }, z.core.$strip>>;
35
107
  }, z.core.$strip>>;
36
108
  export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
37
109
  hero: z.ZodOptional<z.ZodObject<{
38
110
  title: z.ZodOptional<z.ZodString>;
111
+ titleAccent: z.ZodOptional<z.ZodString>;
39
112
  subtitle: z.ZodOptional<z.ZodString>;
40
113
  description: z.ZodOptional<z.ZodString>;
114
+ badge: z.ZodOptional<z.ZodString>;
115
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
116
+ codeExample: z.ZodOptional<z.ZodObject<{
117
+ filename: z.ZodOptional<z.ZodString>;
118
+ language: z.ZodOptional<z.ZodString>;
119
+ code: z.ZodString;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>>;
122
+ featuresSection: z.ZodOptional<z.ZodObject<{
123
+ label: z.ZodOptional<z.ZodString>;
124
+ title: z.ZodOptional<z.ZodString>;
125
+ description: z.ZodOptional<z.ZodString>;
41
126
  }, z.core.$strip>>;
42
127
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
128
  title: z.ZodString;
44
129
  description: z.ZodString;
130
+ icon: z.ZodOptional<z.ZodString>;
45
131
  }, z.core.$strip>>>;
46
132
  primaryAction: z.ZodOptional<z.ZodObject<{
47
133
  label: z.ZodString;
@@ -51,6 +137,47 @@ export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
51
137
  label: z.ZodString;
52
138
  href: z.ZodString;
53
139
  }, z.core.$strip>>;
140
+ ticker: z.ZodOptional<z.ZodObject<{
141
+ enabled: z.ZodOptional<z.ZodBoolean>;
142
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
143
+ label: z.ZodString;
144
+ value: z.ZodString;
145
+ change: z.ZodOptional<z.ZodString>;
146
+ }, z.core.$strip>>>;
147
+ }, z.core.$strip>>;
148
+ trust: z.ZodOptional<z.ZodObject<{
149
+ enabled: z.ZodOptional<z.ZodBoolean>;
150
+ title: z.ZodOptional<z.ZodString>;
151
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
152
+ }, z.core.$strip>>;
153
+ apiShowcase: z.ZodOptional<z.ZodObject<{
154
+ enabled: z.ZodOptional<z.ZodBoolean>;
155
+ title: z.ZodOptional<z.ZodString>;
156
+ subtitle: z.ZodOptional<z.ZodString>;
157
+ browseAllHref: z.ZodOptional<z.ZodString>;
158
+ browseAllLabel: z.ZodOptional<z.ZodString>;
159
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
160
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
161
+ name: z.ZodString;
162
+ path: z.ZodString;
163
+ icon: z.ZodOptional<z.ZodString>;
164
+ latency: z.ZodOptional<z.ZodString>;
165
+ summary: z.ZodOptional<z.ZodString>;
166
+ }, z.core.$strip>>>;
167
+ }, z.core.$strip>>;
168
+ pricingCta: z.ZodOptional<z.ZodObject<{
169
+ enabled: z.ZodOptional<z.ZodBoolean>;
170
+ title: z.ZodOptional<z.ZodString>;
171
+ description: z.ZodOptional<z.ZodString>;
172
+ primaryAction: z.ZodOptional<z.ZodObject<{
173
+ label: z.ZodString;
174
+ href: z.ZodString;
175
+ }, z.core.$strip>>;
176
+ secondaryAction: z.ZodOptional<z.ZodObject<{
177
+ label: z.ZodString;
178
+ href: z.ZodString;
179
+ }, z.core.$strip>>;
180
+ }, z.core.$strip>>;
54
181
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
55
182
  }, z.core.$strip>>;
56
183
  export declare const DashboardContentSchema: z.ZodOptional<z.ZodObject<{
@@ -97,12 +224,26 @@ export declare const LandingModuleSchema: z.ZodObject<{
97
224
  content: z.ZodOptional<z.ZodObject<{
98
225
  hero: z.ZodOptional<z.ZodObject<{
99
226
  title: z.ZodOptional<z.ZodString>;
227
+ titleAccent: z.ZodOptional<z.ZodString>;
100
228
  subtitle: z.ZodOptional<z.ZodString>;
101
229
  description: z.ZodOptional<z.ZodString>;
230
+ badge: z.ZodOptional<z.ZodString>;
231
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
232
+ codeExample: z.ZodOptional<z.ZodObject<{
233
+ filename: z.ZodOptional<z.ZodString>;
234
+ language: z.ZodOptional<z.ZodString>;
235
+ code: z.ZodString;
236
+ }, z.core.$strip>>;
237
+ }, z.core.$strip>>;
238
+ featuresSection: z.ZodOptional<z.ZodObject<{
239
+ label: z.ZodOptional<z.ZodString>;
240
+ title: z.ZodOptional<z.ZodString>;
241
+ description: z.ZodOptional<z.ZodString>;
102
242
  }, z.core.$strip>>;
103
243
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
244
  title: z.ZodString;
105
245
  description: z.ZodString;
246
+ icon: z.ZodOptional<z.ZodString>;
106
247
  }, z.core.$strip>>>;
107
248
  primaryAction: z.ZodOptional<z.ZodObject<{
108
249
  label: z.ZodString;
@@ -112,8 +253,50 @@ export declare const LandingModuleSchema: z.ZodObject<{
112
253
  label: z.ZodString;
113
254
  href: z.ZodString;
114
255
  }, z.core.$strip>>;
256
+ ticker: z.ZodOptional<z.ZodObject<{
257
+ enabled: z.ZodOptional<z.ZodBoolean>;
258
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
259
+ label: z.ZodString;
260
+ value: z.ZodString;
261
+ change: z.ZodOptional<z.ZodString>;
262
+ }, z.core.$strip>>>;
263
+ }, z.core.$strip>>;
264
+ trust: z.ZodOptional<z.ZodObject<{
265
+ enabled: z.ZodOptional<z.ZodBoolean>;
266
+ title: z.ZodOptional<z.ZodString>;
267
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
268
+ }, z.core.$strip>>;
269
+ apiShowcase: z.ZodOptional<z.ZodObject<{
270
+ enabled: z.ZodOptional<z.ZodBoolean>;
271
+ title: z.ZodOptional<z.ZodString>;
272
+ subtitle: z.ZodOptional<z.ZodString>;
273
+ browseAllHref: z.ZodOptional<z.ZodString>;
274
+ browseAllLabel: z.ZodOptional<z.ZodString>;
275
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
276
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
277
+ name: z.ZodString;
278
+ path: z.ZodString;
279
+ icon: z.ZodOptional<z.ZodString>;
280
+ latency: z.ZodOptional<z.ZodString>;
281
+ summary: z.ZodOptional<z.ZodString>;
282
+ }, z.core.$strip>>>;
283
+ }, z.core.$strip>>;
284
+ pricingCta: z.ZodOptional<z.ZodObject<{
285
+ enabled: z.ZodOptional<z.ZodBoolean>;
286
+ title: z.ZodOptional<z.ZodString>;
287
+ description: z.ZodOptional<z.ZodString>;
288
+ primaryAction: z.ZodOptional<z.ZodObject<{
289
+ label: z.ZodString;
290
+ href: z.ZodString;
291
+ }, z.core.$strip>>;
292
+ secondaryAction: z.ZodOptional<z.ZodObject<{
293
+ label: z.ZodString;
294
+ href: z.ZodString;
295
+ }, z.core.$strip>>;
296
+ }, z.core.$strip>>;
115
297
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
116
298
  }, z.core.$strip>>;
299
+ useDefaults: z.ZodOptional<z.ZodBoolean>;
117
300
  }, z.core.$strip>;
118
301
  export declare const UserManagementModuleSchema: z.ZodObject<{
119
302
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -278,12 +461,26 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
278
461
  content: z.ZodOptional<z.ZodObject<{
279
462
  hero: z.ZodOptional<z.ZodObject<{
280
463
  title: z.ZodOptional<z.ZodString>;
464
+ titleAccent: z.ZodOptional<z.ZodString>;
281
465
  subtitle: z.ZodOptional<z.ZodString>;
282
466
  description: z.ZodOptional<z.ZodString>;
467
+ badge: z.ZodOptional<z.ZodString>;
468
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
469
+ codeExample: z.ZodOptional<z.ZodObject<{
470
+ filename: z.ZodOptional<z.ZodString>;
471
+ language: z.ZodOptional<z.ZodString>;
472
+ code: z.ZodString;
473
+ }, z.core.$strip>>;
474
+ }, z.core.$strip>>;
475
+ featuresSection: z.ZodOptional<z.ZodObject<{
476
+ label: z.ZodOptional<z.ZodString>;
477
+ title: z.ZodOptional<z.ZodString>;
478
+ description: z.ZodOptional<z.ZodString>;
283
479
  }, z.core.$strip>>;
284
480
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
285
481
  title: z.ZodString;
286
482
  description: z.ZodString;
483
+ icon: z.ZodOptional<z.ZodString>;
287
484
  }, z.core.$strip>>>;
288
485
  primaryAction: z.ZodOptional<z.ZodObject<{
289
486
  label: z.ZodString;
@@ -293,8 +490,50 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
293
490
  label: z.ZodString;
294
491
  href: z.ZodString;
295
492
  }, z.core.$strip>>;
493
+ ticker: z.ZodOptional<z.ZodObject<{
494
+ enabled: z.ZodOptional<z.ZodBoolean>;
495
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
496
+ label: z.ZodString;
497
+ value: z.ZodString;
498
+ change: z.ZodOptional<z.ZodString>;
499
+ }, z.core.$strip>>>;
500
+ }, z.core.$strip>>;
501
+ trust: z.ZodOptional<z.ZodObject<{
502
+ enabled: z.ZodOptional<z.ZodBoolean>;
503
+ title: z.ZodOptional<z.ZodString>;
504
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
505
+ }, z.core.$strip>>;
506
+ apiShowcase: z.ZodOptional<z.ZodObject<{
507
+ enabled: z.ZodOptional<z.ZodBoolean>;
508
+ title: z.ZodOptional<z.ZodString>;
509
+ subtitle: z.ZodOptional<z.ZodString>;
510
+ browseAllHref: z.ZodOptional<z.ZodString>;
511
+ browseAllLabel: z.ZodOptional<z.ZodString>;
512
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
513
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
514
+ name: z.ZodString;
515
+ path: z.ZodString;
516
+ icon: z.ZodOptional<z.ZodString>;
517
+ latency: z.ZodOptional<z.ZodString>;
518
+ summary: z.ZodOptional<z.ZodString>;
519
+ }, z.core.$strip>>>;
520
+ }, z.core.$strip>>;
521
+ pricingCta: z.ZodOptional<z.ZodObject<{
522
+ enabled: z.ZodOptional<z.ZodBoolean>;
523
+ title: z.ZodOptional<z.ZodString>;
524
+ description: z.ZodOptional<z.ZodString>;
525
+ primaryAction: z.ZodOptional<z.ZodObject<{
526
+ label: z.ZodString;
527
+ href: z.ZodString;
528
+ }, z.core.$strip>>;
529
+ secondaryAction: z.ZodOptional<z.ZodObject<{
530
+ label: z.ZodString;
531
+ href: z.ZodString;
532
+ }, z.core.$strip>>;
533
+ }, z.core.$strip>>;
296
534
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
297
535
  }, z.core.$strip>>;
536
+ useDefaults: z.ZodOptional<z.ZodBoolean>;
298
537
  }, z.core.$strip>>;
299
538
  userPanel: z.ZodOptional<z.ZodObject<{
300
539
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -381,15 +620,35 @@ export type DashboardContentConfig = z.infer<typeof DashboardContentSchema>;
381
620
  export type ProfileContentConfig = z.infer<typeof ProfileContentSchema>;
382
621
  export type PlansContentConfig = z.infer<typeof PlansContentSchema>;
383
622
  export type PlanTierConfig = z.infer<typeof PlanTierSchema>;
623
+ export type LandingCodeExampleConfig = z.infer<typeof LandingCodeExampleSchema>;
624
+ export type LandingTickerItemConfig = z.infer<typeof LandingTickerItemSchema>;
625
+ export type LandingTickerConfig = z.infer<typeof LandingTickerSchema>;
626
+ export type LandingTrustConfig = z.infer<typeof LandingTrustSchema>;
627
+ export type LandingApiShowcaseItemConfig = z.infer<typeof LandingApiShowcaseItemSchema>;
628
+ export type LandingApiShowcaseConfig = z.infer<typeof LandingApiShowcaseSchema>;
629
+ export type LandingPricingCtaConfig = z.infer<typeof LandingPricingCtaSchema>;
384
630
  export type ResolvedLandingContent = {
385
631
  hero?: {
386
632
  title?: string;
633
+ titleAccent?: string;
387
634
  subtitle?: string;
388
635
  description?: string;
636
+ badge?: string;
637
+ highlights?: string[];
638
+ codeExample?: NonNullable<LandingCodeExampleConfig>;
639
+ };
640
+ featuresSection?: {
641
+ label?: string;
642
+ title?: string;
643
+ description?: string;
389
644
  };
390
645
  features?: LandingFeatureConfig[];
391
646
  primaryAction?: LandingLinkConfig;
392
647
  secondaryAction?: LandingLinkConfig;
648
+ ticker?: LandingTickerConfig;
649
+ trust?: LandingTrustConfig;
650
+ apiShowcase?: LandingApiShowcaseConfig;
651
+ pricingCta?: LandingPricingCtaConfig;
393
652
  showPoweredBy?: boolean;
394
653
  };
395
654
  export type ResolvedLandingModule = {
@@ -471,6 +471,7 @@ export declare const ZudokuConfig: z.ZodObject<{
471
471
  }, z.core.$strip>>>;
472
472
  site: z.ZodOptional<z.ZodObject<{
473
473
  title: z.ZodOptional<z.ZodString>;
474
+ showTitleInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
474
475
  logoUrl: z.ZodOptional<z.ZodString>;
475
476
  dir: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
476
477
  ltr: "ltr";
@@ -6889,12 +6890,26 @@ export declare const ZudokuConfig: z.ZodObject<{
6889
6890
  content: z.ZodOptional<z.ZodObject<{
6890
6891
  hero: z.ZodOptional<z.ZodObject<{
6891
6892
  title: z.ZodOptional<z.ZodString>;
6893
+ titleAccent: z.ZodOptional<z.ZodString>;
6892
6894
  subtitle: z.ZodOptional<z.ZodString>;
6893
6895
  description: z.ZodOptional<z.ZodString>;
6896
+ badge: z.ZodOptional<z.ZodString>;
6897
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
6898
+ codeExample: z.ZodOptional<z.ZodObject<{
6899
+ filename: z.ZodOptional<z.ZodString>;
6900
+ language: z.ZodOptional<z.ZodString>;
6901
+ code: z.ZodString;
6902
+ }, z.core.$strip>>;
6903
+ }, z.core.$strip>>;
6904
+ featuresSection: z.ZodOptional<z.ZodObject<{
6905
+ label: z.ZodOptional<z.ZodString>;
6906
+ title: z.ZodOptional<z.ZodString>;
6907
+ description: z.ZodOptional<z.ZodString>;
6894
6908
  }, z.core.$strip>>;
6895
6909
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
6896
6910
  title: z.ZodString;
6897
6911
  description: z.ZodString;
6912
+ icon: z.ZodOptional<z.ZodString>;
6898
6913
  }, z.core.$strip>>>;
6899
6914
  primaryAction: z.ZodOptional<z.ZodObject<{
6900
6915
  label: z.ZodString;
@@ -6904,8 +6919,50 @@ export declare const ZudokuConfig: z.ZodObject<{
6904
6919
  label: z.ZodString;
6905
6920
  href: z.ZodString;
6906
6921
  }, z.core.$strip>>;
6922
+ ticker: z.ZodOptional<z.ZodObject<{
6923
+ enabled: z.ZodOptional<z.ZodBoolean>;
6924
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
6925
+ label: z.ZodString;
6926
+ value: z.ZodString;
6927
+ change: z.ZodOptional<z.ZodString>;
6928
+ }, z.core.$strip>>>;
6929
+ }, z.core.$strip>>;
6930
+ trust: z.ZodOptional<z.ZodObject<{
6931
+ enabled: z.ZodOptional<z.ZodBoolean>;
6932
+ title: z.ZodOptional<z.ZodString>;
6933
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
6934
+ }, z.core.$strip>>;
6935
+ apiShowcase: z.ZodOptional<z.ZodObject<{
6936
+ enabled: z.ZodOptional<z.ZodBoolean>;
6937
+ title: z.ZodOptional<z.ZodString>;
6938
+ subtitle: z.ZodOptional<z.ZodString>;
6939
+ browseAllHref: z.ZodOptional<z.ZodString>;
6940
+ browseAllLabel: z.ZodOptional<z.ZodString>;
6941
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
6942
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
6943
+ name: z.ZodString;
6944
+ path: z.ZodString;
6945
+ icon: z.ZodOptional<z.ZodString>;
6946
+ latency: z.ZodOptional<z.ZodString>;
6947
+ summary: z.ZodOptional<z.ZodString>;
6948
+ }, z.core.$strip>>>;
6949
+ }, z.core.$strip>>;
6950
+ pricingCta: z.ZodOptional<z.ZodObject<{
6951
+ enabled: z.ZodOptional<z.ZodBoolean>;
6952
+ title: z.ZodOptional<z.ZodString>;
6953
+ description: z.ZodOptional<z.ZodString>;
6954
+ primaryAction: z.ZodOptional<z.ZodObject<{
6955
+ label: z.ZodString;
6956
+ href: z.ZodString;
6957
+ }, z.core.$strip>>;
6958
+ secondaryAction: z.ZodOptional<z.ZodObject<{
6959
+ label: z.ZodString;
6960
+ href: z.ZodString;
6961
+ }, z.core.$strip>>;
6962
+ }, z.core.$strip>>;
6907
6963
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
6908
6964
  }, z.core.$strip>>;
6965
+ useDefaults: z.ZodOptional<z.ZodBoolean>;
6909
6966
  }, z.core.$strip>>;
6910
6967
  userPanel: z.ZodOptional<z.ZodObject<{
6911
6968
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -0,0 +1,4 @@
1
+ import type { HeaderNavigation } from "../../config/validators/HeaderNavigationSchema.js";
2
+ export declare function withoutAuthHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;
3
+ export declare function withoutPricingHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;
4
+ export declare function withoutMarketingCtaHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;
@@ -1,15 +1,15 @@
1
- export declare function DevPortalLoginPage({ apiBaseUrl, }: {
1
+ export declare function DevPortalLoginPage({ apiBaseUrl }: {
2
2
  apiBaseUrl?: string;
3
3
  }): import("react/jsx-runtime").JSX.Element;
4
- export declare function DevPortalRegisterPage({ apiBaseUrl, }: {
4
+ export declare function DevPortalRegisterPage({ apiBaseUrl }: {
5
5
  apiBaseUrl?: string;
6
6
  }): import("react/jsx-runtime").JSX.Element;
7
- export declare function DevPortalVerifyEmailPage({ apiBaseUrl }: {
7
+ export declare function DevPortalVerifyEmailPage({ apiBaseUrl, }: {
8
8
  apiBaseUrl?: string;
9
9
  }): import("react/jsx-runtime").JSX.Element;
10
- export declare function DevPortalForgotPasswordPage({ apiBaseUrl }: {
10
+ export declare function DevPortalForgotPasswordPage({ apiBaseUrl, }: {
11
11
  apiBaseUrl?: string;
12
12
  }): import("react/jsx-runtime").JSX.Element;
13
- export declare function DevPortalResetPasswordPage({ apiBaseUrl }: {
13
+ export declare function DevPortalResetPasswordPage({ apiBaseUrl, }: {
14
14
  apiBaseUrl?: string;
15
15
  }): import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,7 @@ export declare function resolveDevPortalApiBaseUrl(config: Pick<DevPortalAuthent
4
4
  export declare function isPlaceholderDevPortalApiUrl(apiBaseUrl: string | undefined): boolean;
5
5
  export declare function toAbsoluteReturnUrl(pathOrUrl: string): string;
6
6
  export declare function buildDevPortalOidcChallengeUrl(apiBaseUrl: string, providerId: string, returnUrl: string): string;
7
+ export declare function buildDevPortalLoginUrl(apiBaseUrl: string, returnUrl: string): string;
7
8
  export declare function buildDevPortalLogoutUrl(apiBaseUrl: string, returnUrl: string): string;
8
9
  export declare function normalizeDevPortalAuthConfig(raw: unknown): import("./dev-portal-constants.js").DevPortalAuthConfigResponse;
9
10
  export declare function isNativeAuthEnabled(config: import("./dev-portal-constants.js").DevPortalAuthConfigResponse | null | undefined): boolean;