muddle/samples/react/_muddle/contracts/views.ts
2026-10-23 09:12:49 -04:00

58 lines
1.4 KiB
TypeScript

// AUTO-GENERATED by contracts/typegen/generator.ts, do not edit.
// Run `bun run typegen <project>` to update this file.
import type { Minify } from "./minify.ts";
export interface ViewProps {
"modules/app/views/feature": {
title: string;
nav: { id: string; label: string; href: string; active?: boolean }[];
albums: {
id: string;
name: string;
cover: string;
tracks: { title: string; duration: string }[];
}[];
ribbonStyle?: string;
label: string;
prose: string | null;
features: { label: string; href: string }[];
current?: string;
};
"modules/app/views/index": {
title: string;
nav: { id: string; label: string; href: string; active?: boolean }[];
albums: {
id: string;
name: string;
cover: string;
tracks: { title: string; duration: string }[];
}[];
ribbonStyle?: string;
intro: { id: string; label: string; note: string; tint: string }[];
features: { label: string; href: string }[];
};
"modules/app/views/layout": Record<string, never>;
"modules/app/views/navbar": {
nav: {
id: string;
label: string;
href: string;
active?: boolean;
detail: string;
}[];
albums: {
id: string;
name: string;
date: string;
cover: string;
tracks: { title: string; duration: string }[];
}[];
};
}
/** Path of a view of the project. */
export type ViewPath = keyof ViewProps;
/** Props of a single view. */
export type ViewPropsOf<P extends ViewPath> = Minify<ViewProps[P]>;