UNPKG

@etsoo/website

Version:

ETSOO CMS Based NextJs Website Framework

90 lines (89 loc) 2.87 kB
import { DataTypes } from '@etsoo/shared'; import { SiteTab } from '../dto/site/SiteTab'; import { ArticleLink } from '../dto/site/ArticleLink'; import { SitePageProps, SiteTabPageProps } from '../props/SitePageProps'; import { StaticTabPageProps } from '../props/StaticTabPageProps'; /** * Site utilities * 网站工具 */ export declare namespace SiteUtils { /** * Check the content should be considered as no content * @param content Check content * @returns Result */ function checkNoContent(content?: string): boolean; /** * Format article URL * 格式化文章链接 * @param item Article link item * @returns Result */ function formatLink(item: ArticleLink): string; /** * Format tab URL * 格式化栏目地址 * @param tab Tab * @returns Result */ function formatUrl(tab: SiteTab): string; /** * Get JSON data * @param jsonData JSON data * @returns Result */ function getJsonData<T>(jsonData: unknown): T | undefined; /** * Get placement * @param p Placement * @returns Style classes */ function getPlacement(p: DataTypes.PlacementEnum): "top-0 start-0" | "top-0 start-50 translate-middle-x" | "top-0 end-0" | "top-50 start-0 translate-middle-y" | "top-50 start-50 translate-middle" | "top-50 end-0 translate-middle-y" | "bottom-0 start-0" | "bottom-0 start-50 translate-middle-x" | "bottom-0 end-0"; /** * Get culture resource * @param key key * @returns Resource */ function get<T = string>(key: string): T | undefined; /** * Get string resource * @param key key * @param defaultLabel Default label * @returns Resource */ function getLabel(key: string, defaultLabel?: string): string; /** * Get multiple tring resources * @param keys Keys */ function getLabels<T extends string>(...keys: T[]): { [K in T]: string; }; /** * Is site tab page props * 是否为网站栏目页面属性 * @param props Page props * @returns Result */ function isSiteTabPageProps(props: SitePageProps): props is SiteTabPageProps; /** * Is static tab page props * 是否为静态栏目页面属性 * @param props Page props * @returns Result */ function isStaticTabPageProps(props: SiteTabPageProps): props is StaticTabPageProps; /** * Setup * @param culture Culture, like zh-Hans * @param customResources Custom resurces */ function setup(culture: string, customResources: DataTypes.StringRecord): void; /** * Toggle button spinner show / hide * @param button Button * @param startSide In start side or not, default false */ function toggleButtonSpinner(button: HTMLButtonElement, startSide?: boolean): void; }