Prefetch JS 
The family of prefetch components can be used to improve performance when navigating in a page by prefetching content for the target links.
Table of content 
Usage 
Import one of the available prefetch component in you app and use them in your HTML to enable a performance boost while navigating between pages.
js
import { Base, createApp } from '@studiometa/js-toolkit';
import { PrefetchWhenOver, PrefetchWhenVisible } from '@studiometa/ui';
class App extends Base {
  static config = {
    name: 'App',
    components: {
      PrefetchWhenOver,
      PrefetchWhenVisible,
    },
  };
}
export default createApp(App);html
<!-- Will be prefetched on mouseenter -->
<a href="/path" data-component="PrefetchWhenOver">...</a>
<!-- Will be prefetched when visible in the viewport -->
<a href="/path" data-component="PrefetchWhenVisible">...</a>Create your own prefetch strategy 
If you need a custom strategy to prefetch a given link, you can extend the AbstractPrefetch class exported by the package and call its prefetch() method when needed.
js
import { AbstractPrefetch } from '@studiometa/ui';
export default class PrefetchOnPointerdown extends AbstractPrefetch {
  static config = {
    name: 'AbstractPrefetch',
  };
  onPointerdown() {
    this.prefetch();
  }
}