UNPKG

element-book

Version:

An [`element-vir`](https://npmjs.com/package/element-vir) drop-in element for building, testing, and demonstrating a collection of elements (or, in other words, a design system).

42 lines (41 loc) 1.77 kB
import { type ControlsWrapper } from '../../../data/book-entry/book-page/controls-wrapper.js'; import { type BookRouter } from '../../../routing/book-router.js'; import { type ColorTheme } from '../../color-theme/color-theme.js'; import { type ThemeConfig } from '../../color-theme/create-color-theme.js'; import { type ElementBookConfig } from './element-book-config.js'; import { type GlobalValues } from './global-values.js'; /** * Current color theme state used inside of {@link ElementBookApp}. * * @category Internal */ export type ColorThemeState = { config: ThemeConfig | undefined; theme: ColorTheme; }; /** * The element-book app itself. Instantiate one of these where you want your element-book pages to * render. Make sure to also provide an array of pages to actually render! * * @category Main */ export declare const ElementBookApp: import("element-vir").DeclarativeElementDefinition<"element-book-app", ElementBookConfig, { currentRoute: Readonly<Readonly<Required<import("spa-router-vir").SpaRoute<import("../../../routing/book-routing.js").ValidBookPaths, undefined, undefined>>>>; router: undefined | BookRouter; loading: boolean; colors: { config: undefined; theme: ColorTheme; }; treeBasedControls: { pages: ElementBookConfig["pages"]; lastGlobalInputs: GlobalValues; controls: ControlsWrapper; } | undefined; originalWindowTitle: string | undefined; isDarkMode: boolean; /** Cleanup callback for the dark mode media query listener. */ darkModeCleanup: (() => void) | undefined; }, { pathUpdate: import("element-vir").DefineEvent<readonly string[]>; }, "element-book-app-", "element-book-app-", readonly ["footer", "navHeader"], readonly []>;