@etsoo/website
Version:
ETSOO CMS Based NextJs Website Framework
90 lines (89 loc) • 2.87 kB
TypeScript
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;
}