UNPKG

vue3-sketch-ruler

Version:

> 是一个基于 Vue 3 + TypeScript 的标尺组件库,适用于低代码平台、大屏可视化、做图工具等场景,提供类似 Photoshop 的缩放与标尺辅助线体验。

49 lines 1.32 kB
import { Ref } from 'vue'; import { GuideLine } from '@sketch-ruler/core'; export interface SnapTarget { type: 'tick' | 'guide-line' | 'custom' | 'grid' | 'equidistant'; position: number; priority: number; } export interface SnapResult { position: number; target: SnapTarget; original: number; } export interface SnapRule { id: string; priority: number; getTargets: (context: SnapContext) => SnapTarget[]; } export interface SnapContext { direction: 'h' | 'v'; position: number; scale: number; lines: GuideLine[]; viewportSize: { width: number; height: number; }; } export interface SnapOptions { threshold: Ref<number>; scale: Ref<number>; tickTargets?: Ref<number[]>; guideLineTargets?: Ref<number[]>; customTargets?: Ref<number[]>; strength?: Ref<number>; gridSize?: Ref<number>; enableEquidistant?: Ref<boolean>; customRules?: Ref<SnapRule[]>; lines?: Ref<GuideLine[]>; viewportSize?: Ref<{ width: number; height: number; }>; } export declare function useRulerSnap(options: SnapOptions): { snap: (position: number, direction: "h" | "v") => SnapResult | null; }; /** 向后兼容导出 */ export { useRulerSnap as useSnapDetection }; //# sourceMappingURL=useRulerSnap.d.ts.map