resizeContext.ts 773 B

123456789101112131415161718
  1. import React, { createContext, RefObject } from 'react';
  2. import { ResizeCallback, ResizeEventType, ResizeStartCallback } from '@douyinfe/semi-foundation/resizable/types';
  3. export interface ResizeContextProps {
  4. direction: 'horizontal' | 'vertical';
  5. registerItem: (ref: RefObject<HTMLDivElement>,
  6. min: string, max: string, defaultSize: string|number,
  7. onResizeStart: ResizeStartCallback,
  8. onChange: ResizeCallback,
  9. onResizeEnd: ResizeCallback
  10. ) => number;
  11. registerHandler: (ref: RefObject<HTMLDivElement>) => number;
  12. notifyResizeStart: (handlerIndex: number, e: MouseEvent | Touch, type: ResizeEventType) => void;
  13. getGroupSize: () => number
  14. }
  15. export const ResizeContext = createContext<ResizeContextProps>(undefined);