@antv/x6
Version:
JavaScript diagramming library that uses SVG and HTML for rendering
19 lines (18 loc) • 1.01 kB
TypeScript
export interface KeyValue<T = any> {
[key: string]: T;
}
export type ViewEvents = KeyValue<string | Function>;
export type OnWheelGuard = (e: WheelEvent) => boolean;
export type OnWheelCallback = (e: WheelEvent, deltaX?: number, deltaY?: number) => void;
export interface PointLike {
x: number;
y: number;
}
export type PointData = [number, number];
export type PointBearing = 'NE' | 'E' | 'SE' | 'S' | 'SW' | 'W' | 'NW' | 'N';
export type PointOptions = PointLike | PointData;
export type KeyPoint = 'center' | 'origin' | 'corner' | 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'rightMiddle' | 'leftMiddle';
type CamelToKebab<S extends string> = S extends `${infer C}${infer R}` ? C extends Uppercase<C> ? `-${Lowercase<C>}${CamelToKebab<R>}` : `${C}${CamelToKebab<R>}` : S;
type RemoveLeadingHyphen<S extends string> = S extends `-${infer Rest}` ? Rest : S;
export type CamelToKebabCase<S extends string> = RemoveLeadingHyphen<CamelToKebab<S>>;
export {};