import type { PrefixKeys } from 'zova'; import type { IVonaComponentRecord, TypeComponentOptions } from 'zova-module-a-bean'; import type { ICommandRecord, IJsxCommandOptionsEvent, IJsxCommandOptionsCommands, TypeCommandOptions } from 'zova-module-a-command'; import type { IIconRecord } from 'zova-module-a-icon'; import type { TypePagePathSchema } from 'zova-module-a-router'; import type { CssBase } from 'zova-module-home-theme'; export type { IIconRecord } from 'zova-module-a-icon'; export type { IPagePathRecord } from 'zova-module-a-router'; declare module 'zova-module-a-router' { export interface IPagePathRecord { '/': TypePagePathSchema; 'presetLogin': TypePagePathSchema; 'presetErrorExpired': TypePagePathSchema; 'presetResource': TypePagePathSchema; } } export function ZovaCssBase>(name: K): string { return `cssBase:${name}`; } export function ZovaCssMerge( ...classes: ( | string | false | undefined | null | { [className: string]: any; } )[] ): any { return classes; } export function ZovaIconName(name: K): any { return name; } export function ZovaComponent(options: TypeComponentOptions) { if (!options.name) throw new Error('should specify the component name'); return options.name; } export function ZovaCommand(options: TypeCommandOptions) { if (!options.name) throw new Error('should specify the command name'); return options.name.replace(':', '.command.'); } export function ZovaEvent(_options: IJsxCommandOptionsEvent) { return 'ZovaEvent'; } export function ZovaCommands(_options: IJsxCommandOptionsCommands) { return 'ZovaCommands'; }