@lemoncat7/dsh-theme-xiaohei 0.3.1 → 0.3.3
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/README.md +7 -5
- package/lib/bloub-heixiu/runtime.js +17 -3
- package/lib/chrome/conversation-messages.js +8 -8
- package/lib/chrome/sidebar.d.ts +1 -1
- package/lib/chrome/sidebar.js +16 -0
- package/lib/client.js +433 -43
- package/lib/gaze.js +15 -2
- package/lib/generated-character-motion.d.ts +4 -0
- package/lib/generated-character-motion.js +2 -0
- package/lib/metallic-brand-mark.js +20 -33
- package/lib/scene/character-motion-clock.d.ts +18 -0
- package/lib/scene/character-motion-clock.js +57 -0
- package/lib/scene/character-motion-types.d.ts +12 -0
- package/lib/scene/character-motion-types.js +2 -0
- package/lib/scene/character-motion.d.ts +6 -0
- package/lib/scene/character-motion.js +126 -0
- package/lib/scene/character-rig-renderer.d.ts +4 -0
- package/lib/scene/character-rig-renderer.js +85 -0
- package/lib/scene/character-rig.d.ts +20 -0
- package/lib/scene/character-rig.js +53 -0
- package/lib/scene/wallpaper-character-styles.js +10 -0
- package/lib/scene/wallpaper-character.d.ts +1 -1
- package/lib/scene/wallpaper-character.js +19 -1
- package/lib/sidebar-glass.js +13 -3
- package/lib/sidebar-reveal.d.ts +8 -0
- package/lib/sidebar-reveal.js +51 -0
- package/package.json +1 -1
package/lib/gaze.js
CHANGED
|
@@ -43,14 +43,14 @@ export function installXiaoheiGaze(doc = typeof document === 'undefined' ? undef
|
|
|
43
43
|
gaze.style.setProperty('--xiaohei-gaze-y', `${currentY.toFixed(3)}px`);
|
|
44
44
|
};
|
|
45
45
|
const wake = () => {
|
|
46
|
-
if (disposed || frameId !== 0 || gaze === undefined)
|
|
46
|
+
if (disposed || doc.hidden || frameId !== 0 || gaze === undefined)
|
|
47
47
|
return;
|
|
48
48
|
setMoving(true);
|
|
49
49
|
frameId = win.requestAnimationFrame(tick);
|
|
50
50
|
};
|
|
51
51
|
const tick = (time) => {
|
|
52
52
|
frameId = 0;
|
|
53
|
-
if (disposed || gaze === undefined || mascot === undefined)
|
|
53
|
+
if (disposed || doc.hidden || gaze === undefined || mascot === undefined)
|
|
54
54
|
return;
|
|
55
55
|
const target = resolveGazeTarget(doc, mascot, pointer, portalActive, behaviorDisabled());
|
|
56
56
|
const elapsed = lastFrameTime === 0 ? 16 : Math.min(48, Math.max(1, time - lastFrameTime));
|
|
@@ -107,6 +107,17 @@ export function installXiaoheiGaze(doc = typeof document === 'undefined' ? undef
|
|
|
107
107
|
};
|
|
108
108
|
const onPreferenceChange = () => wake();
|
|
109
109
|
const onStateChange = () => wake();
|
|
110
|
+
const onVisibilityChange = () => {
|
|
111
|
+
if (doc.hidden) {
|
|
112
|
+
if (frameId !== 0)
|
|
113
|
+
win.cancelAnimationFrame(frameId);
|
|
114
|
+
frameId = 0;
|
|
115
|
+
lastFrameTime = 0;
|
|
116
|
+
setMoving(false);
|
|
117
|
+
}
|
|
118
|
+
else
|
|
119
|
+
wake();
|
|
120
|
+
};
|
|
110
121
|
const unsubscribeHostDom = subscribeXiaoheiHostDom(doc, attach);
|
|
111
122
|
const stateObserver = new win.MutationObserver(onStateChange);
|
|
112
123
|
stateObserver.observe(doc.documentElement, {
|
|
@@ -114,6 +125,7 @@ export function installXiaoheiGaze(doc = typeof document === 'undefined' ? undef
|
|
|
114
125
|
attributeFilter: ['data-xiaohei-state'],
|
|
115
126
|
});
|
|
116
127
|
doc.addEventListener('pointermove', onPointerMove, { passive: true });
|
|
128
|
+
doc.addEventListener('visibilitychange', onVisibilityChange);
|
|
117
129
|
doc.addEventListener('pointerleave', clearPointer);
|
|
118
130
|
doc.addEventListener(XIAOHEI_PORTAL_ACTIVITY_EVENT, onPortalActivity);
|
|
119
131
|
win.addEventListener('blur', clearPointer);
|
|
@@ -127,6 +139,7 @@ export function installXiaoheiGaze(doc = typeof document === 'undefined' ? undef
|
|
|
127
139
|
unsubscribeHostDom();
|
|
128
140
|
stateObserver.disconnect();
|
|
129
141
|
doc.removeEventListener('pointermove', onPointerMove);
|
|
142
|
+
doc.removeEventListener('visibilitychange', onVisibilityChange);
|
|
130
143
|
doc.removeEventListener('pointerleave', clearPointer);
|
|
131
144
|
doc.removeEventListener(XIAOHEI_PORTAL_ACTIVITY_EVENT, onPortalActivity);
|
|
132
145
|
win.removeEventListener('blur', clearPointer);
|