@shower/core 3.5.1 → 3.6.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/dist/index.js +17 -11
- package/lib/modules/install.js +0 -5
- package/lib/modules/keys.js +8 -4
- package/lib/modules/location.js +4 -1
- package/lib/shower.js +4 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core for Shower HTML presentation engine
|
|
3
|
-
* @shower/core v3.5.
|
|
3
|
+
* @shower/core v3.5.2, https://github.com/shower/shower/tree/main/packages/core
|
|
4
4
|
* @copyright 2010–2026 Vadim Makeev, https://pepelsbey.dev
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -209,8 +209,8 @@
|
|
|
209
209
|
|
|
210
210
|
switch (event.key.toUpperCase()) {
|
|
211
211
|
case 'ENTER':
|
|
212
|
-
if (event.metaKey
|
|
213
|
-
if (event.shiftKey) {
|
|
212
|
+
if (event.metaKey) {
|
|
213
|
+
if (event.shiftKey && shower.isListMode) {
|
|
214
214
|
event.preventDefault();
|
|
215
215
|
shower.first();
|
|
216
216
|
}
|
|
@@ -284,9 +284,13 @@
|
|
|
284
284
|
break;
|
|
285
285
|
|
|
286
286
|
case 'ENTER':
|
|
287
|
-
if (event.metaKey
|
|
287
|
+
if (event.metaKey) {
|
|
288
288
|
event.preventDefault();
|
|
289
|
-
shower.
|
|
289
|
+
if (shower.isListMode) {
|
|
290
|
+
shower.enterFullMode();
|
|
291
|
+
} else if (shower.isFullMode) {
|
|
292
|
+
shower.exitFullMode();
|
|
293
|
+
}
|
|
290
294
|
}
|
|
291
295
|
break;
|
|
292
296
|
|
|
@@ -350,7 +354,10 @@
|
|
|
350
354
|
applyURLSlide();
|
|
351
355
|
};
|
|
352
356
|
|
|
353
|
-
|
|
357
|
+
// slide before mode, so full mode finds it instead of defaulting to first
|
|
358
|
+
applyURLSlide();
|
|
359
|
+
applyURLMode();
|
|
360
|
+
|
|
354
361
|
window.addEventListener('popstate', applyURL);
|
|
355
362
|
|
|
356
363
|
shower.addEventListener('start', () => {
|
|
@@ -661,11 +668,6 @@
|
|
|
661
668
|
view(shower);
|
|
662
669
|
touch(shower);
|
|
663
670
|
mouse(shower);
|
|
664
|
-
|
|
665
|
-
// maintains invariant: active slide always exists in `full` mode
|
|
666
|
-
if (shower.isFullMode && !shower.activeSlide) {
|
|
667
|
-
shower.first();
|
|
668
|
-
}
|
|
669
671
|
};
|
|
670
672
|
|
|
671
673
|
class Shower extends EventTarget {
|
|
@@ -772,6 +774,10 @@
|
|
|
772
774
|
* @emits Shower#modechange
|
|
773
775
|
*/
|
|
774
776
|
enterFullMode() {
|
|
777
|
+
if (!this.activeSlide) {
|
|
778
|
+
this.first();
|
|
779
|
+
}
|
|
780
|
+
|
|
775
781
|
this._setMode('full');
|
|
776
782
|
}
|
|
777
783
|
|
package/lib/modules/install.js
CHANGED
package/lib/modules/keys.js
CHANGED
|
@@ -6,8 +6,8 @@ export default (shower) => {
|
|
|
6
6
|
|
|
7
7
|
switch (event.key.toUpperCase()) {
|
|
8
8
|
case 'ENTER':
|
|
9
|
-
if (event.metaKey
|
|
10
|
-
if (event.shiftKey) {
|
|
9
|
+
if (event.metaKey) {
|
|
10
|
+
if (event.shiftKey && shower.isListMode) {
|
|
11
11
|
event.preventDefault();
|
|
12
12
|
shower.first();
|
|
13
13
|
}
|
|
@@ -81,9 +81,13 @@ export default (shower) => {
|
|
|
81
81
|
break;
|
|
82
82
|
|
|
83
83
|
case 'ENTER':
|
|
84
|
-
if (event.metaKey
|
|
84
|
+
if (event.metaKey) {
|
|
85
85
|
event.preventDefault();
|
|
86
|
-
shower.
|
|
86
|
+
if (shower.isListMode) {
|
|
87
|
+
shower.enterFullMode();
|
|
88
|
+
} else if (shower.isFullMode) {
|
|
89
|
+
shower.exitFullMode();
|
|
90
|
+
}
|
|
87
91
|
}
|
|
88
92
|
break;
|
|
89
93
|
|
package/lib/modules/location.js
CHANGED
|
@@ -33,7 +33,10 @@ export default (shower) => {
|
|
|
33
33
|
applyURLSlide();
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
// slide before mode, so full mode finds it instead of defaulting to first
|
|
37
|
+
applyURLSlide();
|
|
38
|
+
applyURLMode();
|
|
39
|
+
|
|
37
40
|
window.addEventListener('popstate', applyURL);
|
|
38
41
|
|
|
39
42
|
shower.addEventListener('start', () => {
|
package/lib/shower.js
CHANGED