vevet 2.15.1 → 2.16.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.
- package/build/cdn/index.js +1 -1
- package/build/cjs/components/cursor/CustomCursor.js +0 -6
- package/build/cjs/components/page/Page.js +62 -4
- package/build/cjs/version.js +1 -1
- package/build/es/components/cursor/CustomCursor.js +0 -6
- package/build/es/components/page/Page.js +61 -4
- package/build/es/version.js +1 -1
- package/build/types/components/cursor/CustomCursor.d.ts +12 -18
- package/build/types/components/cursor/CustomCursor.d.ts.map +1 -1
- package/build/types/components/page/Page.d.ts +8 -0
- package/build/types/components/page/Page.d.ts.map +1 -1
- package/build/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/ts/components/cursor/CustomCursor.ts +13 -14
- package/src/ts/components/page/Page.ts +61 -5
- package/src/ts/version.ts +1 -1
|
@@ -411,9 +411,6 @@ var CustomCursor = /** @class */ (function (_super) {
|
|
|
411
411
|
*/
|
|
412
412
|
CustomCursor.prototype.enable = function () {
|
|
413
413
|
this._canPlay = true;
|
|
414
|
-
if (this._animationFrame.isPlaying) {
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
414
|
this.outerCursor.classList.remove('disabled');
|
|
418
415
|
this.innerCursor.classList.remove('disabled');
|
|
419
416
|
this._animationFrame.play();
|
|
@@ -423,9 +420,6 @@ var CustomCursor = /** @class */ (function (_super) {
|
|
|
423
420
|
*/
|
|
424
421
|
CustomCursor.prototype.disable = function () {
|
|
425
422
|
this._canPlay = false;
|
|
426
|
-
if (!this._animationFrame.isPlaying) {
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
423
|
this.outerCursor.classList.add('disabled');
|
|
430
424
|
this.innerCursor.classList.add('disabled');
|
|
431
425
|
this._animationFrame.pause();
|
|
@@ -31,7 +31,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.Page = void 0;
|
|
33
33
|
var p_cancelable_1 = __importDefault(require("p-cancelable"));
|
|
34
|
+
var vevet_dom_1 = require("vevet-dom");
|
|
34
35
|
var Component_1 = require("../../base/Component");
|
|
36
|
+
var ProgressPreloader_1 = require("../loading/ProgressPreloader");
|
|
35
37
|
/**
|
|
36
38
|
* Page is a class that may be used to initialize a page.
|
|
37
39
|
* The reason to use this class is that it allows to set a definite name for the page and manipulate
|
|
@@ -108,7 +110,7 @@ var Page = /** @class */ (function (_super) {
|
|
|
108
110
|
configurable: true
|
|
109
111
|
});
|
|
110
112
|
Page.prototype._getDefaultProp = function () {
|
|
111
|
-
return __assign(__assign({}, _super.prototype._getDefaultProp.call(this)), { name: 'home' });
|
|
113
|
+
return __assign(__assign({}, _super.prototype._getDefaultProp.call(this)), { name: 'home', hasInnerPreloader: false });
|
|
112
114
|
};
|
|
113
115
|
/**
|
|
114
116
|
* Create the page.
|
|
@@ -206,8 +208,43 @@ var Page = /** @class */ (function (_super) {
|
|
|
206
208
|
* Use this method to do some actions when showing a page
|
|
207
209
|
*/
|
|
208
210
|
Page.prototype._show = function () {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
var interactivePromise = this._ignorePreventPageShow();
|
|
212
|
+
this.addCallback('destroy', function () {
|
|
213
|
+
interactivePromise.cancel();
|
|
214
|
+
});
|
|
215
|
+
return new Promise(function (resolve, reject) {
|
|
216
|
+
interactivePromise.then(function () {
|
|
217
|
+
resolve();
|
|
218
|
+
}).catch(function () {
|
|
219
|
+
reject();
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Some elements may have the attribute `data-prevent-page-show="true"`
|
|
225
|
+
* This means that the page should not be interactive (and scrollable).
|
|
226
|
+
* Here we search for such elements.
|
|
227
|
+
* When there's no elements with this attribute, the page is interactive.
|
|
228
|
+
*/
|
|
229
|
+
Page.prototype._ignorePreventPageShow = function () {
|
|
230
|
+
var _this = this;
|
|
231
|
+
return new p_cancelable_1.default(function (resolve, reject) {
|
|
232
|
+
if (_this._destroyed) {
|
|
233
|
+
reject();
|
|
234
|
+
}
|
|
235
|
+
var elements = (0, vevet_dom_1.selectAll)('[data-prevent-page-show]');
|
|
236
|
+
if (elements.length === 0) {
|
|
237
|
+
resolve();
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
setTimeout(function () {
|
|
241
|
+
_this._ignorePreventPageShow().then(function () {
|
|
242
|
+
resolve();
|
|
243
|
+
}).catch(function () {
|
|
244
|
+
reject();
|
|
245
|
+
});
|
|
246
|
+
}, 30);
|
|
247
|
+
}
|
|
211
248
|
});
|
|
212
249
|
};
|
|
213
250
|
/**
|
|
@@ -217,7 +254,28 @@ var Page = /** @class */ (function (_super) {
|
|
|
217
254
|
var _this = this;
|
|
218
255
|
return new Promise(function (resolve, reject) {
|
|
219
256
|
if (_this.created && !_this.shown) {
|
|
220
|
-
|
|
257
|
+
// inner preloader
|
|
258
|
+
if (_this.prop.hasInnerPreloader) {
|
|
259
|
+
var preloader = new ProgressPreloader_1.ProgressPreloader({
|
|
260
|
+
parent: _this,
|
|
261
|
+
container: false,
|
|
262
|
+
hide: false,
|
|
263
|
+
loaders: {
|
|
264
|
+
img: false,
|
|
265
|
+
video: false,
|
|
266
|
+
custom: '.js-preload-inner',
|
|
267
|
+
},
|
|
268
|
+
calc: {
|
|
269
|
+
lerp: false,
|
|
270
|
+
},
|
|
271
|
+
});
|
|
272
|
+
preloader.addCallback('loaded', function () {
|
|
273
|
+
resolve();
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
resolve();
|
|
278
|
+
}
|
|
221
279
|
return;
|
|
222
280
|
}
|
|
223
281
|
reject();
|
package/build/cjs/version.js
CHANGED
|
@@ -331,9 +331,6 @@ export class CustomCursor extends Component {
|
|
|
331
331
|
*/
|
|
332
332
|
enable() {
|
|
333
333
|
this._canPlay = true;
|
|
334
|
-
if (this._animationFrame.isPlaying) {
|
|
335
|
-
return;
|
|
336
|
-
}
|
|
337
334
|
this.outerCursor.classList.remove('disabled');
|
|
338
335
|
this.innerCursor.classList.remove('disabled');
|
|
339
336
|
this._animationFrame.play();
|
|
@@ -343,9 +340,6 @@ export class CustomCursor extends Component {
|
|
|
343
340
|
*/
|
|
344
341
|
disable() {
|
|
345
342
|
this._canPlay = false;
|
|
346
|
-
if (!this._animationFrame.isPlaying) {
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
343
|
this.outerCursor.classList.add('disabled');
|
|
350
344
|
this.innerCursor.classList.add('disabled');
|
|
351
345
|
this._animationFrame.pause();
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import PCancelable from 'p-cancelable';
|
|
2
|
+
import { selectAll } from 'vevet-dom';
|
|
2
3
|
import { Component } from '../../base/Component';
|
|
4
|
+
import { ProgressPreloader } from '../loading/ProgressPreloader';
|
|
3
5
|
/**
|
|
4
6
|
* Page is a class that may be used to initialize a page.
|
|
5
7
|
* The reason to use this class is that it allows to set a definite name for the page and manipulate
|
|
@@ -45,7 +47,7 @@ export class Page extends Component {
|
|
|
45
47
|
return `${this._app.prefix}page-${this.prop.name}`;
|
|
46
48
|
}
|
|
47
49
|
_getDefaultProp() {
|
|
48
|
-
return Object.assign(Object.assign({}, super._getDefaultProp()), { name: 'home' });
|
|
50
|
+
return Object.assign(Object.assign({}, super._getDefaultProp()), { name: 'home', hasInnerPreloader: false });
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* Create the page.
|
|
@@ -139,8 +141,42 @@ export class Page extends Component {
|
|
|
139
141
|
* Use this method to do some actions when showing a page
|
|
140
142
|
*/
|
|
141
143
|
_show() {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
const interactivePromise = this._ignorePreventPageShow();
|
|
145
|
+
this.addCallback('destroy', () => {
|
|
146
|
+
interactivePromise.cancel();
|
|
147
|
+
});
|
|
148
|
+
return new Promise((resolve, reject) => {
|
|
149
|
+
interactivePromise.then(() => {
|
|
150
|
+
resolve();
|
|
151
|
+
}).catch(() => {
|
|
152
|
+
reject();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Some elements may have the attribute `data-prevent-page-show="true"`
|
|
158
|
+
* This means that the page should not be interactive (and scrollable).
|
|
159
|
+
* Here we search for such elements.
|
|
160
|
+
* When there's no elements with this attribute, the page is interactive.
|
|
161
|
+
*/
|
|
162
|
+
_ignorePreventPageShow() {
|
|
163
|
+
return new PCancelable((resolve, reject) => {
|
|
164
|
+
if (this._destroyed) {
|
|
165
|
+
reject();
|
|
166
|
+
}
|
|
167
|
+
const elements = selectAll('[data-prevent-page-show]');
|
|
168
|
+
if (elements.length === 0) {
|
|
169
|
+
resolve();
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
setTimeout(() => {
|
|
173
|
+
this._ignorePreventPageShow().then(() => {
|
|
174
|
+
resolve();
|
|
175
|
+
}).catch(() => {
|
|
176
|
+
reject();
|
|
177
|
+
});
|
|
178
|
+
}, 30);
|
|
179
|
+
}
|
|
144
180
|
});
|
|
145
181
|
}
|
|
146
182
|
/**
|
|
@@ -149,7 +185,28 @@ export class Page extends Component {
|
|
|
149
185
|
canShow() {
|
|
150
186
|
return new Promise((resolve, reject) => {
|
|
151
187
|
if (this.created && !this.shown) {
|
|
152
|
-
|
|
188
|
+
// inner preloader
|
|
189
|
+
if (this.prop.hasInnerPreloader) {
|
|
190
|
+
const preloader = new ProgressPreloader({
|
|
191
|
+
parent: this,
|
|
192
|
+
container: false,
|
|
193
|
+
hide: false,
|
|
194
|
+
loaders: {
|
|
195
|
+
img: false,
|
|
196
|
+
video: false,
|
|
197
|
+
custom: '.js-preload-inner',
|
|
198
|
+
},
|
|
199
|
+
calc: {
|
|
200
|
+
lerp: false,
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
preloader.addCallback('loaded', () => {
|
|
204
|
+
resolve();
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
resolve();
|
|
209
|
+
}
|
|
153
210
|
return;
|
|
154
211
|
}
|
|
155
212
|
reject();
|
package/build/es/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = '2.
|
|
1
|
+
const version = '2.16.0';
|
|
2
2
|
export default version;
|
|
@@ -88,6 +88,15 @@ export declare namespace NCustomCursor {
|
|
|
88
88
|
y: number;
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Hovered element
|
|
93
|
+
*/
|
|
94
|
+
interface HoveredEl {
|
|
95
|
+
el: Element;
|
|
96
|
+
width?: number;
|
|
97
|
+
height?: number;
|
|
98
|
+
padding?: number;
|
|
99
|
+
}
|
|
91
100
|
}
|
|
92
101
|
/**
|
|
93
102
|
* Creates a smooth custom cursor
|
|
@@ -122,24 +131,9 @@ export declare class CustomCursor<StaticProp extends NCustomCursor.StaticProp =
|
|
|
122
131
|
/**
|
|
123
132
|
* Hovered element
|
|
124
133
|
*/
|
|
125
|
-
protected _hoveredEl?:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
height?: number;
|
|
129
|
-
padding?: number;
|
|
130
|
-
};
|
|
131
|
-
get hoveredEl(): {
|
|
132
|
-
el: Element;
|
|
133
|
-
width?: number;
|
|
134
|
-
height?: number;
|
|
135
|
-
padding?: number;
|
|
136
|
-
};
|
|
137
|
-
set hoveredEl(val: {
|
|
138
|
-
el: Element;
|
|
139
|
-
width?: number;
|
|
140
|
-
height?: number;
|
|
141
|
-
padding?: number;
|
|
142
|
-
});
|
|
134
|
+
protected _hoveredEl?: NCustomCursor.HoveredEl | undefined;
|
|
135
|
+
get hoveredEl(): NCustomCursor.HoveredEl | undefined;
|
|
136
|
+
set hoveredEl(val: NCustomCursor.HoveredEl | undefined);
|
|
143
137
|
/**
|
|
144
138
|
* Animation frame
|
|
145
139
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCursor.d.ts","sourceRoot":"","sources":["../../../../src/ts/components/cursor/CustomCursor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAM/D,yBAAiB,aAAa,CAAC;IAE3B;;OAEG;IACH,UAAiB,UAAW,SAAQ,UAAU,CAAC,UAAU;QACrD;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QACtC;;;WAGG;QACH,GAAG,CAAC,EAAE,OAAO,CAAC;QACd;;;WAGG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D,IAAI,CAAC,EAAE;YACH;;eAEG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YACf;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,MAAM,CAAC,EAAE;YACL;;;eAGG;YACH,IAAI,CAAC,EAAE,MAAM,CAAC;YACd;;;;;eAKG;YACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;YAC7B;;;;eAIG;YACH,aAAa,CAAC,EAAE,OAAO,CAAC;SAC3B,CAAC;QACF;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;WAEG;QACH,KAAK,CAAC,EAAE;YACJ;;eAEG;YACH,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB;;eAEG;YACH,QAAQ,CAAC,EAAE,OAAO,CAAC;SACtB,CAAC;KACL;IAED;;OAEG;IACH,UAAiB,cAAe,SAAQ,UAAU,CAAC,cAAc;QAC7D,QAAQ,EAAE;YACN,WAAW,EAAE,WAAW,CAAC;YACzB,WAAW,EAAE,WAAW,CAAC;SAC5B,CAAC;QACF,QAAQ,EAAE;YACN,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;SACb,CAAC;KACL;CAEJ;AAID;;GAEG;AACH,qBAAa,YAAY,CACrB,UAAU,SAAS,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,EACtE,cAAc,SAAS,aAAa,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,EAClF,cAAc,SAAS,aAAa,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CACpF,SAAQ,SAAS,CACf,UAAU,EACV,cAAc,EACd,cAAc,CACjB;IACG,SAAS,CAAC,eAAe,CACrB,CAAC,SAAS,kBAAkB,CAAC,UAAU,GAAG,cAAc,CAAC,KACvD,CAAC;IAuBP,IAAI,MAAM,WAET;IAID;;OAEG;IACH,IAAI,SAAS,qBAEZ;IACD,SAAS,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAEtC;;OAEG;IACH,IAAI,eAAe,qBAElB;IAED;;OAEG;IACH,IAAI,YAAY,IAAK,WAAW,CAK/B;IAID;;OAEG;IACH,IAAI,WAAW,gBAEd;IACD,SAAS,CAAC,YAAY,EAAG,WAAW,CAAC;IAErC;;OAEG;IACH,IAAI,WAAW,gBAEd;IACD,SAAS,CAAC,YAAY,EAAG,WAAW,CAAC;IAErC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"CustomCursor.d.ts","sourceRoot":"","sources":["../../../../src/ts/components/cursor/CustomCursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare namespace NPage {
|
|
|
11
11
|
* @default 'home'
|
|
12
12
|
*/
|
|
13
13
|
name?: string;
|
|
14
|
+
hasInnerPreloader?: boolean;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Changeable properties
|
|
@@ -87,6 +88,13 @@ export declare class Page<StaticProp extends NPage.StaticProp = NPage.StaticProp
|
|
|
87
88
|
* Use this method to do some actions when showing a page
|
|
88
89
|
*/
|
|
89
90
|
protected _show(): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Some elements may have the attribute `data-prevent-page-show="true"`
|
|
93
|
+
* This means that the page should not be interactive (and scrollable).
|
|
94
|
+
* Here we search for such elements.
|
|
95
|
+
* When there's no elements with this attribute, the page is interactive.
|
|
96
|
+
*/
|
|
97
|
+
protected _ignorePreventPageShow(): PCancelable<void>;
|
|
90
98
|
/**
|
|
91
99
|
* Check if the page can be shown.
|
|
92
100
|
*/
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/ts/components/page/Page.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAK/D,yBAAiB,KAAK,CAAC;IAEnB;;OAEG;IACH,UAAiB,UAAW,SAAQ,UAAU,CAAC,UAAU;QACrD;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC/B;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;IAUP;;;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;IAcf;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB;IAoBhC;;OAEG;IACI,OAAO;IAkCd;;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"}
|
package/build/types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -98,6 +98,16 @@ export namespace NCustomCursor {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Hovered element
|
|
103
|
+
*/
|
|
104
|
+
export interface HoveredEl {
|
|
105
|
+
el: Element;
|
|
106
|
+
width?: number;
|
|
107
|
+
height?: number;
|
|
108
|
+
padding?: number;
|
|
109
|
+
}
|
|
110
|
+
|
|
101
111
|
}
|
|
102
112
|
|
|
103
113
|
|
|
@@ -192,16 +202,11 @@ export class CustomCursor <
|
|
|
192
202
|
/**
|
|
193
203
|
* Hovered element
|
|
194
204
|
*/
|
|
195
|
-
protected _hoveredEl?:
|
|
196
|
-
|
|
197
|
-
width?: number;
|
|
198
|
-
height?: number;
|
|
199
|
-
padding?: number;
|
|
200
|
-
};
|
|
201
|
-
get hoveredEl () {
|
|
205
|
+
protected _hoveredEl?: NCustomCursor.HoveredEl | undefined;
|
|
206
|
+
get hoveredEl (): NCustomCursor.HoveredEl | undefined {
|
|
202
207
|
return this._hoveredEl;
|
|
203
208
|
}
|
|
204
|
-
set hoveredEl (val) {
|
|
209
|
+
set hoveredEl (val: NCustomCursor.HoveredEl | undefined) {
|
|
205
210
|
this._hoveredEl = val;
|
|
206
211
|
}
|
|
207
212
|
|
|
@@ -576,9 +581,6 @@ export class CustomCursor <
|
|
|
576
581
|
*/
|
|
577
582
|
public enable () {
|
|
578
583
|
this._canPlay = true;
|
|
579
|
-
if (this._animationFrame.isPlaying) {
|
|
580
|
-
return;
|
|
581
|
-
}
|
|
582
584
|
this.outerCursor.classList.remove('disabled');
|
|
583
585
|
this.innerCursor.classList.remove('disabled');
|
|
584
586
|
this._animationFrame.play();
|
|
@@ -590,9 +592,6 @@ export class CustomCursor <
|
|
|
590
592
|
*/
|
|
591
593
|
public disable () {
|
|
592
594
|
this._canPlay = false;
|
|
593
|
-
if (!this._animationFrame.isPlaying) {
|
|
594
|
-
return;
|
|
595
|
-
}
|
|
596
595
|
this.outerCursor.classList.add('disabled');
|
|
597
596
|
this.innerCursor.classList.add('disabled');
|
|
598
597
|
this._animationFrame.pause();
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import PCancelable from 'p-cancelable';
|
|
2
|
+
import { selectAll } from 'vevet-dom';
|
|
2
3
|
import { Component, NComponent } from '../../base/Component';
|
|
3
4
|
import { RequiredModuleProp } from '../../utils/types/utility';
|
|
5
|
+
import { ProgressPreloader } from '../loading/ProgressPreloader';
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
|
|
@@ -15,6 +17,7 @@ export namespace NPage {
|
|
|
15
17
|
* @default 'home'
|
|
16
18
|
*/
|
|
17
19
|
name?: string;
|
|
20
|
+
hasInnerPreloader?: boolean;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
/**
|
|
@@ -128,6 +131,7 @@ export class Page <
|
|
|
128
131
|
return {
|
|
129
132
|
...super._getDefaultProp(),
|
|
130
133
|
name: 'home',
|
|
134
|
+
hasInnerPreloader: false,
|
|
131
135
|
};
|
|
132
136
|
}
|
|
133
137
|
|
|
@@ -244,10 +248,42 @@ export class Page <
|
|
|
244
248
|
* Use this method to do some actions when showing a page
|
|
245
249
|
*/
|
|
246
250
|
protected _show () {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
const interactivePromise = this._ignorePreventPageShow();
|
|
252
|
+
this.addCallback('destroy', () => {
|
|
253
|
+
interactivePromise.cancel();
|
|
254
|
+
});
|
|
255
|
+
return new Promise<void>((resolve, reject) => {
|
|
256
|
+
interactivePromise.then(() => {
|
|
257
|
+
resolve();
|
|
258
|
+
}).catch(() => {
|
|
259
|
+
reject();
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Some elements may have the attribute `data-prevent-page-show="true"`
|
|
266
|
+
* This means that the page should not be interactive (and scrollable).
|
|
267
|
+
* Here we search for such elements.
|
|
268
|
+
* When there's no elements with this attribute, the page is interactive.
|
|
269
|
+
*/
|
|
270
|
+
protected _ignorePreventPageShow () {
|
|
271
|
+
return new PCancelable<void>((resolve, reject) => {
|
|
272
|
+
if (this._destroyed) {
|
|
273
|
+
reject();
|
|
274
|
+
}
|
|
275
|
+
const elements = selectAll('[data-prevent-page-show]');
|
|
276
|
+
if (elements.length === 0) {
|
|
277
|
+
resolve();
|
|
278
|
+
} else {
|
|
279
|
+
setTimeout(() => {
|
|
280
|
+
this._ignorePreventPageShow().then(() => {
|
|
281
|
+
resolve();
|
|
282
|
+
}).catch(() => {
|
|
283
|
+
reject();
|
|
284
|
+
});
|
|
285
|
+
}, 30);
|
|
286
|
+
}
|
|
251
287
|
});
|
|
252
288
|
}
|
|
253
289
|
|
|
@@ -259,7 +295,27 @@ export class Page <
|
|
|
259
295
|
resolve, reject,
|
|
260
296
|
) => {
|
|
261
297
|
if (this.created && !this.shown) {
|
|
262
|
-
|
|
298
|
+
// inner preloader
|
|
299
|
+
if (this.prop.hasInnerPreloader) {
|
|
300
|
+
const preloader = new ProgressPreloader({
|
|
301
|
+
parent: this,
|
|
302
|
+
container: false,
|
|
303
|
+
hide: false,
|
|
304
|
+
loaders: {
|
|
305
|
+
img: false,
|
|
306
|
+
video: false,
|
|
307
|
+
custom: '.js-preload-inner',
|
|
308
|
+
},
|
|
309
|
+
calc: {
|
|
310
|
+
lerp: false,
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
preloader.addCallback('loaded', () => {
|
|
314
|
+
resolve();
|
|
315
|
+
});
|
|
316
|
+
} else {
|
|
317
|
+
resolve();
|
|
318
|
+
}
|
|
263
319
|
return;
|
|
264
320
|
}
|
|
265
321
|
reject();
|
package/src/ts/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = '2.
|
|
1
|
+
const version = '2.16.0';
|
|
2
2
|
export default version;
|