@vibes.diy/base 14.3.21 → 14.3.23
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/components/StyleControls.js +27 -3
- package/components/StyleControls.js.map +1 -1
- package/components/VibesSwitch.d.ts +1 -2
- package/components/VibesSwitch.js +4 -59
- package/components/VibesSwitch.js.map +1 -1
- package/components/chip-fast-path.d.ts +6 -0
- package/components/chip-fast-path.js +2 -0
- package/components/chip-fast-path.js.map +1 -0
- package/components/editor-tabs.d.ts +3 -0
- package/components/editor-tabs.js +1 -0
- package/components/editor-tabs.js.map +1 -1
- package/components/index.d.ts +2 -17
- package/components/index.js +2 -17
- package/components/index.js.map +1 -1
- package/components/vibe-menu/VibeMenu.d.ts +16 -0
- package/components/vibe-menu/VibeMenu.js +99 -0
- package/components/vibe-menu/VibeMenu.js.map +1 -0
- package/components/vibe-menu/cards/AccountCard.d.ts +40 -0
- package/components/vibe-menu/cards/AccountCard.js +234 -0
- package/components/vibe-menu/cards/AccountCard.js.map +1 -0
- package/components/vibe-menu/cards/CodeCard.d.ts +20 -0
- package/components/vibe-menu/cards/CodeCard.js +109 -0
- package/components/vibe-menu/cards/CodeCard.js.map +1 -0
- package/components/vibe-menu/cards/CodeModeWorkspace.d.ts +31 -0
- package/components/vibe-menu/cards/CodeModeWorkspace.js +107 -0
- package/components/vibe-menu/cards/CodeModeWorkspace.js.map +1 -0
- package/components/vibe-menu/cards/HomeCard.d.ts +22 -0
- package/components/vibe-menu/cards/HomeCard.js +64 -0
- package/components/vibe-menu/cards/HomeCard.js.map +1 -0
- package/components/vibe-menu/cards/ShareCard.d.ts +9 -0
- package/components/vibe-menu/cards/ShareCard.js +84 -0
- package/components/vibe-menu/cards/ShareCard.js.map +1 -0
- package/components/vibe-menu/cards/ShareDrills.d.ts +35 -0
- package/components/vibe-menu/cards/ShareDrills.js +146 -0
- package/components/vibe-menu/cards/ShareDrills.js.map +1 -0
- package/components/vibe-menu/cards/ShareLinkRows.d.ts +6 -0
- package/components/vibe-menu/cards/ShareLinkRows.js +27 -0
- package/components/vibe-menu/cards/ShareLinkRows.js.map +1 -0
- package/components/vibe-menu/cards/share-actions.d.ts +13 -0
- package/components/vibe-menu/cards/share-actions.js +37 -0
- package/components/vibe-menu/cards/share-actions.js.map +1 -0
- package/components/vibe-menu/cards/share-card.styles.d.ts +1 -0
- package/components/vibe-menu/cards/share-card.styles.js +90 -0
- package/components/vibe-menu/cards/share-card.styles.js.map +1 -0
- package/components/vibe-menu/cards/share-copy.d.ts +24 -0
- package/components/vibe-menu/cards/share-copy.js +64 -0
- package/components/vibe-menu/cards/share-copy.js.map +1 -0
- package/components/vibe-menu/cards/share-parts.d.ts +46 -0
- package/components/vibe-menu/cards/share-parts.js +87 -0
- package/components/vibe-menu/cards/share-parts.js.map +1 -0
- package/components/vibe-menu/code-tabs.d.ts +11 -0
- package/components/vibe-menu/code-tabs.js +32 -0
- package/components/vibe-menu/code-tabs.js.map +1 -0
- package/components/vibe-menu/copy.d.ts +7 -0
- package/components/vibe-menu/copy.js +13 -0
- package/components/vibe-menu/copy.js.map +1 -0
- package/components/vibe-menu/fixtures.d.ts +42 -0
- package/components/vibe-menu/fixtures.js +184 -0
- package/components/vibe-menu/fixtures.js.map +1 -0
- package/components/vibe-menu/geometry.d.ts +24 -0
- package/components/vibe-menu/geometry.js +28 -0
- package/components/vibe-menu/geometry.js.map +1 -0
- package/components/vibe-menu/index.d.ts +42 -0
- package/components/vibe-menu/index.js +43 -0
- package/components/vibe-menu/index.js.map +1 -0
- package/components/vibe-menu/menu-state.d.ts +42 -0
- package/components/vibe-menu/menu-state.js +82 -0
- package/components/vibe-menu/menu-state.js.map +1 -0
- package/components/vibe-menu/moments.d.ts +13 -0
- package/components/vibe-menu/moments.js +39 -0
- package/components/vibe-menu/moments.js.map +1 -0
- package/components/vibe-menu/motion.d.ts +10 -0
- package/components/vibe-menu/motion.js +10 -0
- package/components/vibe-menu/motion.js.map +1 -0
- package/components/vibe-menu/open-resolver.d.ts +46 -0
- package/components/vibe-menu/open-resolver.js +91 -0
- package/components/vibe-menu/open-resolver.js.map +1 -0
- package/components/vibe-menu/parts/AccessToggle.d.ts +13 -0
- package/components/vibe-menu/parts/AccessToggle.js +58 -0
- package/components/vibe-menu/parts/AccessToggle.js.map +1 -0
- package/components/vibe-menu/parts/ActionPill.d.ts +18 -0
- package/components/vibe-menu/parts/ActionPill.js +21 -0
- package/components/vibe-menu/parts/ActionPill.js.map +1 -0
- package/components/vibe-menu/parts/BackRow.d.ts +8 -0
- package/components/vibe-menu/parts/BackRow.js +10 -0
- package/components/vibe-menu/parts/BackRow.js.map +1 -0
- package/components/vibe-menu/parts/Chip.d.ts +37 -0
- package/components/vibe-menu/parts/Chip.js +62 -0
- package/components/vibe-menu/parts/Chip.js.map +1 -0
- package/components/vibe-menu/parts/Composer.d.ts +39 -0
- package/components/vibe-menu/parts/Composer.js +47 -0
- package/components/vibe-menu/parts/Composer.js.map +1 -0
- package/components/vibe-menu/parts/DoneButton.d.ts +5 -0
- package/components/vibe-menu/parts/DoneButton.js +5 -0
- package/components/vibe-menu/parts/DoneButton.js.map +1 -0
- package/components/vibe-menu/parts/Glyph.d.ts +9 -0
- package/components/vibe-menu/parts/Glyph.js +123 -0
- package/components/vibe-menu/parts/Glyph.js.map +1 -0
- package/components/vibe-menu/parts/GrantControls.d.ts +13 -0
- package/components/vibe-menu/parts/GrantControls.js +61 -0
- package/components/vibe-menu/parts/GrantControls.js.map +1 -0
- package/components/vibe-menu/parts/MemberRow.d.ts +37 -0
- package/components/vibe-menu/parts/MemberRow.js +70 -0
- package/components/vibe-menu/parts/MemberRow.js.map +1 -0
- package/components/vibe-menu/parts/MenuCard.d.ts +10 -0
- package/components/vibe-menu/parts/MenuCard.js +7 -0
- package/components/vibe-menu/parts/MenuCard.js.map +1 -0
- package/components/vibe-menu/parts/MomentLine.d.ts +23 -0
- package/components/vibe-menu/parts/MomentLine.js +58 -0
- package/components/vibe-menu/parts/MomentLine.js.map +1 -0
- package/components/vibe-menu/parts/Row.d.ts +41 -0
- package/components/vibe-menu/parts/Row.js +60 -0
- package/components/vibe-menu/parts/Row.js.map +1 -0
- package/components/vibe-menu/parts/SectionStrip.d.ts +14 -0
- package/components/vibe-menu/parts/SectionStrip.js +26 -0
- package/components/vibe-menu/parts/SectionStrip.js.map +1 -0
- package/components/vibe-menu/parts/VibesSwitchGlass.d.ts +24 -0
- package/components/vibe-menu/parts/VibesSwitchGlass.js +66 -0
- package/components/vibe-menu/parts/VibesSwitchGlass.js.map +1 -0
- package/components/vibe-menu/parts/radio-keys.d.ts +5 -0
- package/components/vibe-menu/parts/radio-keys.js +13 -0
- package/components/vibe-menu/parts/radio-keys.js.map +1 -0
- package/components/vibe-menu/parts/use-composer-draft.d.ts +9 -0
- package/components/vibe-menu/parts/use-composer-draft.js +94 -0
- package/components/vibe-menu/parts/use-composer-draft.js.map +1 -0
- package/components/vibe-menu/share-fixtures.d.ts +15 -0
- package/components/vibe-menu/share-fixtures.js +72 -0
- package/components/vibe-menu/share-fixtures.js.map +1 -0
- package/components/vibe-menu/shell/VibeMenuShell.d.ts +30 -0
- package/components/vibe-menu/shell/VibeMenuShell.js +124 -0
- package/components/vibe-menu/shell/VibeMenuShell.js.map +1 -0
- package/components/vibe-menu/shell/menu-sequence.d.ts +20 -0
- package/components/vibe-menu/shell/menu-sequence.js +35 -0
- package/components/vibe-menu/shell/menu-sequence.js.map +1 -0
- package/components/vibe-menu/shell/outline-geometry.d.ts +63 -0
- package/components/vibe-menu/shell/outline-geometry.js +83 -0
- package/components/vibe-menu/shell/outline-geometry.js.map +1 -0
- package/components/vibe-menu/shell/shell.styles.d.ts +1 -0
- package/components/vibe-menu/shell/shell.styles.js +386 -0
- package/components/vibe-menu/shell/shell.styles.js.map +1 -0
- package/components/vibe-menu/shell/useMenuSequencer.d.ts +33 -0
- package/components/vibe-menu/shell/useMenuSequencer.js +490 -0
- package/components/vibe-menu/shell/useMenuSequencer.js.map +1 -0
- package/components/vibe-menu/slices.d.ts +182 -0
- package/components/vibe-menu/slices.js +5 -0
- package/components/vibe-menu/slices.js.map +1 -0
- package/components/vibe-menu/use-remix-hint.d.ts +9 -0
- package/components/vibe-menu/use-remix-hint.js +21 -0
- package/components/vibe-menu/use-remix-hint.js.map +1 -0
- package/components/vibe-menu/vibe-menu.styles.d.ts +5 -0
- package/components/vibe-menu/vibe-menu.styles.js +1424 -0
- package/components/vibe-menu/vibe-menu.styles.js.map +1 -0
- package/package.json +4 -4
- package/components/AccountView.d.ts +0 -10
- package/components/AccountView.js +0 -31
- package/components/AccountView.js.map +0 -1
- package/components/AdminModeControl.d.ts +0 -7
- package/components/AdminModeControl.js +0 -9
- package/components/AdminModeControl.js.map +0 -1
- package/components/CodingIndicator.d.ts +0 -6
- package/components/CodingIndicator.js +0 -53
- package/components/CodingIndicator.js.map +0 -1
- package/components/CreditsDetailMenu.d.ts +0 -15
- package/components/CreditsDetailMenu.js +0 -97
- package/components/CreditsDetailMenu.js.map +0 -1
- package/components/CreditsRingView.d.ts +0 -15
- package/components/CreditsRingView.js +0 -77
- package/components/CreditsRingView.js.map +0 -1
- package/components/EditorTabStrip.d.ts +0 -10
- package/components/EditorTabStrip.js +0 -15
- package/components/EditorTabStrip.js.map +0 -1
- package/components/LinkLineControls.d.ts +0 -9
- package/components/LinkLineControls.js +0 -72
- package/components/LinkLineControls.js.map +0 -1
- package/components/MadeHereView.d.ts +0 -8
- package/components/MadeHereView.js +0 -37
- package/components/MadeHereView.js.map +0 -1
- package/components/RecentVibesList.d.ts +0 -19
- package/components/RecentVibesList.js +0 -106
- package/components/RecentVibesList.js.map +0 -1
- package/components/RecommendedView.d.ts +0 -22
- package/components/RecommendedView.js +0 -172
- package/components/RecommendedView.js.map +0 -1
- package/components/RemixInviteView.d.ts +0 -4
- package/components/RemixInviteView.js +0 -11
- package/components/RemixInviteView.js.map +0 -1
- package/components/SeedDataOffer.d.ts +0 -8
- package/components/SeedDataOffer.js +0 -15
- package/components/SeedDataOffer.js.map +0 -1
- package/components/SignedInDiscoveryView.d.ts +0 -17
- package/components/SignedInDiscoveryView.js +0 -30
- package/components/SignedInDiscoveryView.js.map +0 -1
- package/components/SignedOutDiscoveryView.d.ts +0 -7
- package/components/SignedOutDiscoveryView.js +0 -15
- package/components/SignedOutDiscoveryView.js.map +0 -1
- package/components/SignedOutSavePrompt.d.ts +0 -4
- package/components/SignedOutSavePrompt.js +0 -33
- package/components/SignedOutSavePrompt.js.map +0 -1
- package/components/UnifiedVibeCard.d.ts +0 -129
- package/components/UnifiedVibeCard.js +0 -1658
- package/components/UnifiedVibeCard.js.map +0 -1
- package/components/UnifiedVibeCardSettings.styles.d.ts +0 -3
- package/components/UnifiedVibeCardSettings.styles.js +0 -95
- package/components/UnifiedVibeCardSettings.styles.js.map +0 -1
- package/components/UnifiedVibeCardShare.styles.d.ts +0 -3
- package/components/UnifiedVibeCardShare.styles.js +0 -72
- package/components/UnifiedVibeCardShare.styles.js.map +0 -1
- package/components/ViewerAccessSummary.d.ts +0 -28
- package/components/ViewerAccessSummary.js +0 -105
- package/components/ViewerAccessSummary.js.map +0 -1
- package/components/ViewerStandingView.d.ts +0 -7
- package/components/ViewerStandingView.js +0 -10
- package/components/ViewerStandingView.js.map +0 -1
- package/hooks/useCardFloat.d.ts +0 -6
- package/hooks/useCardFloat.js +0 -191
- package/hooks/useCardFloat.js.map +0 -1
- package/hooks/useHomeMotionPress.d.ts +0 -17
- package/hooks/useHomeMotionPress.js +0 -93
- package/hooks/useHomeMotionPress.js.map +0 -1
- package/motion/card-motion-source.d.ts +0 -23
- package/motion/card-motion-source.js +0 -50
- package/motion/card-motion-source.js.map +0 -1
package/hooks/useCardFloat.js
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext, useEffect, useRef, useState } from "react";
|
|
2
|
-
import { browserCardMotion } from "../motion/card-motion-source.js";
|
|
3
|
-
export const CardMotionContext = createContext(browserCardMotion);
|
|
4
|
-
const clamp = (value) => Math.max(-1, Math.min(1, value));
|
|
5
|
-
const delta = (value, baseline) => ((value - baseline + 540) % 360) - 180;
|
|
6
|
-
export function useCardFloat(ref, open, controlsRef) {
|
|
7
|
-
const source = useContext(CardMotionContext);
|
|
8
|
-
const [allowed, setAllowed] = useState(false);
|
|
9
|
-
const [off, setOff] = useState(false);
|
|
10
|
-
const [reduced, setReduced] = useState(false);
|
|
11
|
-
const [status, setStatus] = useState("");
|
|
12
|
-
const request = useRef(0);
|
|
13
|
-
const pending = useRef(false);
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
const preference = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
16
|
-
const update = () => setReduced(preference.matches);
|
|
17
|
-
update();
|
|
18
|
-
preference.addEventListener("change", update);
|
|
19
|
-
return () => preference.removeEventListener("change", update);
|
|
20
|
-
}, []);
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
let live = true;
|
|
23
|
-
if (open && !reduced && !off) {
|
|
24
|
-
void source.canStartAutomatically().then((automatic) => {
|
|
25
|
-
if (live && automatic)
|
|
26
|
-
setAllowed(true);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return () => {
|
|
30
|
-
live = false;
|
|
31
|
-
};
|
|
32
|
-
}, [source, open, reduced, off]);
|
|
33
|
-
useEffect(() => () => {
|
|
34
|
-
request.current += 1;
|
|
35
|
-
}, []);
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
const root = ref.current;
|
|
38
|
-
if (root === null)
|
|
39
|
-
return;
|
|
40
|
-
const controls = controlsRef?.current;
|
|
41
|
-
const surfaces = controls ? [root, controls] : [root];
|
|
42
|
-
const neutral = () => {
|
|
43
|
-
surfaces.forEach((surface) => {
|
|
44
|
-
surface.style.removeProperty("--vibe-float-x");
|
|
45
|
-
surface.style.removeProperty("--vibe-float-y");
|
|
46
|
-
});
|
|
47
|
-
root.removeAttribute("data-vibe-floating");
|
|
48
|
-
controls?.removeAttribute("data-vibe-floating-controls");
|
|
49
|
-
};
|
|
50
|
-
neutral();
|
|
51
|
-
if (!open || !allowed || off || reduced)
|
|
52
|
-
return;
|
|
53
|
-
let baseline;
|
|
54
|
-
let target = { x: 0, y: 0 };
|
|
55
|
-
let current = { x: 0, y: 0 };
|
|
56
|
-
let frame = 0;
|
|
57
|
-
let pointerHeld = false;
|
|
58
|
-
let touchHeld = false;
|
|
59
|
-
let scrollUntil = 0;
|
|
60
|
-
let resumeTimer;
|
|
61
|
-
const editing = () => {
|
|
62
|
-
const active = document.activeElement;
|
|
63
|
-
return active !== null && root.contains(active) && active.matches("input,textarea,select,[contenteditable=true]");
|
|
64
|
-
};
|
|
65
|
-
function schedule() {
|
|
66
|
-
if (frame === 0 && !document.hidden)
|
|
67
|
-
frame = requestAnimationFrame(paint);
|
|
68
|
-
}
|
|
69
|
-
function paint() {
|
|
70
|
-
frame = 0;
|
|
71
|
-
if (pointerHeld || touchHeld || editing() || performance.now() < scrollUntil)
|
|
72
|
-
return;
|
|
73
|
-
current = { x: current.x + (target.x - current.x) * 0.12, y: current.y + (target.y - current.y) * 0.12 };
|
|
74
|
-
surfaces.forEach((surface) => {
|
|
75
|
-
surface.style.setProperty("--vibe-float-x", String(current.x));
|
|
76
|
-
surface.style.setProperty("--vibe-float-y", String(current.y));
|
|
77
|
-
});
|
|
78
|
-
if (Math.abs(target.x - current.x) + Math.abs(target.y - current.y) > 0.001)
|
|
79
|
-
schedule();
|
|
80
|
-
}
|
|
81
|
-
const unsubscribe = source.subscribe((reading) => {
|
|
82
|
-
if (document.hidden)
|
|
83
|
-
return;
|
|
84
|
-
if (baseline === undefined || baseline.angle !== reading.angle) {
|
|
85
|
-
baseline = reading;
|
|
86
|
-
target = { x: 0, y: 0 };
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
const angle = (reading.angle * Math.PI) / 180;
|
|
90
|
-
const dx = delta(reading.gamma, baseline.gamma);
|
|
91
|
-
const dy = delta(reading.beta, baseline.beta);
|
|
92
|
-
target = {
|
|
93
|
-
x: clamp((dx * Math.cos(angle) + dy * Math.sin(angle)) / 20),
|
|
94
|
-
y: clamp((dy * Math.cos(angle) - dx * Math.sin(angle)) / 20),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
root.setAttribute("data-vibe-floating", "true");
|
|
98
|
-
controls?.setAttribute("data-vibe-floating-controls", "true");
|
|
99
|
-
schedule();
|
|
100
|
-
});
|
|
101
|
-
const hold = () => {
|
|
102
|
-
pointerHeld = true;
|
|
103
|
-
};
|
|
104
|
-
const release = () => {
|
|
105
|
-
pointerHeld = false;
|
|
106
|
-
schedule();
|
|
107
|
-
};
|
|
108
|
-
const holdTouch = () => {
|
|
109
|
-
touchHeld = true;
|
|
110
|
-
};
|
|
111
|
-
const releaseTouch = (event) => {
|
|
112
|
-
touchHeld = event.touches.length > 0;
|
|
113
|
-
schedule();
|
|
114
|
-
};
|
|
115
|
-
const reset = () => {
|
|
116
|
-
baseline = undefined;
|
|
117
|
-
target = { x: 0, y: 0 };
|
|
118
|
-
current = { x: 0, y: 0 };
|
|
119
|
-
pointerHeld = false;
|
|
120
|
-
touchHeld = false;
|
|
121
|
-
cancelAnimationFrame(frame);
|
|
122
|
-
frame = 0;
|
|
123
|
-
neutral();
|
|
124
|
-
};
|
|
125
|
-
const scroll = () => {
|
|
126
|
-
scrollUntil = performance.now() + 160;
|
|
127
|
-
clearTimeout(resumeTimer);
|
|
128
|
-
resumeTimer = setTimeout(schedule, 160);
|
|
129
|
-
};
|
|
130
|
-
surfaces.forEach((surface) => {
|
|
131
|
-
surface.addEventListener("pointerdown", hold, true);
|
|
132
|
-
surface.addEventListener("touchstart", holdTouch, { passive: true });
|
|
133
|
-
});
|
|
134
|
-
root.addEventListener("scroll", scroll, true);
|
|
135
|
-
root.addEventListener("focusout", schedule);
|
|
136
|
-
window.addEventListener("pointerup", release);
|
|
137
|
-
window.addEventListener("pointercancel", release);
|
|
138
|
-
window.addEventListener("touchend", releaseTouch);
|
|
139
|
-
window.addEventListener("touchcancel", releaseTouch);
|
|
140
|
-
window.addEventListener("blur", reset);
|
|
141
|
-
document.addEventListener("visibilitychange", reset);
|
|
142
|
-
return () => {
|
|
143
|
-
unsubscribe();
|
|
144
|
-
cancelAnimationFrame(frame);
|
|
145
|
-
clearTimeout(resumeTimer);
|
|
146
|
-
neutral();
|
|
147
|
-
surfaces.forEach((surface) => {
|
|
148
|
-
surface.removeEventListener("pointerdown", hold, true);
|
|
149
|
-
surface.removeEventListener("touchstart", holdTouch);
|
|
150
|
-
});
|
|
151
|
-
root.removeEventListener("scroll", scroll, true);
|
|
152
|
-
root.removeEventListener("focusout", schedule);
|
|
153
|
-
window.removeEventListener("pointerup", release);
|
|
154
|
-
window.removeEventListener("pointercancel", release);
|
|
155
|
-
window.removeEventListener("touchend", releaseTouch);
|
|
156
|
-
window.removeEventListener("touchcancel", releaseTouch);
|
|
157
|
-
window.removeEventListener("blur", reset);
|
|
158
|
-
document.removeEventListener("visibilitychange", reset);
|
|
159
|
-
};
|
|
160
|
-
}, [ref, open, allowed, off, reduced, source, controlsRef]);
|
|
161
|
-
function toggle() {
|
|
162
|
-
if (reduced) {
|
|
163
|
-
setStatus("Float follows your reduced-motion setting.");
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
if (pending.current)
|
|
167
|
-
return;
|
|
168
|
-
if (allowed && !off) {
|
|
169
|
-
setOff(true);
|
|
170
|
-
setStatus("Float off.");
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
const token = ++request.current;
|
|
174
|
-
pending.current = true;
|
|
175
|
-
void source.requestPermission().then((granted) => {
|
|
176
|
-
if (request.current !== token)
|
|
177
|
-
return;
|
|
178
|
-
pending.current = false;
|
|
179
|
-
setAllowed(granted);
|
|
180
|
-
setOff(false);
|
|
181
|
-
setStatus(granted ? "Float enabled when tilt readings are available." : "Motion access is unavailable. Float stays still.");
|
|
182
|
-
}, () => {
|
|
183
|
-
if (request.current !== token)
|
|
184
|
-
return;
|
|
185
|
-
pending.current = false;
|
|
186
|
-
setStatus("Motion access is unavailable. Float stays still.");
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
return { toggle, status };
|
|
190
|
-
}
|
|
191
|
-
//# sourceMappingURL=useCardFloat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCardFloat.js","sourceRoot":"","sources":["../../jsr/hooks/useCardFloat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { MouseEvent, PointerEvent, KeyboardEvent, TouchEvent } from "react";
|
|
2
|
-
interface HomeMotionPressOptions {
|
|
3
|
-
readonly onHome: () => void;
|
|
4
|
-
readonly onLongPress?: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function useHomeMotionPress({ onHome, onLongPress }: HomeMotionPressOptions): {
|
|
7
|
-
onClick: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
8
|
-
onPointerDown: (event: PointerEvent<HTMLButtonElement>) => void;
|
|
9
|
-
onPointerMove: (event: PointerEvent<HTMLButtonElement>) => void;
|
|
10
|
-
onPointerUp: (event: PointerEvent<HTMLButtonElement>) => void;
|
|
11
|
-
onPointerCancel: () => void;
|
|
12
|
-
onPointerLeave: () => void;
|
|
13
|
-
onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => void;
|
|
14
|
-
onTouchStart: (event: TouchEvent<HTMLButtonElement>) => void;
|
|
15
|
-
onContextMenu: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
16
|
-
};
|
|
17
|
-
export {};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { useEffect, useRef } from "react";
|
|
2
|
-
const HOLD_MS = 500;
|
|
3
|
-
const MOVE_TOLERANCE_PX = 10;
|
|
4
|
-
export function useHomeMotionPress({ onHome, onLongPress }) {
|
|
5
|
-
const press = useRef(undefined);
|
|
6
|
-
const suppressClick = useRef(false);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
function cancelOtherPointer(event) {
|
|
9
|
-
if (press.current !== undefined && event.pointerId !== press.current.pointerId)
|
|
10
|
-
press.current = undefined;
|
|
11
|
-
}
|
|
12
|
-
function cancel() {
|
|
13
|
-
press.current = undefined;
|
|
14
|
-
suppressClick.current = false;
|
|
15
|
-
}
|
|
16
|
-
window.addEventListener("pointerdown", cancelOtherPointer, true);
|
|
17
|
-
window.addEventListener("blur", cancel);
|
|
18
|
-
return () => {
|
|
19
|
-
window.removeEventListener("pointerdown", cancelOtherPointer, true);
|
|
20
|
-
window.removeEventListener("blur", cancel);
|
|
21
|
-
};
|
|
22
|
-
}, []);
|
|
23
|
-
function cancelPress() {
|
|
24
|
-
press.current = undefined;
|
|
25
|
-
}
|
|
26
|
-
function onPointerDown(event) {
|
|
27
|
-
suppressClick.current = false;
|
|
28
|
-
press.current = undefined;
|
|
29
|
-
if (onLongPress === undefined || event.isPrimary === false || event.button !== 0)
|
|
30
|
-
return;
|
|
31
|
-
press.current = { pointerId: event.pointerId, x: event.clientX, y: event.clientY, started: Date.now() };
|
|
32
|
-
}
|
|
33
|
-
function onPointerMove(event) {
|
|
34
|
-
const origin = press.current;
|
|
35
|
-
if (origin === undefined)
|
|
36
|
-
return;
|
|
37
|
-
if (event.pointerId !== origin.pointerId ||
|
|
38
|
-
Math.hypot(event.clientX - origin.x, event.clientY - origin.y) > MOVE_TOLERANCE_PX) {
|
|
39
|
-
cancelPress();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function onPointerUp(event) {
|
|
43
|
-
const origin = press.current;
|
|
44
|
-
cancelPress();
|
|
45
|
-
if (origin === undefined || event.pointerId !== origin.pointerId || onLongPress === undefined)
|
|
46
|
-
return;
|
|
47
|
-
if (Math.hypot(event.clientX - origin.x, event.clientY - origin.y) > MOVE_TOLERANCE_PX)
|
|
48
|
-
return;
|
|
49
|
-
if (Date.now() - origin.started < HOLD_MS)
|
|
50
|
-
return;
|
|
51
|
-
suppressClick.current = true;
|
|
52
|
-
onLongPress();
|
|
53
|
-
}
|
|
54
|
-
function onClick(event) {
|
|
55
|
-
const suppress = suppressClick.current;
|
|
56
|
-
suppressClick.current = false;
|
|
57
|
-
if (suppress === true && event.detail !== 0) {
|
|
58
|
-
event.preventDefault();
|
|
59
|
-
event.stopPropagation();
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
onHome();
|
|
63
|
-
}
|
|
64
|
-
function onKeyDown(event) {
|
|
65
|
-
suppressClick.current = false;
|
|
66
|
-
cancelPress();
|
|
67
|
-
if (event.altKey === true && event.key === "Enter" && onLongPress !== undefined) {
|
|
68
|
-
event.preventDefault();
|
|
69
|
-
if (event.repeat === false)
|
|
70
|
-
onLongPress();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function onTouchStart(event) {
|
|
74
|
-
if (event.touches.length > 1)
|
|
75
|
-
cancelPress();
|
|
76
|
-
}
|
|
77
|
-
function onContextMenu(event) {
|
|
78
|
-
if (press.current !== undefined || suppressClick.current === true)
|
|
79
|
-
event.preventDefault();
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
onClick,
|
|
83
|
-
onPointerDown,
|
|
84
|
-
onPointerMove,
|
|
85
|
-
onPointerUp,
|
|
86
|
-
onPointerCancel: cancelPress,
|
|
87
|
-
onPointerLeave: cancelPress,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
onTouchStart,
|
|
90
|
-
onContextMenu,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=useHomeMotionPress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useHomeMotionPress.js","sourceRoot":"","sources":["../../jsr/hooks/useHomeMotionPress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface CardMotionReading {
|
|
2
|
-
readonly beta: number;
|
|
3
|
-
readonly gamma: number;
|
|
4
|
-
readonly angle: number;
|
|
5
|
-
}
|
|
6
|
-
export interface CardMotionSource {
|
|
7
|
-
canStartAutomatically(): Promise<boolean>;
|
|
8
|
-
requestPermission(): Promise<boolean>;
|
|
9
|
-
subscribe(read: (reading: CardMotionReading) => void): () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface OrientationConstructor {
|
|
12
|
-
requestPermission?: () => Promise<string>;
|
|
13
|
-
}
|
|
14
|
-
export interface SensorPermissions {
|
|
15
|
-
query(descriptor: {
|
|
16
|
-
name: string;
|
|
17
|
-
}): Promise<{
|
|
18
|
-
readonly state: PermissionState;
|
|
19
|
-
}>;
|
|
20
|
-
}
|
|
21
|
-
export declare function canStartMotionAutomatically(api: OrientationConstructor | undefined, permissions?: SensorPermissions): Promise<boolean>;
|
|
22
|
-
export declare function decodeCardMotionReading(event: Pick<DeviceOrientationEvent, "isTrusted" | "beta" | "gamma">, angle: number): CardMotionReading | undefined;
|
|
23
|
-
export declare const browserCardMotion: CardMotionSource;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export async function canStartMotionAutomatically(api, permissions) {
|
|
2
|
-
if (api === undefined)
|
|
3
|
-
return false;
|
|
4
|
-
if (api.requestPermission === undefined)
|
|
5
|
-
return true;
|
|
6
|
-
if (permissions === undefined)
|
|
7
|
-
return false;
|
|
8
|
-
const states = await Promise.allSettled([
|
|
9
|
-
Promise.resolve().then(() => permissions.query({ name: "accelerometer" })),
|
|
10
|
-
Promise.resolve().then(() => permissions.query({ name: "gyroscope" })),
|
|
11
|
-
]);
|
|
12
|
-
return states.every((result) => result.status === "fulfilled" && result.value.state === "granted");
|
|
13
|
-
}
|
|
14
|
-
export function decodeCardMotionReading(event, angle) {
|
|
15
|
-
if (!event.isTrusted || event.beta === null || event.gamma === null)
|
|
16
|
-
return undefined;
|
|
17
|
-
if (!Number.isFinite(event.beta) || !Number.isFinite(event.gamma) || !Number.isFinite(angle))
|
|
18
|
-
return undefined;
|
|
19
|
-
return { beta: event.beta, gamma: event.gamma, angle };
|
|
20
|
-
}
|
|
21
|
-
function orientation() {
|
|
22
|
-
if (typeof window === "undefined" || !window.isSecureContext || !("DeviceOrientationEvent" in window))
|
|
23
|
-
return undefined;
|
|
24
|
-
const constructor = window.DeviceOrientationEvent;
|
|
25
|
-
return constructor;
|
|
26
|
-
}
|
|
27
|
-
export const browserCardMotion = {
|
|
28
|
-
canStartAutomatically() {
|
|
29
|
-
const permissions = typeof navigator === "undefined" ? undefined : navigator.permissions;
|
|
30
|
-
return canStartMotionAutomatically(orientation(), permissions);
|
|
31
|
-
},
|
|
32
|
-
requestPermission() {
|
|
33
|
-
const api = orientation();
|
|
34
|
-
if (api === undefined)
|
|
35
|
-
return Promise.resolve(false);
|
|
36
|
-
return api.requestPermission === undefined
|
|
37
|
-
? Promise.resolve(true)
|
|
38
|
-
: api.requestPermission().then((permission) => permission === "granted");
|
|
39
|
-
},
|
|
40
|
-
subscribe(read) {
|
|
41
|
-
function receive(event) {
|
|
42
|
-
const reading = decodeCardMotionReading(event, window.screen.orientation?.angle ?? 0);
|
|
43
|
-
if (reading !== undefined)
|
|
44
|
-
read(reading);
|
|
45
|
-
}
|
|
46
|
-
window.addEventListener("deviceorientation", receive);
|
|
47
|
-
return () => window.removeEventListener("deviceorientation", receive);
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=card-motion-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card-motion-source.js","sourceRoot":"","sources":["../../jsr/motion/card-motion-source.ts"],"names":[],"mappings":"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"}
|