types/document.types.ts

types/document.types.ts is a file in Bane's Lab Site. 44 lines of code and 6 definitions.

import type { Block } from "#types/block.types";

export interface Subsection {
    readonly blocks?: readonly Block[];
    readonly content?: string;
    readonly id?: string;
    readonly layout?: "grid";
    readonly title: string;
}

export interface Section {
    readonly blocks?: readonly Block[];
    readonly icon: string;
    readonly id: string;
    readonly intro?: string;
    readonly kind?: string;
    readonly layout?: "callout";
    readonly subsections: readonly Subsection[];
    readonly title: string;
}

export interface Tab {
    readonly folders?: Readonly<Record<string, readonly string[]>>;
    readonly icon: string;
    readonly id: string;
    readonly label: string;
    readonly layout?: TabLayout;
    readonly pages?: readonly string[];
    readonly repository?: Readonly<Record<string, string>>;
    readonly sections: readonly Section[];
}

export interface DocumentMeta {
    readonly closing: string;
    readonly effectiveDate: string;
    readonly emblem?: string;
    readonly intro?: string;
    readonly lastUpdated: string;
    readonly title: string;
    readonly version: string;
}

export interface TabbedMeta {
    readonly emblem?: string;
    readonly subtitle: string;
    readonly title: string;
    readonly version: string;
}

export type TabLayout = "chapter" | "glossary" | "grid" | "ontology" | "sectioned" | "tree";