index.d.ts 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. import { DatePointApi, ViewApi, EventApi, EventChangeArg, Duration, EventDropArg, PluginDef } from '@fullcalendar/core';
  2. import { Emitter, PointerDragEvent, Rect, ScrollController, ElementDragging, Identity, DragMetaInput } from '@fullcalendar/core/internal';
  3. declare class PointerDragging {
  4. containerEl: EventTarget;
  5. subjectEl: HTMLElement | null;
  6. emitter: Emitter<any>;
  7. selector: string;
  8. handleSelector: string;
  9. shouldIgnoreMove: boolean;
  10. shouldWatchScroll: boolean;
  11. isDragging: boolean;
  12. isTouchDragging: boolean;
  13. wasTouchScroll: boolean;
  14. origPageX: number;
  15. origPageY: number;
  16. prevPageX: number;
  17. prevPageY: number;
  18. prevScrollX: number;
  19. prevScrollY: number;
  20. constructor(containerEl: EventTarget);
  21. destroy(): void;
  22. tryStart(ev: UIEvent): boolean;
  23. cleanup(): void;
  24. querySubjectEl(ev: UIEvent): HTMLElement;
  25. handleMouseDown: (ev: MouseEvent) => void;
  26. handleMouseMove: (ev: MouseEvent) => void;
  27. handleMouseUp: (ev: MouseEvent) => void;
  28. shouldIgnoreMouse(): number | boolean;
  29. handleTouchStart: (ev: TouchEvent) => void;
  30. handleTouchMove: (ev: TouchEvent) => void;
  31. handleTouchEnd: (ev: TouchEvent) => void;
  32. handleTouchScroll: () => void;
  33. cancelTouchScroll(): void;
  34. initScrollWatch(ev: PointerDragEvent): void;
  35. recordCoords(ev: PointerDragEvent): void;
  36. handleScroll: (ev: UIEvent) => void;
  37. destroyScrollWatch(): void;
  38. createEventFromMouse(ev: MouseEvent, isFirst?: boolean): PointerDragEvent;
  39. createEventFromTouch(ev: TouchEvent, isFirst?: boolean): PointerDragEvent;
  40. }
  41. declare class ElementMirror {
  42. isVisible: boolean;
  43. origScreenX?: number;
  44. origScreenY?: number;
  45. deltaX?: number;
  46. deltaY?: number;
  47. sourceEl: HTMLElement | null;
  48. mirrorEl: HTMLElement | null;
  49. sourceElRect: Rect | null;
  50. parentNode: HTMLElement;
  51. zIndex: number;
  52. revertDuration: number;
  53. start(sourceEl: HTMLElement, pageX: number, pageY: number): void;
  54. handleMove(pageX: number, pageY: number): void;
  55. setIsVisible(bool: boolean): void;
  56. stop(needsRevertAnimation: boolean, callback: () => void): void;
  57. doRevertAnimation(callback: () => void, revertDuration: number): void;
  58. cleanup(): void;
  59. updateElPosition(): void;
  60. getMirrorEl(): HTMLElement;
  61. }
  62. declare abstract class ScrollGeomCache extends ScrollController {
  63. clientRect: Rect;
  64. origScrollTop: number;
  65. origScrollLeft: number;
  66. protected scrollController: ScrollController;
  67. protected doesListening: boolean;
  68. protected scrollTop: number;
  69. protected scrollLeft: number;
  70. protected scrollWidth: number;
  71. protected scrollHeight: number;
  72. protected clientWidth: number;
  73. protected clientHeight: number;
  74. constructor(scrollController: ScrollController, doesListening: boolean);
  75. abstract getEventTarget(): EventTarget;
  76. abstract computeClientRect(): Rect;
  77. destroy(): void;
  78. handleScroll: () => void;
  79. getScrollTop(): number;
  80. getScrollLeft(): number;
  81. setScrollTop(top: number): void;
  82. setScrollLeft(top: number): void;
  83. getClientWidth(): number;
  84. getClientHeight(): number;
  85. getScrollWidth(): number;
  86. getScrollHeight(): number;
  87. handleScrollChange(): void;
  88. }
  89. declare class AutoScroller {
  90. isEnabled: boolean;
  91. scrollQuery: (Window | string)[];
  92. edgeThreshold: number;
  93. maxVelocity: number;
  94. pointerScreenX: number | null;
  95. pointerScreenY: number | null;
  96. isAnimating: boolean;
  97. scrollCaches: ScrollGeomCache[] | null;
  98. msSinceRequest?: number;
  99. everMovedUp: boolean;
  100. everMovedDown: boolean;
  101. everMovedLeft: boolean;
  102. everMovedRight: boolean;
  103. start(pageX: number, pageY: number, scrollStartEl: HTMLElement): void;
  104. handleMove(pageX: number, pageY: number): void;
  105. stop(): void;
  106. requestAnimation(now: number): void;
  107. private animate;
  108. private handleSide;
  109. private computeBestEdge;
  110. private buildCaches;
  111. private queryScrollEls;
  112. }
  113. declare class FeaturefulElementDragging extends ElementDragging {
  114. private containerEl;
  115. pointer: PointerDragging;
  116. mirror: ElementMirror;
  117. autoScroller: AutoScroller;
  118. delay: number | null;
  119. minDistance: number;
  120. touchScrollAllowed: boolean;
  121. mirrorNeedsRevert: boolean;
  122. isInteracting: boolean;
  123. isDragging: boolean;
  124. isDelayEnded: boolean;
  125. isDistanceSurpassed: boolean;
  126. delayTimeoutId: number | null;
  127. constructor(containerEl: HTMLElement, selector?: string);
  128. destroy(): void;
  129. onPointerDown: (ev: PointerDragEvent) => void;
  130. onPointerMove: (ev: PointerDragEvent) => void;
  131. onPointerUp: (ev: PointerDragEvent) => void;
  132. startDelay(ev: PointerDragEvent): void;
  133. handleDelayEnd(ev: PointerDragEvent): void;
  134. handleDistanceSurpassed(ev: PointerDragEvent): void;
  135. tryStartDrag(ev: PointerDragEvent): void;
  136. tryStopDrag(ev: PointerDragEvent): void;
  137. stopDrag(ev: PointerDragEvent): void;
  138. setIgnoreMove(bool: boolean): void;
  139. setMirrorIsVisible(bool: boolean): void;
  140. setMirrorNeedsRevert(bool: boolean): void;
  141. setAutoScrollEnabled(bool: boolean): void;
  142. }
  143. interface DateClickArg extends DatePointApi {
  144. dayEl: HTMLElement;
  145. jsEvent: MouseEvent;
  146. view: ViewApi;
  147. }
  148. type EventDragStopArg = EventDragArg;
  149. type EventDragStartArg = EventDragArg;
  150. interface EventDragArg {
  151. el: HTMLElement;
  152. event: EventApi;
  153. jsEvent: MouseEvent;
  154. view: ViewApi;
  155. }
  156. type EventResizeStartArg = EventResizeStartStopArg;
  157. type EventResizeStopArg = EventResizeStartStopArg;
  158. interface EventResizeStartStopArg {
  159. el: HTMLElement;
  160. event: EventApi;
  161. jsEvent: MouseEvent;
  162. view: ViewApi;
  163. }
  164. interface EventResizeDoneArg extends EventChangeArg {
  165. el: HTMLElement;
  166. startDelta: Duration;
  167. endDelta: Duration;
  168. jsEvent: MouseEvent;
  169. view: ViewApi;
  170. }
  171. interface DropArg extends DatePointApi {
  172. draggedEl: HTMLElement;
  173. jsEvent: MouseEvent;
  174. view: ViewApi;
  175. }
  176. type EventReceiveArg = EventReceiveLeaveArg;
  177. type EventLeaveArg = EventReceiveLeaveArg;
  178. interface EventReceiveLeaveArg {
  179. draggedEl: HTMLElement;
  180. event: EventApi;
  181. relatedEvents: EventApi[];
  182. revert: () => void;
  183. view: ViewApi;
  184. }
  185. declare const OPTION_REFINERS: {
  186. fixedMirrorParent: Identity<HTMLElement>;
  187. };
  188. declare const LISTENER_REFINERS: {
  189. dateClick: Identity<(arg: DateClickArg) => void>;
  190. eventDragStart: Identity<(arg: EventDragStartArg) => void>;
  191. eventDragStop: Identity<(arg: EventDragStopArg) => void>;
  192. eventDrop: Identity<(arg: EventDropArg) => void>;
  193. eventResizeStart: Identity<(arg: EventResizeStartArg) => void>;
  194. eventResizeStop: Identity<(arg: EventResizeStopArg) => void>;
  195. eventResize: Identity<(arg: EventResizeDoneArg) => void>;
  196. drop: Identity<(arg: DropArg) => void>;
  197. eventReceive: Identity<(arg: EventReceiveArg) => void>;
  198. eventLeave: Identity<(arg: EventLeaveArg) => void>;
  199. };
  200. type ExtraOptionRefiners = typeof OPTION_REFINERS;
  201. type ExtraListenerRefiners = typeof LISTENER_REFINERS;
  202. declare module '@fullcalendar/core/internal' {
  203. interface BaseOptionRefiners extends ExtraOptionRefiners {
  204. }
  205. interface CalendarListenerRefiners extends ExtraListenerRefiners {
  206. }
  207. }
  208. //# sourceMappingURL=ambient.d.ts.map
  209. type DragMetaGenerator = DragMetaInput | ((el: HTMLElement) => DragMetaInput);
  210. interface ExternalDraggableSettings {
  211. eventData?: DragMetaGenerator;
  212. itemSelector?: string;
  213. minDistance?: number;
  214. longPressDelay?: number;
  215. appendTo?: HTMLElement;
  216. }
  217. declare class ExternalDraggable {
  218. dragging: FeaturefulElementDragging;
  219. settings: ExternalDraggableSettings;
  220. constructor(el: HTMLElement, settings?: ExternalDraggableSettings);
  221. handlePointerDown: (ev: PointerDragEvent) => void;
  222. handleDragStart: (ev: PointerDragEvent) => void;
  223. destroy(): void;
  224. }
  225. declare class InferredElementDragging extends ElementDragging {
  226. pointer: PointerDragging;
  227. shouldIgnoreMove: boolean;
  228. mirrorSelector: string;
  229. currentMirrorEl: HTMLElement | null;
  230. constructor(containerEl: HTMLElement);
  231. destroy(): void;
  232. handlePointerDown: (ev: PointerDragEvent) => void;
  233. handlePointerMove: (ev: PointerDragEvent) => void;
  234. handlePointerUp: (ev: PointerDragEvent) => void;
  235. setIgnoreMove(bool: boolean): void;
  236. setMirrorIsVisible(bool: boolean): void;
  237. }
  238. interface ThirdPartyDraggableSettings {
  239. eventData?: DragMetaGenerator;
  240. itemSelector?: string;
  241. mirrorSelector?: string;
  242. }
  243. declare class ThirdPartyDraggable {
  244. dragging: InferredElementDragging;
  245. constructor(containerOrSettings?: EventTarget | ThirdPartyDraggableSettings, settings?: ThirdPartyDraggableSettings);
  246. destroy(): void;
  247. }
  248. declare const _default: PluginDef;
  249. //# sourceMappingURL=index.d.ts.map
  250. export { DateClickArg, ExternalDraggable as Draggable, DropArg, EventDragStartArg, EventDragStopArg, EventLeaveArg, EventReceiveArg, EventResizeDoneArg, EventResizeStartArg, EventResizeStopArg, ThirdPartyDraggable, _default as default };