index.d.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { KeyValue } from '@antv/x6-common';
  2. import { Registry } from '../registry';
  3. import * as patterns from './main';
  4. export declare class Grid {
  5. root: Element;
  6. patterns: {
  7. [id: string]: Element;
  8. };
  9. constructor();
  10. add(id: string, elem: Element): void;
  11. get(id: string): Element;
  12. has(id: string): boolean;
  13. }
  14. export declare namespace Grid {
  15. export interface Options {
  16. color: string;
  17. thickness: number;
  18. }
  19. interface BaseDefinition<T extends Options = Options> extends Options {
  20. markup: string;
  21. update: (elem: Element, options: {
  22. sx: number;
  23. sy: number;
  24. ox: number;
  25. oy: number;
  26. width: number;
  27. height: number;
  28. } & T) => void;
  29. }
  30. export type Definition<T extends Options = Options> = T & BaseDefinition<T>;
  31. export type CommonDefinition = Definition<Grid.Options> | Definition<Grid.Options>[];
  32. export {};
  33. }
  34. export declare namespace Grid {
  35. const presets: typeof patterns;
  36. const registry: Registry<CommonDefinition, typeof patterns, never>;
  37. }
  38. export declare namespace Grid {
  39. type Presets = (typeof Grid)['presets'];
  40. type OptionsMap = {
  41. dot: patterns.DotOptions;
  42. fixedDot: patterns.FixedDotOptions;
  43. mesh: patterns.MeshOptions;
  44. doubleMesh: patterns.DoubleMeshOptions[];
  45. };
  46. type NativeNames = keyof Presets;
  47. interface NativeItem<T extends NativeNames = NativeNames> {
  48. type: T;
  49. args?: OptionsMap[T];
  50. }
  51. interface ManaualItem {
  52. type: Exclude<string, NativeNames>;
  53. args?: KeyValue;
  54. }
  55. }