custom.d.ts 3.3 KB

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