watercolor-ui
Version:
A modern minimalist cross-framework component library
154 lines • 4.23 kB
TypeScript
export namespace easingFunctions {
function linear(t: any): any;
function easeInQuad(t: any): number;
function easeOutQuad(t: any): number;
function easeInOutQuad(t: any): number;
function easeInCubic(t: any): number;
function easeOutCubic(t: any): number;
function easeInOutCubic(t: any): number;
function easeInQuart(t: any): number;
function easeOutQuart(t: any): number;
function easeInOutQuart(t: any): number;
function easeInSine(t: any): number;
function easeOutSine(t: any): number;
function easeInOutSine(t: any): number;
function easeInExpo(t: any): number;
function easeOutExpo(t: any): number;
function easeInOutExpo(t: any): number;
}
export namespace numberFormatUtils {
/**
* 格式化数字
* @param {number} value - 要格式化的数字
* @param {Object} options - 格式化选项
* @returns {string} 格式化后的字符串
*/
function formatNumber(value: number, options?: Object): string;
/**
* 紧凑数字格式化
* @param {number} num - 数字
* @param {number} precision - 精度
* @returns {string} 格式化结果
*/
function formatCompactNumber(num: number, precision?: number): string;
/**
* 验证数字范围
* @param {number} value - 值
* @param {number} min - 最小值
* @param {number} max - 最大值
* @returns {number} 限制后的值
*/
function clampValue(value: number, min?: number, max?: number): number;
}
export class NumberAnimationController {
constructor(options?: {});
options: {
duration: number;
easing: string;
onUpdate: null;
onComplete: null;
};
startTime: number | null;
rafId: number | null;
isRunning: boolean;
isPaused: boolean;
pausedTime: number;
/**
* 开始动画
* @param {number} from - 起始值
* @param {number} to - 结束值
*/
start(from: number, to: number): void;
from: number | undefined;
to: number | undefined;
/**
* 动画步进
* @param {number} timestamp - 时间戳
*/
step(timestamp: number): void;
/**
* 暂停动画
*/
pause(): void;
/**
* 恢复动画
*/
resume(): void;
/**
* 停止动画
*/
stop(): void;
/**
* 完成动画
*/
complete(): void;
/**
* 取消动画帧
*/
cancel(): void;
/**
* 销毁控制器
*/
destroy(): void;
}
export namespace presets {
namespace fast {
let duration: number;
let easing: string;
}
namespace normal {
let duration_1: number;
export { duration_1 as duration };
let easing_1: string;
export { easing_1 as easing };
}
namespace slow {
let duration_2: number;
export { duration_2 as duration };
let easing_2: string;
export { easing_2 as easing };
}
namespace bouncy {
let duration_3: number;
export { duration_3 as duration };
let easing_3: string;
export { easing_3 as easing };
}
namespace counter {
let duration_4: number;
export { duration_4 as duration };
let easing_4: string;
export { easing_4 as easing };
}
}
export namespace utils {
/**
* 创建动画实例
* @param {Object} options - 配置选项
* @returns {NumberAnimationController} 动画控制器实例
*/
function createAnimation(options?: Object): NumberAnimationController;
/**
* 获取预设配置
* @param {string} presetName - 预设名称
* @returns {Object} 预设配置
*/
function getPreset(presetName: string): Object;
/**
* 检测是否支持动画
* @returns {boolean} 是否支持
*/
function isAnimationSupported(): boolean;
/**
* 检测是否应该减少动画
* @returns {boolean} 是否减少动画
*/
function shouldReduceMotion(): boolean;
/**
* 调试信息
* @param {string} message - 消息
* @param {*} data - 数据
*/
function debug(message: string, data: any): void;
}
//# sourceMappingURL=utils.d.ts.map