vevet 2.8.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/build/cdn/index.js +1 -1
  2. package/build/cjs/app/events/Viewport.js +19 -0
  3. package/build/cjs/base/Callbacks.js +1 -1
  4. package/build/cjs/components/page/Page.js +32 -0
  5. package/build/cjs/utils/common/id.js +12 -0
  6. package/build/cjs/utils/common/index.js +3 -3
  7. package/build/cjs/utils/common/orderId.js +12 -0
  8. package/build/cjs/utils/common/randID.js +1 -1
  9. package/build/cjs/utils/listeners/onScroll.js +2 -2
  10. package/build/es/app/events/Viewport.js +11 -0
  11. package/build/es/base/Callbacks.js +2 -2
  12. package/build/es/components/page/Page.js +27 -0
  13. package/build/es/utils/common/id.js +8 -0
  14. package/build/es/utils/common/index.js +2 -2
  15. package/build/es/utils/common/orderId.js +8 -0
  16. package/build/es/utils/common/randID.js +1 -1
  17. package/build/es/utils/listeners/onScroll.js +3 -3
  18. package/build/types/app/events/Viewport.d.ts +9 -0
  19. package/build/types/app/events/Viewport.d.ts.map +1 -1
  20. package/build/types/components/page/Page.d.ts +11 -0
  21. package/build/types/components/page/Page.d.ts.map +1 -1
  22. package/build/types/utils/common/id.d.ts +5 -0
  23. package/build/types/utils/common/id.d.ts.map +1 -0
  24. package/build/types/utils/common/index.d.ts +2 -2
  25. package/build/types/utils/common/index.d.ts.map +1 -1
  26. package/build/types/utils/common/orderId.d.ts +5 -0
  27. package/build/types/utils/common/orderId.d.ts.map +1 -0
  28. package/package.json +5 -4
  29. package/src/ts/app/events/Viewport.ts +16 -0
  30. package/src/ts/base/Callbacks.ts +2 -2
  31. package/src/ts/components/page/Page.ts +34 -0
  32. package/src/ts/utils/common/id.ts +11 -0
  33. package/src/ts/utils/common/index.ts +2 -2
  34. package/src/ts/utils/listeners/onScroll.ts +3 -3
  35. package/src/ts/utils/common/randID.ts +0 -9
@@ -45,6 +45,7 @@ var Viewport = /** @class */ (function (_super) {
45
45
  var _this = _super.call(this, false) || this;
46
46
  _this._width = 0;
47
47
  _this._height = 0;
48
+ _this._radius = 0;
48
49
  _this._prevSize = { w: 0, h: 0 };
49
50
  _this._isDesktop = false;
50
51
  _this._isTablet = false;
@@ -66,6 +67,13 @@ var Viewport = /** @class */ (function (_super) {
66
67
  enumerable: false,
67
68
  configurable: true
68
69
  });
70
+ Object.defineProperty(Viewport.prototype, "radius", {
71
+ get: function () {
72
+ return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / 2;
73
+ },
74
+ enumerable: false,
75
+ configurable: true
76
+ });
69
77
  Object.defineProperty(Viewport.prototype, "vw", {
70
78
  /**
71
79
  * Get VW value
@@ -86,6 +94,16 @@ var Viewport = /** @class */ (function (_super) {
86
94
  enumerable: false,
87
95
  configurable: true
88
96
  });
97
+ Object.defineProperty(Viewport.prototype, "vr", {
98
+ /**
99
+ * Get VR value (viewport radius / 100)
100
+ */
101
+ get: function () {
102
+ return this.radius / 100;
103
+ },
104
+ enumerable: false,
105
+ configurable: true
106
+ });
89
107
  Object.defineProperty(Viewport.prototype, "prevSize", {
90
108
  /**
91
109
  * Get previous Viewport size
@@ -259,6 +277,7 @@ var Viewport = /** @class */ (function (_super) {
259
277
  var html = this._app.html;
260
278
  html.style.setProperty('--vw', "".concat(this.vw, "px"));
261
279
  html.style.setProperty('--vh', "".concat(this.vh, "px"));
280
+ html.style.setProperty('--vr', "".concat(this.vr, "px"));
262
281
  };
263
282
  /**
264
283
  * Launch callbacks on resize.
@@ -72,7 +72,7 @@ var Callbacks = /** @class */ (function () {
72
72
  */
73
73
  Callbacks.prototype.add = function (target, func, data) {
74
74
  if (data === void 0) { data = {}; }
75
- var id = (0, common_1.randID)('callback');
75
+ var id = (0, common_1.id)('callback');
76
76
  var obj = {
77
77
  id: id,
78
78
  on: true,
@@ -47,6 +47,7 @@ var Page = /** @class */ (function (_super) {
47
47
  // set default vars
48
48
  _this._blocked = false;
49
49
  _this._created = false;
50
+ _this._beforeShown = false;
50
51
  _this._shown = false;
51
52
  _this._hidden = false;
52
53
  _this._destroyed = false;
@@ -71,6 +72,13 @@ var Page = /** @class */ (function (_super) {
71
72
  enumerable: false,
72
73
  configurable: true
73
74
  });
75
+ Object.defineProperty(Page.prototype, "beforeShown", {
76
+ get: function () {
77
+ return this._beforeShown;
78
+ },
79
+ enumerable: false,
80
+ configurable: true
81
+ });
74
82
  Object.defineProperty(Page.prototype, "shown", {
75
83
  get: function () {
76
84
  return this._shown;
@@ -117,6 +125,7 @@ var Page = /** @class */ (function (_super) {
117
125
  }
118
126
  // update vars
119
127
  _this._blocked = true;
128
+ _this._beforeShown = false;
120
129
  _this._shown = false;
121
130
  _this._hidden = false;
122
131
  _this._destroyed = false;
@@ -177,6 +186,8 @@ var Page = /** @class */ (function (_super) {
177
186
  _this._hidden = false;
178
187
  _this._destroyed = false;
179
188
  // actions
189
+ _this.callbacks.tbt('beforeshow', false);
190
+ _this._beforeShown = true;
180
191
  _this._show().then(function () {
181
192
  _this.callbacks.tbt('show', false);
182
193
  _this._blocked = false;
@@ -226,6 +237,7 @@ var Page = /** @class */ (function (_super) {
226
237
  // update vars
227
238
  _this._blocked = true;
228
239
  _this._created = true;
240
+ _this._beforeShown = false;
229
241
  _this._shown = false;
230
242
  _this._destroyed = false;
231
243
  // actions
@@ -277,6 +289,7 @@ var Page = /** @class */ (function (_super) {
277
289
  // change vars
278
290
  _this._blocked = true;
279
291
  _this._created = false;
292
+ _this._beforeShown = false;
280
293
  _this._shown = false;
281
294
  _this._hidden = true;
282
295
  // update page
@@ -357,6 +370,25 @@ var Page = /** @class */ (function (_super) {
357
370
  }
358
371
  });
359
372
  };
373
+ /**
374
+ * Add a 'show' callback.
375
+ * If the callback was added after the page was shown, it will be triggered immediately.
376
+ */
377
+ Page.prototype.onBeforeShow = function () {
378
+ var _this = this;
379
+ return new p_cancelable_1.default(function (resolve) {
380
+ if (_this.shown || _this.beforeShown) {
381
+ resolve();
382
+ }
383
+ else {
384
+ _this.addCallback('beforeshow', function () {
385
+ resolve();
386
+ }, {
387
+ once: true,
388
+ });
389
+ }
390
+ });
391
+ };
360
392
  /**
361
393
  * Add a 'hide' callback.
362
394
  * If the callback was added after the page was hidden, it will be triggered immediately.
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index = 0;
4
+ /**
5
+ * Generate an ID
6
+ */
7
+ function id(prefix) {
8
+ if (prefix === void 0) { prefix = 'id'; }
9
+ index += 1;
10
+ return "".concat(prefix, "_").concat(index);
11
+ }
12
+ exports.default = id;
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.timeoutCallback = exports.mergeWithoutArrays = exports.randID = void 0;
7
- var randID_1 = __importDefault(require("./randID"));
8
- exports.randID = randID_1.default;
6
+ exports.timeoutCallback = exports.mergeWithoutArrays = exports.id = void 0;
7
+ var id_1 = __importDefault(require("./id"));
8
+ exports.id = id_1.default;
9
9
  var mergeWithoutArrays_1 = __importDefault(require("./mergeWithoutArrays"));
10
10
  exports.mergeWithoutArrays = mergeWithoutArrays_1.default;
11
11
  var timeoutCallback_1 = __importDefault(require("./timeoutCallback"));
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index = 0;
4
+ /**
5
+ * Generate a random ID
6
+ */
7
+ function orderId(prefix) {
8
+ if (prefix === void 0) { prefix = 'id'; }
9
+ index += 1;
10
+ return "".concat(prefix, "_").concat(index);
11
+ }
12
+ exports.default = orderId;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  */
6
6
  function randID(prefix) {
7
7
  if (prefix === void 0) { prefix = 'id'; }
8
- var id = "".concat(+new Date(), "_").concat(Math.round(Math.random() * 1000));
8
+ var id = "".concat(+new Date(), "_").concat(Math.round(Math.random() * 1));
9
9
  return "".concat(prefix, "_").concat(id);
10
10
  }
11
11
  exports.default = randID;
@@ -11,7 +11,7 @@ function onScroll(_a) {
11
11
  var container = _a.container, callback = _a.callback, _b = _a.isPassive, isPassive = _b === void 0 ? false : _b;
12
12
  // check if listeners for this element already exist
13
13
  var instance = instances.find(function (data) { return (data.container === container && data.isPassive === isPassive); });
14
- var callbackId = (0, common_1.randID)('scroll-event');
14
+ var callbackId = (0, common_1.id)('scroll-event');
15
15
  // if a listener exists, we just add a new callback to its stack
16
16
  if (instance) {
17
17
  instance.callbacks.push({
@@ -22,7 +22,7 @@ function onScroll(_a) {
22
22
  else {
23
23
  // otherwise we create a new instance
24
24
  instance = {
25
- id: (0, common_1.randID)('scroll-event-instance'),
25
+ id: (0, common_1.id)('scroll-event-instance'),
26
26
  container: container,
27
27
  callbacks: [{
28
28
  id: callbackId,
@@ -26,6 +26,7 @@ export class Viewport extends Callbacks {
26
26
  super(false);
27
27
  this._width = 0;
28
28
  this._height = 0;
29
+ this._radius = 0;
29
30
  this._prevSize = { w: 0, h: 0 };
30
31
  this._isDesktop = false;
31
32
  this._isTablet = false;
@@ -38,6 +39,9 @@ export class Viewport extends Callbacks {
38
39
  get height() {
39
40
  return this._height;
40
41
  }
42
+ get radius() {
43
+ return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / 2;
44
+ }
41
45
  /**
42
46
  * Get VW value
43
47
  */
@@ -50,6 +54,12 @@ export class Viewport extends Callbacks {
50
54
  get vh() {
51
55
  return this.height / 100;
52
56
  }
57
+ /**
58
+ * Get VR value (viewport radius / 100)
59
+ */
60
+ get vr() {
61
+ return this.radius / 100;
62
+ }
53
63
  /**
54
64
  * Get previous Viewport size
55
65
  */
@@ -190,6 +200,7 @@ export class Viewport extends Callbacks {
190
200
  const { html } = this._app;
191
201
  html.style.setProperty('--vw', `${this.vw}px`);
192
202
  html.style.setProperty('--vh', `${this.vh}px`);
203
+ html.style.setProperty('--vr', `${this.vr}px`);
193
204
  }
194
205
  /**
195
206
  * Launch callbacks on resize.
@@ -1,4 +1,4 @@
1
- import { timeoutCallback, randID } from '../utils/common';
1
+ import { timeoutCallback, id as orderId } from '../utils/common';
2
2
  /**
3
3
  * A class for callbacks' manipulation.
4
4
  */
@@ -52,7 +52,7 @@ export class Callbacks {
52
52
  * });
53
53
  */
54
54
  add(target, func, data = {}) {
55
- const id = randID('callback');
55
+ const id = orderId('callback');
56
56
  const obj = {
57
57
  id,
58
58
  on: true,
@@ -13,6 +13,7 @@ export class Page extends Component {
13
13
  // set default vars
14
14
  this._blocked = false;
15
15
  this._created = false;
16
+ this._beforeShown = false;
16
17
  this._shown = false;
17
18
  this._hidden = false;
18
19
  this._destroyed = false;
@@ -28,6 +29,9 @@ export class Page extends Component {
28
29
  get created() {
29
30
  return this._created;
30
31
  }
32
+ get beforeShown() {
33
+ return this._beforeShown;
34
+ }
31
35
  get shown() {
32
36
  return this._shown;
33
37
  }
@@ -56,6 +60,7 @@ export class Page extends Component {
56
60
  }
57
61
  // update vars
58
62
  this._blocked = true;
63
+ this._beforeShown = false;
59
64
  this._shown = false;
60
65
  this._hidden = false;
61
66
  this._destroyed = false;
@@ -114,6 +119,8 @@ export class Page extends Component {
114
119
  this._hidden = false;
115
120
  this._destroyed = false;
116
121
  // actions
122
+ this.callbacks.tbt('beforeshow', false);
123
+ this._beforeShown = true;
117
124
  this._show().then(() => {
118
125
  this.callbacks.tbt('show', false);
119
126
  this._blocked = false;
@@ -161,6 +168,7 @@ export class Page extends Component {
161
168
  // update vars
162
169
  this._blocked = true;
163
170
  this._created = true;
171
+ this._beforeShown = false;
164
172
  this._shown = false;
165
173
  this._destroyed = false;
166
174
  // actions
@@ -210,6 +218,7 @@ export class Page extends Component {
210
218
  // change vars
211
219
  this._blocked = true;
212
220
  this._created = false;
221
+ this._beforeShown = false;
213
222
  this._shown = false;
214
223
  this._hidden = true;
215
224
  // update page
@@ -286,6 +295,24 @@ export class Page extends Component {
286
295
  }
287
296
  });
288
297
  }
298
+ /**
299
+ * Add a 'show' callback.
300
+ * If the callback was added after the page was shown, it will be triggered immediately.
301
+ */
302
+ onBeforeShow() {
303
+ return new PCancelable((resolve) => {
304
+ if (this.shown || this.beforeShown) {
305
+ resolve();
306
+ }
307
+ else {
308
+ this.addCallback('beforeshow', () => {
309
+ resolve();
310
+ }, {
311
+ once: true,
312
+ });
313
+ }
314
+ });
315
+ }
289
316
  /**
290
317
  * Add a 'hide' callback.
291
318
  * If the callback was added after the page was hidden, it will be triggered immediately.
@@ -0,0 +1,8 @@
1
+ let index = 0;
2
+ /**
3
+ * Generate an ID
4
+ */
5
+ export default function id(prefix = 'id') {
6
+ index += 1;
7
+ return `${prefix}_${index}`;
8
+ }
@@ -1,4 +1,4 @@
1
- import randID from './randID';
1
+ import id from './id';
2
2
  import mergeWithoutArrays from './mergeWithoutArrays';
3
3
  import timeoutCallback from './timeoutCallback';
4
- export { randID, mergeWithoutArrays, timeoutCallback, };
4
+ export { id, mergeWithoutArrays, timeoutCallback, };
@@ -0,0 +1,8 @@
1
+ let index = 0;
2
+ /**
3
+ * Generate a random ID
4
+ */
5
+ export default function orderId(prefix = 'id') {
6
+ index += 1;
7
+ return `${prefix}_${index}`;
8
+ }
@@ -2,6 +2,6 @@
2
2
  * Generate a random ID
3
3
  */
4
4
  export default function randID(prefix = 'id') {
5
- const id = `${+new Date()}_${Math.round(Math.random() * 1000)}`;
5
+ const id = `${+new Date()}_${Math.round(Math.random() * 1)}`;
6
6
  return `${prefix}_${id}`;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { addEventListener, selectOne } from 'vevet-dom';
2
2
  import { SmoothScroll } from '../../components/scroll/smooth-scroll/SmoothScroll';
3
- import { randID } from '../common';
3
+ import { id as orderId } from '../common';
4
4
  let instances = [];
5
5
  /**
6
6
  * Add OnScroll event
@@ -8,7 +8,7 @@ let instances = [];
8
8
  export default function onScroll({ container, callback, isPassive = false, }) {
9
9
  // check if listeners for this element already exist
10
10
  let instance = instances.find((data) => (data.container === container && data.isPassive === isPassive));
11
- const callbackId = randID('scroll-event');
11
+ const callbackId = orderId('scroll-event');
12
12
  // if a listener exists, we just add a new callback to its stack
13
13
  if (instance) {
14
14
  instance.callbacks.push({
@@ -19,7 +19,7 @@ export default function onScroll({ container, callback, isPassive = false, }) {
19
19
  else {
20
20
  // otherwise we create a new instance
21
21
  instance = {
22
- id: randID('scroll-event-instance'),
22
+ id: orderId('scroll-event-instance'),
23
23
  container,
24
24
  callbacks: [{
25
25
  id: callbackId,
@@ -58,6 +58,11 @@ export declare class Viewport extends Callbacks<NViewport.CallbacksTypes> {
58
58
  */
59
59
  protected _height: number;
60
60
  get height(): number;
61
+ /**
62
+ * Current Viewport radius
63
+ */
64
+ protected _radius: number;
65
+ get radius(): number;
61
66
  /**
62
67
  * Get VW value
63
68
  */
@@ -66,6 +71,10 @@ export declare class Viewport extends Callbacks<NViewport.CallbacksTypes> {
66
71
  * Get VH value
67
72
  */
68
73
  get vh(): number;
74
+ /**
75
+ * Get VR value (viewport radius / 100)
76
+ */
77
+ get vr(): number;
69
78
  /**
70
79
  * Previous Viewport size
71
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../src/ts/app/events/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,yBAAiB,SAAS,CAAC;IAEvB;;OAEG;IACH,UAAiB,OAAO;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;KAC/B;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D;;WAEG;QACH,GAAG,EAAE,OAAO,CAAC;QACb;;WAEG;QACH,GAAG,EAAE,OAAO,CAAC;QACb;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,IAAI,EAAE,OAAO,CAAA;QACb;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,EAAE,EAAE,OAAO,CAAC;KACf;CAEJ;AAqBD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS,CACnC,SAAS,CAAC,cAAc,CAC3B;IACG;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,IAAI,KAAK,WAER;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,IAAI,MAAM,WAET;IAED;;OAEG;IACH,IAAI,EAAE,WAEL;IACD;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE;QACjB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IAEF;;OAEG;IACH,IAAI,QAAQ;;;MAEX;IAED;;OAEG;IACH,IAAI,WAAW,YAEd;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,IAAI,SAAS,YAEZ;IAED;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,GAAG,WAKN;IAED;;OAEG;IACH,IAAI,eAAe,WAKlB;IAED,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;;IAgB9D,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,UAAU;IAapB;;OAEG;IACH,SAAS,CAAC,UAAU;IA0BpB;;OAEG;IACH,SAAS,CAAC,cAAc;IA4CxB;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE;IAenB;;OAEG;IACH,SAAS,CAAC,cAAc;IAQxB;;OAEG;IACH,SAAS,CAAC,SAAS;IACf;;OAEG;IACH,KAAK,UAAQ;IA6CjB;;OAEG;IACI,WAAW;CAGrB"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../src/ts/app/events/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,yBAAiB,SAAS,CAAC;IAEvB;;OAEG;IACH,UAAiB,OAAO;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;KAC/B;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D;;WAEG;QACH,GAAG,EAAE,OAAO,CAAC;QACb;;WAEG;QACH,GAAG,EAAE,OAAO,CAAC;QACb;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,IAAI,EAAE,OAAO,CAAA;QACb;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,IAAI,EAAE,OAAO,CAAC;QACd;;WAEG;QACH,EAAE,EAAE,OAAO,CAAC;KACf;CAEJ;AAqBD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAS,CACnC,SAAS,CAAC,cAAc,CAC3B;IACG;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,IAAI,KAAK,WAER;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,IAAI,MAAM,WAET;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,IAAI,MAAM,WAET;IAED;;OAEG;IACH,IAAI,EAAE,WAEL;IACD;;OAEG;IACH,IAAI,EAAE,WAEL;IACD;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE;QACjB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IAEF;;OAEG;IACH,IAAI,QAAQ;;;MAEX;IAED;;OAEG;IACH,IAAI,WAAW,YAEd;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,IAAI,SAAS,YAEZ;IAED;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,GAAG,WAKN;IAED;;OAEG;IACH,IAAI,eAAe,WAKlB;IAED,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;;IAiB9D,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,UAAU;IAapB;;OAEG;IACH,SAAS,CAAC,UAAU;IA0BpB;;OAEG;IACH,SAAS,CAAC,cAAc;IA4CxB;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE;IAenB;;OAEG;IACH,SAAS,CAAC,cAAc;IASxB;;OAEG;IACH,SAAS,CAAC,SAAS;IACf;;OAEG;IACH,KAAK,UAAQ;IA6CjB;;OAEG;IACI,WAAW;CAGrB"}
@@ -22,6 +22,7 @@ export declare namespace NPage {
22
22
  */
23
23
  interface CallbacksTypes extends NComponent.CallbacksTypes {
24
24
  'create': false;
25
+ 'beforeshow': false;
25
26
  'show': false;
26
27
  'hide': false;
27
28
  'destroy': false;
@@ -42,6 +43,11 @@ export declare class Page<StaticProp extends NPage.StaticProp = NPage.StaticProp
42
43
  */
43
44
  protected _created: boolean;
44
45
  get created(): boolean;
46
+ /**
47
+ * If 'beforeshow' callback is called
48
+ */
49
+ protected _beforeShown: boolean;
50
+ get beforeShown(): boolean;
45
51
  /**
46
52
  * If the page is shown
47
53
  */
@@ -119,6 +125,11 @@ export declare class Page<StaticProp extends NPage.StaticProp = NPage.StaticProp
119
125
  * If the callback was added after the page was shown, it will be triggered immediately.
120
126
  */
121
127
  onShow(): PCancelable<void>;
128
+ /**
129
+ * Add a 'show' callback.
130
+ * If the callback was added after the page was shown, it will be triggered immediately.
131
+ */
132
+ onBeforeShow(): PCancelable<void>;
122
133
  /**
123
134
  * Add a 'hide' callback.
124
135
  * If the callback was added after the page was hidden, it will be triggered immediately.
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/ts/components/page/Page.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,yBAAiB,KAAK,CAAC;IAEnB;;OAEG;IACH,UAAiB,UAAW,SAAQ,UAAU,CAAC,UAAU;QACrD;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;KAAI;IAErE;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D,QAAQ,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;QACd,SAAS,EAAE,KAAK,CAAC;KACpB;CAEJ;AAID;;;;;;GAMG;AACH,qBAAa,IAAI,CACb,UAAU,SAAS,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,EACtD,cAAc,SAAS,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,EAClE,cAAc,SAAS,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CACpE,SAAQ,SAAS,CACf,UAAU,EACV,cAAc,EACd,cAAc,CACjB;IACG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,KAAK,OAAO,YAEpB;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,IAAI,KAAK,YAER;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,MAAM,YAET;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED,IAAI,aAAa,WAEhB;gBAGG,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,cAAc,CAAC,EAC3C,IAAI,UAAO;IAkBf,SAAS,CAAC,eAAe,CACrB,CAAC,SAAS,kBAAkB,CAAC,UAAU,GAAG,cAAc,CAAC,KACvD,CAAC;IASP;;;OAGG;IACI,MAAM,CACT,OAAO,UAAQ;IAqCnB;;OAEG;IACH,SAAS,CAAC,OAAO;IAQjB;;OAEG;IACI,SAAS;IAchB;;OAEG;IACI,IAAI;IA+BX;;OAEG;IACH,SAAS,CAAC,KAAK;IAQf;;OAEG;IACI,OAAO;IAcd;;OAEG;IACI,IAAI;IA+BX;;OAEG;IACH,SAAS,CAAC,KAAK;IAQf;;OAEG;IACI,OAAO;IAcd;;OAEG;IACI,OAAO;IAmCd;;OAEG;IACH,SAAS,CAAC,QAAQ;IASlB;;OAEG;IACI,UAAU;IAcjB;;;OAGG;IACH,QAAQ;IAgBR;;;OAGG;IACH,MAAM;IAgBN;;;OAGG;IACH,MAAM;CAeT"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/ts/components/page/Page.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,yBAAiB,KAAK,CAAC;IAEnB;;OAEG;IACH,UAAiB,UAAW,SAAQ,UAAU,CAAC,UAAU;QACrD;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;KAAI;IAErE;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D,QAAQ,EAAE,KAAK,CAAC;QAChB,YAAY,EAAE,KAAK,CAAC;QACpB,MAAM,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;QACd,SAAS,EAAE,KAAK,CAAC;KACpB;CAEJ;AAID;;;;;;GAMG;AACH,qBAAa,IAAI,CACb,UAAU,SAAS,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,EACtD,cAAc,SAAS,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,EAClE,cAAc,SAAS,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CACpE,SAAQ,SAAS,CACf,UAAU,EACV,cAAc,EACd,cAAc,CACjB;IACG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,KAAK,OAAO,YAEpB;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAChC,IAAI,WAAW,YAEd;IACD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,IAAI,KAAK,YAER;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,IAAI,MAAM,YAET;IAED;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,IAAI,OAAO,YAEV;IAED,IAAI,aAAa,WAEhB;gBAGG,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,cAAc,CAAC,EAC3C,IAAI,UAAO;IAmBf,SAAS,CAAC,eAAe,CACrB,CAAC,SAAS,kBAAkB,CAAC,UAAU,GAAG,cAAc,CAAC,KACvD,CAAC;IASP;;;OAGG;IACI,MAAM,CACT,OAAO,UAAQ;IAsCnB;;OAEG;IACH,SAAS,CAAC,OAAO;IAQjB;;OAEG;IACI,SAAS;IAchB;;OAEG;IACI,IAAI;IAiCX;;OAEG;IACH,SAAS,CAAC,KAAK;IAQf;;OAEG;IACI,OAAO;IAcd;;OAEG;IACI,IAAI;IAgCX;;OAEG;IACH,SAAS,CAAC,KAAK;IAQf;;OAEG;IACI,OAAO;IAcd;;OAEG;IACI,OAAO;IAoCd;;OAEG;IACH,SAAS,CAAC,QAAQ;IASlB;;OAEG;IACI,UAAU;IAcjB;;;OAGG;IACH,QAAQ;IAgBR;;;OAGG;IACH,MAAM;IAgBN;;;OAGG;IACH,YAAY;IAgBZ;;;OAGG;IACH,MAAM;CAeT"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generate an ID
3
+ */
4
+ export default function id(prefix?: string): string;
5
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../../src/ts/utils/common/id.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,EAAE,CACtB,MAAM,SAAO,UAIhB"}
@@ -1,5 +1,5 @@
1
- import randID from './randID';
1
+ import id from './id';
2
2
  import mergeWithoutArrays from './mergeWithoutArrays';
3
3
  import timeoutCallback from './timeoutCallback';
4
- export { randID, mergeWithoutArrays, timeoutCallback, };
4
+ export { id, mergeWithoutArrays, timeoutCallback, };
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/utils/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACH,MAAM,EACN,kBAAkB,EAClB,eAAe,GAClB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/utils/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACH,EAAE,EACF,kBAAkB,EAClB,eAAe,GAClB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generate a random ID
3
+ */
4
+ export default function orderId(prefix?: string): string;
5
+ //# sourceMappingURL=orderId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderId.d.ts","sourceRoot":"","sources":["../../../../src/ts/utils/common/orderId.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC3B,MAAM,SAAO,UAIhB"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "vevet",
3
- "version": "2.8.0",
3
+ "version": "2.11.0",
4
4
  "description": "VEVET - A JavaScript library",
5
5
  "browserslist": [
6
6
  "since 2015"
7
7
  ],
8
8
  "scripts": {
9
- "pages-build": "node ./examples-src/compiler/index.js && webpack --config ./examples-src/webpack/prod.js",
9
+ "pages-build": "node ./examples-src/compiler/index.js && NODE_ENV=production webpack --config ./examples-src/webpack/prod.js",
10
10
  "pages-dev": "npm-run-all --parallel pages-dev:pug pages-dev:webpack",
11
11
  "pages-dev:pug": "nodemon --watch ./examples-src/pages --watch ./examples-src/compiler --ext pug,json,ts,js,html,css ./examples-src/compiler/index.js",
12
- "pages-dev:webpack": "webpack serve --config ./examples-src/webpack/dev.js",
12
+ "pages-dev:webpack": "NODE_ENV=development webpack serve --config ./examples-src/webpack/dev.js",
13
13
  "prepare:all": "npm run prepare:es && npm run prepare:cjs && npm run prepare:cdn",
14
14
  "prepare:es": "tsc ./src/ts/index.ts --outDir ./build/es --target es6 --module es6 --moduleResolution node --esModuleInterop true --allowSyntheticDefaultImports true --declaration true --declarationDir ./build/types --declarationMap true",
15
15
  "prepare:cjs": "tsc ./src/ts/index.ts --outDir ./build/cjs --target es5 --module commonjs --moduleResolution node --esModuleInterop true --allowSyntheticDefaultImports true",
@@ -73,7 +73,8 @@
73
73
  "@typescript-eslint/eslint-plugin": "^4.28.1",
74
74
  "@typescript-eslint/parser": "^4.28.1",
75
75
  "babel-loader": "^8.2.2",
76
- "bootstrap": "^5.0.2",
76
+ "base-href-webpack-plugin": "^3.0.1",
77
+ "bootstrap": "^5.1.3",
77
78
  "clean-webpack-plugin": "^4.0.0-alpha.0",
78
79
  "copy-webpack-plugin": "^9.0.1",
79
80
  "css-loader": "^6.2.0",
@@ -92,6 +92,14 @@ export class Viewport extends Callbacks<
92
92
  return this._height;
93
93
  }
94
94
 
95
+ /**
96
+ * Current Viewport radius
97
+ */
98
+ protected _radius: number;
99
+ get radius () {
100
+ return Math.sqrt(this.width ** 2 + this.height ** 2) / 2;
101
+ }
102
+
95
103
  /**
96
104
  * Get VW value
97
105
  */
@@ -104,6 +112,12 @@ export class Viewport extends Callbacks<
104
112
  get vh () {
105
113
  return this.height / 100;
106
114
  }
115
+ /**
116
+ * Get VR value (viewport radius / 100)
117
+ */
118
+ get vr () {
119
+ return this.radius / 100;
120
+ }
107
121
 
108
122
  /**
109
123
  * Previous Viewport size
@@ -186,6 +200,7 @@ export class Viewport extends Callbacks<
186
200
  super(false);
187
201
  this._width = 0;
188
202
  this._height = 0;
203
+ this._radius = 0;
189
204
  this._prevSize = { w: 0, h: 0 };
190
205
  this._isDesktop = false;
191
206
  this._isTablet = false;
@@ -316,6 +331,7 @@ export class Viewport extends Callbacks<
316
331
  const { html } = this._app;
317
332
  html.style.setProperty('--vw', `${this.vw}px`);
318
333
  html.style.setProperty('--vh', `${this.vh}px`);
334
+ html.style.setProperty('--vr', `${this.vr}px`);
319
335
  }
320
336
 
321
337
 
@@ -1,5 +1,5 @@
1
1
  import { Application } from '../app/Application';
2
- import { timeoutCallback, randID } from '../utils/common';
2
+ import { timeoutCallback, id as orderId } from '../utils/common';
3
3
 
4
4
 
5
5
 
@@ -174,7 +174,7 @@ export class Callbacks<
174
174
  func: NCallbacks.CallbackSettings<Types, Target>['do'],
175
175
  data: NCallbacks.CallbackBaseSettings = {},
176
176
  ): NCallbacks.AddedCallback {
177
- const id = randID('callback');
177
+ const id = orderId('callback');
178
178
  const obj: NCallbacks.CallbacksData<Types> = {
179
179
  id,
180
180
  on: true,