hooks.d.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { Ref } from 'vue';
  2. import { ContainerProvider, ResizingHandle } from './types';
  3. declare type HandleEvent = MouseEvent | TouchEvent;
  4. export declare function useState<T>(initialState: T): [Ref<T>, (value: T) => T];
  5. export declare function initState(props: any, emit: any): {
  6. id: string;
  7. width: Ref<number>;
  8. height: Ref<number>;
  9. top: Ref<number>;
  10. left: Ref<number>;
  11. enable: Ref<boolean>;
  12. dragging: Ref<boolean>;
  13. resizing: Ref<boolean>;
  14. resizingHandle: Ref<ResizingHandle>;
  15. resizingMaxHeight: Ref<number>;
  16. resizingMaxWidth: Ref<number>;
  17. resizingMinWidth: Ref<number>;
  18. resizingMinHeight: Ref<number>;
  19. aspectRatio: import("vue").ComputedRef<number>;
  20. setEnable: (value: boolean) => boolean;
  21. setDragging: (value: boolean) => boolean;
  22. setResizing: (value: boolean) => boolean;
  23. setResizingHandle: (value: ResizingHandle) => ResizingHandle;
  24. setResizingMaxHeight: (value: number) => number;
  25. setResizingMaxWidth: (value: number) => number;
  26. setResizingMinWidth: (value: number) => number;
  27. setResizingMinHeight: (value: number) => number;
  28. setWidth: (val: number) => number;
  29. setHeight: (val: number) => number;
  30. setTop: (val: number) => number;
  31. setLeft: (val: number) => number;
  32. };
  33. export declare function initParent(containerRef: Ref<HTMLElement | undefined>): {
  34. parentWidth: Ref<number>;
  35. parentHeight: Ref<number>;
  36. };
  37. export declare function initLimitSizeAndMethods(props: any, parentSize: ReturnType<typeof initParent>, containerProps: ReturnType<typeof initState>): {
  38. setWidth(val: number): number;
  39. setHeight(val: number): number;
  40. setTop(val: number): number;
  41. setLeft(val: number): number;
  42. minWidth: import("vue").ComputedRef<number>;
  43. minHeight: import("vue").ComputedRef<number>;
  44. maxWidth: import("vue").ComputedRef<number>;
  45. maxHeight: import("vue").ComputedRef<number>;
  46. minLeft: import("vue").ComputedRef<number>;
  47. minTop: import("vue").ComputedRef<number>;
  48. maxLeft: import("vue").ComputedRef<number>;
  49. maxTop: import("vue").ComputedRef<number>;
  50. };
  51. export declare function initDraggableContainer(containerRef: Ref<HTMLElement | undefined>, containerProps: ReturnType<typeof initState>, limitProps: ReturnType<typeof initLimitSizeAndMethods>, draggable: Ref<boolean>, emit: any, containerProvider: ContainerProvider | null, parentSize: ReturnType<typeof initParent>): {
  52. containerRef: Ref<HTMLElement>;
  53. };
  54. export declare function initResizeHandle(containerProps: ReturnType<typeof initState>, limitProps: ReturnType<typeof initLimitSizeAndMethods>, parentSize: ReturnType<typeof initParent>, props: any, emit: any): {
  55. handlesFiltered: import("vue").ComputedRef<ResizingHandle[]>;
  56. resizeHandleDown: (e: HandleEvent, handleType: ResizingHandle) => void;
  57. };
  58. export declare function watchProps(props: any, limits: ReturnType<typeof initLimitSizeAndMethods>): void;
  59. export {};