events.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { PaginationData, PaginationItem } from '../components/Pagination/Pagination';
  2. import { SlideComponent } from '../components/Slides/Slide';
  3. import { Splide } from '../core/Splide/Splide';
  4. import { Options } from './options';
  5. /**
  6. * The interface for all internal events.
  7. *
  8. * @since 3.0.0
  9. */
  10. export interface EventMap {
  11. 'mounted': () => void;
  12. 'ready': () => void;
  13. 'click': ( Slide: SlideComponent, e: MouseEvent ) => void;
  14. 'move': ( index: number, prev: number, dest: number ) => void;
  15. 'moved': ( index: number, prev: number, dest: number ) => void;
  16. 'active': ( Slide: SlideComponent ) => void;
  17. 'inactive': ( Slide: SlideComponent ) => void;
  18. 'visible': ( Slide: SlideComponent ) => void;
  19. 'hidden': ( Slide: SlideComponent ) => void;
  20. 'refresh': () => void;
  21. 'updated': ( options: Options ) => void;
  22. 'resize': () => void;
  23. 'resized': () => void;
  24. 'drag': () => void;
  25. 'dragging': () => void;
  26. 'dragged': () => void;
  27. 'scroll': () => void;
  28. 'scrolled': () => void;
  29. 'overflow': ( overflow: boolean ) => void;
  30. 'destroy': () => void;
  31. 'arrows:mounted': ( prev: HTMLButtonElement, next: HTMLButtonElement ) => void;
  32. 'arrows:updated': ( prev: HTMLButtonElement, next: HTMLButtonElement, prevIndex: number, nextIndex: number ) => void;
  33. 'pagination:mounted': ( data: PaginationData, item: PaginationItem ) => void;
  34. 'pagination:updated': ( data: PaginationData, prev: PaginationItem, curr: PaginationItem ) => void;
  35. 'navigation:mounted': ( splides: Splide[] ) => void;
  36. 'autoplay:play': () => void;
  37. 'autoplay:playing': ( rate: number ) => void;
  38. 'autoplay:pause': () => void;
  39. 'lazyload:loaded': ( img: HTMLImageElement, Slide: SlideComponent ) => void;
  40. }