1.0.8-alpha.0 ā€¢ Published 2 years ago

@endgame/eva v1.0.8-alpha.0

Weekly downloads
49
License
MIT
Repository
github
Last release
2 years ago

EVA

EVA: Easy Viewport Access

Installation

yarn add @endgame/eva
# or
npm i -S @endgame/eva

The initialization

Vanilla js users

// Import the constructor
import { Eva } from '@endgame/eva';

// Ask EVA to help you šŸ‘Œ
const eva = new Eva();

/**
 * EVA will be at your disposal everywhere at:
 * šŸ‘‰ window.$endgame.eva
 */
window.$endgame = {
  eva,
};

Framework usage (example: Nuxt)

// Import the constructor
import { Eva } from '@endgame/eva';

/**
 * If you're using Nuxt I recommend you
 * to do that in a plugin šŸš€
 */
... global-plugin.client.js
const initializeEndgame = (_context, inject) => {
  inject('endgame', {
    eva: new Eva(),
  });
};
...

... YourComponent.vue
mounted() {
  /**
   * EVA will be at your disposal at:
   * šŸ‘‰ this.$endgame.eva
   */
}
...

The methods

The initialize method

With this method you'll:

šŸ‘‰ Initialize the window's resize event listener.

šŸ‘‰ Prepare EVA to be able to give you info on the viewport.

šŸ„š Vanilla

window.$endgame.eva.initialize();

šŸ³ Nuxt

... YourComponent.vue

beforeMount() {
  // šŸš€ For Nuxt: preferably in layout/default.vue
  this.$endgame.eva.initialize();
},

...

The destroy method

The destroy method will remove all watchers and the resize event listener. Everything will be ready for garbage collection šŸ‘Œ

šŸ„š Vanilla

window.$endgame.eva.destroy();

šŸ³ Vue.js

... YourComponent.vue

beforeDestroy(){
  this.$endgame.eva.destroy();
},

...

Access and watch viewport data

For purposes of listening to window's width, height changes, breakpoints updates, etc. you only need one method: watch.

/**
 * width, height, outerWidth and outerHeight are built-in watchers.
 * With them you'll be able to listen to the window's resized values.
 */

// šŸ„š Vanilla EVA access
const { eva } = window.$endgame;

// šŸ³ Vue EVA access
// const { eva } = this.$endgame;

// Access the declared window reactive data
// SEE: @endgame/calvin
console.log(eva.viewport.data.width);
console.log(eva.viewport.data.height);
console.log(eva.viewport.data.outerWidth);
console.log(eva.viewport.data.outerHeight);

// Get notified any time the window's data are updated
eva.viewport.watch({
  width: (val) => {
    console.log(`window inner width: ${val}`);
  },
  height: (val) => {
    console.log(`window inner height: ${val}`);
  },
  outerWidth: (val) => {
    console.log(`window outer width: ${val}`);
  },
  outerHeight: (val) => {
    console.log(`window outer height: ${val}`);
  },
});
1.0.8-alpha.0

2 years ago

1.0.7

2 years ago

1.0.7-alpha.6

3 years ago

1.0.7-alpha.4

3 years ago

1.0.7-alpha.5

3 years ago

1.0.7-alpha.3

3 years ago

1.0.6-alpha.17

3 years ago

1.0.6-alpha.18

3 years ago

1.0.6-alpha.19

3 years ago

1.0.7-alpha.1

3 years ago

1.0.7-alpha.2

3 years ago

1.0.6-alpha.15

3 years ago

1.0.6-alpha.16

3 years ago

1.0.6-alpha.13

3 years ago

1.0.6-alpha.14

3 years ago

1.0.6-alpha.11

3 years ago

1.0.6-alpha.12

3 years ago

1.0.6-alpha.7

3 years ago

1.0.6-alpha.6

3 years ago

1.0.6-alpha.9

3 years ago

1.0.6-alpha.8

3 years ago

1.0.6-alpha.10

3 years ago

1.0.6-alpha.5

3 years ago

1.0.6

3 years ago

1.0.6-alpha.3

3 years ago

1.0.6-alpha.4

3 years ago

1.0.4

4 years ago

1.0.5-alpha.0

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.2-alpha.4

4 years ago

1.0.2-alpha.2

4 years ago

1.0.2-alpha.3

4 years ago

1.0.2-alpha.1

4 years ago

1.0.1

4 years ago

1.0.2-alpha.0

4 years ago

1.0.1-alpha.15

4 years ago

1.0.1-alpha.14

4 years ago

1.0.1-alpha.13

4 years ago

1.0.1-alpha.17

4 years ago

1.0.1-alpha.16

4 years ago

1.0.1-alpha.12

4 years ago

1.0.1-alpha.11

4 years ago

1.0.1-alpha.10

4 years ago

1.0.1-alpha.9

4 years ago

1.0.1-alpha.8

4 years ago

1.0.1-alpha.7

4 years ago

1.0.1-alpha.6

4 years ago

1.0.1-alpha.5

4 years ago

1.0.1-alpha.2

4 years ago

1.0.1-alpha.1

4 years ago

1.0.1-alpha.0

4 years ago

1.0.1-alpha.4

4 years ago

1.0.1-alpha.3

4 years ago

1.0.0

4 years ago

0.2.4

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.2-alpha.1

4 years ago

0.2.0

4 years ago

0.2.1-alpha.0

4 years ago

0.1.10-alpha.0

4 years ago

0.1.9-alpha.0

4 years ago

0.1.8

4 years ago

0.1.8-alpha.0

4 years ago

0.1.8-alpha.1

4 years ago

0.1.7

4 years ago

0.1.7-alpha.9

4 years ago

0.1.7-alpha.7

4 years ago

0.1.7-alpha.8

4 years ago

0.1.7-alpha.6

4 years ago

0.1.7-alpha.4

4 years ago

0.1.7-alpha.3

4 years ago