UNPKG

@thebase/ui

Version:

CDN-installable Owl and Bootstrap 5 UI component library.

51 lines (46 loc) • 1.69 kB
export interface BaseUIComponentDefinition { type?: "static" | "owl"; selector?: string; mount?: (element: Element, api: BaseUIApi, options?: Record<string, unknown>) => { destroy?: () => void } | void; } export interface BaseUIApi { version: string; register(name: string, componentDefinition: BaseUIComponentDefinition): BaseUIApi; component(name: string): BaseUIComponentDefinition | undefined; mount(selectorOrElement: string | Element, options?: Record<string, unknown>): unknown; mountAll(rootElement?: ParentNode): unknown[]; destroy(rootElement?: ParentNode): void; icons: { lucide: { version: string; cdnBaseUrl: string; normalizeName(name: string): string; url(name: string, options?: { baseUrl?: string }): string; render( element: Element, name: string, options?: { baseUrl?: string; label?: string; size?: string; url?: string }, ): Element; }; }; theme: { set(modeOrTokens: string | Record<string, string>): void }; } export interface BaseUIThemeController { current(): "light" | "dark"; set(theme: string, options?: { skipStorage?: boolean }): "light" | "dark"; toggle(): "light" | "dark"; syncFrames(theme: string): void; init(): "light" | "dark"; } export interface BaseUIThemeOptions { storageKey?: string; queryKey?: string; toggleSelector?: string; labelSelector?: string; root?: Element; } export const BaseUI: BaseUIApi; export const BaseUITheme: BaseUIThemeController; export function createThemeController(options?: BaseUIThemeOptions): BaseUIThemeController; export function normalizeTheme(value: unknown): "light" | "dark"; export default BaseUI;