UNPKG

@brendonovich/kobalte__solidbase

Version:

Fully featured, fully customisable static site generation for SolidStart

43 lines (42 loc) 2.1 kB
import type { Options as AutoImportOptions } from "unplugin-auto-import/dist/types.js"; import type { ComponentResolverOption } from "unplugin-icons/resolver"; import type { Options as IconsOptions } from "unplugin-icons/types"; import type { PluginOption } from "vite"; import { type MdxOptions } from "./mdx.js"; import type { IssueAutoLinkConfig } from "./remark-plugins/issue-autolink.js"; export interface SolidBaseConfig<ThemeConfig> { title?: string; titleTemplate?: string; description?: string; logo?: string; issueAutolink?: IssueAutoLinkConfig | false; lang?: string; locales?: Record<string, LocaleConfig<ThemeConfig>>; themeConfig?: ThemeConfig; editPath?: string | ((path: string) => string); lastUpdated?: Intl.DateTimeFormatOptions | false; markdown?: MdxOptions; icons?: Omit<IconsOptions, "compiler"> | false; autoImport?: (AutoImportOptions & { iconResolver?: ComponentResolverOption | false; }) | true; } type ResolvedConfigKeys = "title" | "description" | "lang" | "issueAutolink" | "lastUpdated"; export type SolidBaseResolvedConfig<ThemeConfig> = Omit<SolidBaseConfig<ThemeConfig>, ResolvedConfigKeys> & Required<Pick<SolidBaseConfig<ThemeConfig>, ResolvedConfigKeys>>; export type LocaleConfig<ThemeConfig> = { label: string; lang?: string; link?: string; themeConfig?: ThemeConfig; }; export type ThemeDefinition<Config> = { componentsPath: URL; extends?: ThemeDefinition<Config>; config?(config: SolidBaseResolvedConfig<Config>): void; vite?(config: SolidBaseResolvedConfig<Config>): PluginOption | undefined; }; export declare const solidBase: (solidBaseConfig?: SolidBaseConfig<import("../default-theme/index.js").DefaultThemeConfig> | undefined) => PluginOption; export declare function createSolidBase<ThemeConfig>(theme: ThemeDefinition<ThemeConfig>): (solidBaseConfig?: SolidBaseConfig<ThemeConfig>) => PluginOption; export declare function defineTheme<C>(def: ThemeDefinition<C>): ThemeDefinition<C>; export type Theme<C> = ReturnType<typeof defineTheme<C>>; export {};