custom.d.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. declare module '*.svg' {
  2. const content: string;
  3. export default content;
  4. }
  5. declare module 'pdfjs-dist';
  6. declare module 'query-string';
  7. declare module 'react-toast-notifications';
  8. declare module 'react-color';
  9. declare module 'react-color/lib/components/common';
  10. interface RefObject<T> {
  11. readonly current: T | null;
  12. }
  13. type SelectOptionType = {
  14. key: string | number;
  15. content: React.ReactNode;
  16. child: React.ReactNode;
  17. };
  18. type RenderingStateType = 'RENDERING' | 'LOADING' | 'FINISHED' | 'PAUSED';
  19. type LineType = 'Highlight' | 'Underline' | 'Squiggly' | 'StrikeOut';
  20. type ReducerFuncType = (
  21. state: Record<string, any>,
  22. action: { type: string; payload: any }
  23. ) => any;
  24. type ViewportType = {
  25. width: number;
  26. height: number;
  27. };
  28. type ProgressType = {
  29. loaded: number;
  30. total: number;
  31. };
  32. type ScrollStateType = {
  33. right: boolean;
  34. down: boolean;
  35. lastX: number;
  36. lastY: number;
  37. subscriber: any;
  38. };
  39. type PositionType = {
  40. top: number;
  41. bottom: number;
  42. left: number;
  43. right: number;
  44. };
  45. type HTMLCoordinateType = {
  46. top: number;
  47. left: number;
  48. width: number;
  49. height: number;
  50. };
  51. type PointType = {
  52. x: number;
  53. y: number;
  54. };
  55. type LinePositionType = {
  56. start: PointType;
  57. end: PointType;
  58. };
  59. type AnnotationPositionType =
  60. | string
  61. | PositionType
  62. | LinePositionType
  63. | PointType
  64. | (PositionType | PointType[])[];
  65. type AnnotationAttributeType = {
  66. title?: string;
  67. date?: string;
  68. page: number;
  69. bdcolor?: string | undefined;
  70. position?: AnnotationPositionType;
  71. transparency?: number | undefined;
  72. content?: string | undefined;
  73. style?: number | undefined;
  74. fcolor?: string | undefined;
  75. ftransparency?: number | undefined;
  76. bdwidth?: number | undefined;
  77. fontname?: string | undefined;
  78. fontsize?: number | undefined;
  79. textcolor?: string | undefined;
  80. is_arrow?: boolean | undefined;
  81. };
  82. type AnnotationType = {
  83. id?: string;
  84. obj_type: string;
  85. obj_attr: AnnotationAttributeType;
  86. };
  87. type UpdateData = {
  88. bdcolor?: string;
  89. transparency?: number;
  90. position?: AnnotationPositionType;
  91. content?: string;
  92. fontsize?: number;
  93. };
  94. type OnUpdateType = (data: UpdateData) => void;
  95. type DispatchType = {
  96. type: string;
  97. payload: string | number | boolean | Record<string, any> | any[];
  98. };
  99. type ActionType = (
  100. dispatch: (obj: DispatchType) => void
  101. ) => Record<string, any>;
  102. type AnnotationElementPropsType = AnnotationType & {
  103. isCovered: boolean;
  104. isCollapse: boolean;
  105. mousePosition: Record<string, any>;
  106. onUpdate: OnUpdateType;
  107. onDelete: () => void;
  108. scale: number;
  109. viewport: ViewportType;
  110. onEdit: () => void;
  111. isEdit: boolean;
  112. onBlur: () => void;
  113. onMouseOver?: () => void;
  114. onMouseOut?: () => void;
  115. };
  116. type OptionPropsType = {
  117. type?: string;
  118. color?: string;
  119. opacity?: number;
  120. fontName?: string;
  121. fontSize?: number;
  122. width?: number;
  123. align?: string;
  124. fontStyle?: string;
  125. shape?: string;
  126. text?: string;
  127. setDataState?: (arg: Record<string, any>) => void;
  128. };
  129. type CoordType = {
  130. left: number;
  131. top: number;
  132. width?: number;
  133. height?: number;
  134. };
  135. type CircleType = {
  136. direction: string;
  137. cx: number;
  138. cy: number;
  139. r: number;
  140. };
  141. type WatermarkType = {
  142. type?: 'image' | 'text';
  143. scale?: number;
  144. opacity?: number;
  145. rotation?: number;
  146. pages?: string;
  147. vertalign?: 'top' | 'center' | 'bottom';
  148. horizalign?: 'left' | 'center' | 'right';
  149. xoffset?: number;
  150. yoffset?: number;
  151. imagepath?: string;
  152. text?: string;
  153. textcolor?: string;
  154. isfront?: 'yes' | 'no';
  155. };
  156. type MatchType = {
  157. page: number;
  158. index: number;
  159. };