UNPKG

mdui

Version:

a CSS Framework based on material design

124 lines (123 loc) 3.2 kB
import { JQ } from 'mdui.jq/es/JQ'; import 'mdui.jq/es/methods/addClass'; import 'mdui.jq/es/methods/appendTo'; import 'mdui.jq/es/methods/attr'; import 'mdui.jq/es/methods/css'; import 'mdui.jq/es/methods/first'; import 'mdui.jq/es/methods/hasClass'; import 'mdui.jq/es/methods/height'; import 'mdui.jq/es/methods/html'; import 'mdui.jq/es/methods/offset'; import 'mdui.jq/es/methods/on'; import 'mdui.jq/es/methods/removeClass'; import 'mdui.jq/es/methods/width'; import Selector from 'mdui.jq/es/types/Selector'; import '../../jq_extends/methods/transformOrigin'; import '../../jq_extends/methods/transitionEnd'; import '../../jq_extends/static/guid'; declare module '../../interfaces/MduiStatic' { interface MduiStatic { /** * Tooltip 组件 * * 请通过 `new mdui.Tooltip()` 调用 */ Tooltip: { /** * 实例化 Tooltip 组件 * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象 * @param options 配置参数 */ new (selector: Selector | HTMLElement | ArrayLike<HTMLElement>, options?: OPTIONS): Tooltip; }; } } declare type POSITION = 'auto' | 'bottom' | 'top' | 'left' | 'right'; declare type OPTIONS = { /** * Tooltip 的位置。取值范围包括 `auto`、`bottom`、`top`、`left`、`right`。 * 为 `auto` 时,会自动判断位置。默认在下方。优先级为 `bottom` > `top` > `left` > `right`。 * 默认为 `auto` */ position?: POSITION; /** * 延时触发,单位毫秒。默认为 `0`,即没有延时。 */ delay?: number; /** * Tooltip 的内容 */ content?: string; }; declare type STATE = 'opening' | 'opened' | 'closing' | 'closed'; declare class Tooltip { /** * 触发 tooltip 元素的 JQ 对象 */ $target: JQ; /** * tooltip 元素的 JQ 对象 */ $element: JQ; /** * 配置参数 */ options: OPTIONS; /** * 当前 tooltip 的状态 */ private state; /** * setTimeout 的返回值 */ private timeoutId; constructor(selector: Selector | HTMLElement | ArrayLike<HTMLElement>, options?: OPTIONS); /** * 元素是否已禁用 * @param element */ private isDisabled; /** * 是否是桌面设备 */ private isDesktop; /** * 设置 Tooltip 的位置 */ private setPosition; /** * 触发组件事件 * @param name */ private triggerEvent; /** * 动画结束回调 */ private transitionEnd; /** * 当前 tooltip 是否为打开状态 */ private isOpen; /** * 执行打开 tooltip */ private doOpen; /** * 打开 Tooltip * @param options 允许每次打开时设置不同的参数 */ open(options?: OPTIONS): void; /** * 关闭 Tooltip */ close(): void; /** * 切换 Tooltip 的打开状态 */ toggle(): void; /** * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` */ getState(): STATE; } export {};