custom.d.ts 3.5 KB

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