export interface ViewportOffsetResult { left: number; top: number; right: number; bottom: number; rightIncludeBody: number; bottomIncludeBody: number; } /** * 获取元素的边界矩形信息。 * @param element 指定的元素,必须是一个Element类型。 * @returns 如果元素有效且存在getBoundingClientRect方法,则返回该方法的结果,即DOMRect对象;否则返回0。 */ export declare function getBoundingClientRect(element: Element): DOMRect | number; /** * 检查一个元素是否包含指定的类名。 * @param el 指定的元素,必须是一个Element类型。 * @param cls 指定的类名,是一个字符串。 * @returns 返回一个布尔值,如果元素包含指定的类名则为true,否则为false。 */ export declare function hasClass(el: Element, cls: string): boolean; /** * 为指定元素添加一个或多个类名。 * @param el 指定的元素,必须是一个Element类型。 * @param cls 要添加的类名,可以是单个类名或多个类名组成的字符串,多个类名之间用空格分隔。 */ export declare function addClass(el: Element, cls: string): void; /** * 从元素中移除指定的类名。 * @param el 指定的元素,必须是一个Element类型。 * @param cls 要移除的类名,可以是一个由空格分隔的多个类名的字符串。 * * 函数首先检查传入的元素和类名是否为空,如果为空则直接返回。 * 然后将类名字符串按空格分割成数组,遍历这个数组以移除每个指定的类名。 * 对于支持 classList 属性的现代浏览器,直接使用 classList.remove 方法移除类名。 * 对于不支持 classList 的浏览器,则操作元素的 className 属性,通过字符串替换的方式移除类名。 * 最后,如果浏览器不支持 classList,将处理后的 className 赋值回元素,以确保类名的更新。 */ export declare function removeClass(el: Element, cls: string): void; /** * 获取指定元素相对于视口的位置信息。 * * @param element 需要获取位置信息的元素。 * @returns 返回一个包含元素相对于视口的位置信息的对象。 */ export declare function getViewportOffset(element: Element): ViewportOffsetResult; /** * 为CSS属性生成兼容前缀的样式对象 * @param attr 需要设置的CSS属性名 * @param value 属性对应的值 * @returns 返回一个对象,该对象包含带有各种浏览器前缀的属性以及原始属性,以确保在多个浏览器中兼容 */ export declare function hackCss(attr: string, value: string): any; export declare function on(element: Element | HTMLElement | Document | Window, event: string, handler: EventListenerOrEventListenerObject): void; export declare function off(element: Element | HTMLElement | Document | Window, event: string, handler: Fn): void; export declare function once(el: HTMLElement, event: string, fn: EventListener): void; /** * 使用RAF节流函数封装给定的函数。 * @param fn 需要被节流的函数。 * @returns 返回一个节流后的函数。 * @template T 函数参数类型。 */ export declare function useRafThrottle(fn: T): T; /** * 添加样式表 * @param href 样式表的URL */ export declare const addStyelsheet: (href: string) => void; /** * 获取指定元素的dataset,或者根据key获取特定的dataset值 * @param el 指定的元素,如果未提供,则默认为document.body * @param key 需要获取的dataset的键名,如果未提供,则返回整个dataset对象 * @returns 如果提供了key,则返回对应的dataset值;否则返回整个dataset对象 */ export declare const getDomDataset: (el: HTMLElement, key?: string) => string | DOMStringMap | undefined; /** * @description: 获取文本宽度 * @param {string} text * @param {*} font 字体样式(一般只传入字体font-size值) 也可以是'14px sans-serif'等 * @return {number} */ export declare const useTextWidth: (text: string, font?: string) => number; /** * 将指定的错误表单项滚动到视图中。 * @param option 配置对象,可选参数,用于定制滚动行为。 * @param option.behavior 滚动行为,默认为 'smooth',可选值包括 'auto', 'instant', 'smooth'。 * @param option.block 指定滚动到哪个块级元素,默认为 'end',可选值包括 'start', 'end', 'nearest'。 * @param option.inline 指定在行内方向上滚动到哪个位置,默认为 'nearest',可选值包括 'start', 'end', 'nearest'。 * @returns 无返回值。 */ export declare const intoErrorView: (option?: { behavior?: string; block?: string; inline?: string; }) => void;