@buoy-gg/shared-ui 7.0.36 → 7.0.38
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 +33 -26
- package/floating.d.ts +1 -0
- package/floating.js +2 -0
- package/lib/commonjs/JsModal.js +16 -1
- package/lib/commonjs/JsModal.web.js +16 -1
- package/lib/commonjs/dataViewer/CyberpunkInput.js +6 -1
- package/lib/commonjs/dataViewer/LiveExplorer.js +28 -16
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/icons/ReactQueryIcon.js +9 -161
- package/lib/commonjs/icons/SentryBugIcon.js +9 -171
- package/lib/commonjs/index.js +57 -6
- package/lib/commonjs/license/AccountSetup.js +56 -0
- package/lib/commonjs/license/AccountSetup.web.js +81 -0
- package/lib/commonjs/license/FeatureGate.js +10 -43
- package/lib/commonjs/license/FreeAccountPrompt.js +35 -12
- package/lib/commonjs/license/index.js +0 -6
- package/lib/commonjs/license/licenseModule.js +56 -36
- package/lib/commonjs/license/tierLimits.js +12 -63
- package/lib/commonjs/storage/devToolsStorageKeys.js +8 -1
- package/lib/commonjs/stores/BaseEventStore.js +21 -5
- package/lib/commonjs/stores/createToolStore.js +21 -3
- package/lib/commonjs/stores/floatingToolStore.js +71 -0
- package/lib/commonjs/stores/floatingToolStore.test.js +112 -0
- package/lib/commonjs/sync/toolActionRegistry.js +85 -2
- package/lib/commonjs/ui/backgrounds/README.md +52 -0
- package/lib/commonjs/ui/backgrounds/ToolBackground.js +4 -2
- package/lib/commonjs/ui/backgrounds/index.js +8 -1
- package/lib/commonjs/ui/backgrounds/registry.js +8 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole/motion.js +48 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole/textures.js +3 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole.js +133 -0
- package/lib/commonjs/ui/components/ClipboardHintBanner.js +5 -6
- package/lib/commonjs/ui/components/CompactRow.js +94 -74
- package/lib/commonjs/ui/components/DraggableHeader.js +16 -1
- package/lib/commonjs/ui/components/HeaderSearchButton.js +17 -4
- package/lib/commonjs/ui/floating/FloatingTool.js +1010 -0
- package/lib/commonjs/ui/floating/FloatingTool.web.js +591 -0
- package/lib/commonjs/ui/floating/FloatingToolHost.js +32 -0
- package/lib/commonjs/ui/floating/FloatingToolHost.web.js +28 -0
- package/lib/commonjs/ui/floating/index.js +105 -0
- package/lib/commonjs/ui/floating/index.web.js +105 -0
- package/lib/commonjs/ui/floating/onboardingConstants.js +70 -0
- package/lib/commonjs/ui/floating/onboardingConstants.web.js +34 -0
- package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +3 -1
- package/lib/commonjs/ui/index.js +118 -2
- package/lib/commonjs/ui/night/nightTheme.js +10 -0
- package/lib/commonjs/ui/night/primitives.js +22 -5
- package/lib/commonjs/ui/otto/OttoSceneView.js +69 -0
- package/lib/commonjs/ui/otto/index.js +22 -0
- package/lib/commonjs/ui/otto/ottoEngine.js +10 -7
- package/lib/commonjs/ui/otto/ottoScenes.js +949 -0
- package/lib/commonjs/utils/minimalSuperJSON.js +13 -3
- package/lib/module/JsModal.js +16 -1
- package/lib/module/JsModal.web.js +16 -1
- package/lib/module/dataViewer/CyberpunkInput.js +6 -1
- package/lib/module/dataViewer/LiveExplorer.js +28 -16
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/icons/ReactQueryIcon.js +9 -161
- package/lib/module/icons/SentryBugIcon.js +9 -171
- package/lib/module/index.js +4 -1
- package/lib/module/license/AccountSetup.js +52 -0
- package/lib/module/license/AccountSetup.web.js +77 -0
- package/lib/module/license/FeatureGate.js +10 -43
- package/lib/module/license/FreeAccountPrompt.js +35 -12
- package/lib/module/license/index.js +1 -1
- package/lib/module/license/licenseModule.js +50 -35
- package/lib/module/license/tierLimits.js +13 -63
- package/lib/module/storage/devToolsStorageKeys.js +8 -1
- package/lib/module/stores/BaseEventStore.js +21 -5
- package/lib/module/stores/createToolStore.js +21 -3
- package/lib/module/stores/floatingToolStore.js +61 -0
- package/lib/module/stores/floatingToolStore.test.js +111 -0
- package/lib/module/sync/toolActionRegistry.js +84 -2
- package/lib/module/ui/backgrounds/README.md +52 -0
- package/lib/module/ui/backgrounds/ToolBackground.js +4 -2
- package/lib/module/ui/backgrounds/index.js +2 -1
- package/lib/module/ui/backgrounds/registry.js +8 -0
- package/lib/module/ui/backgrounds/variants/wormhole/motion.js +44 -0
- package/lib/module/ui/backgrounds/variants/wormhole/textures.js +3 -0
- package/lib/module/ui/backgrounds/variants/wormhole.js +129 -0
- package/lib/module/ui/components/ClipboardHintBanner.js +5 -6
- package/lib/module/ui/components/CompactRow.js +94 -74
- package/lib/module/ui/components/DraggableHeader.js +16 -1
- package/lib/module/ui/components/HeaderSearchButton.js +17 -4
- package/lib/module/ui/floating/FloatingTool.js +1003 -0
- package/lib/module/ui/floating/FloatingTool.web.js +590 -0
- package/lib/module/ui/floating/FloatingToolHost.js +29 -0
- package/lib/module/ui/floating/FloatingToolHost.web.js +25 -0
- package/lib/module/ui/floating/index.js +6 -0
- package/lib/module/ui/floating/index.web.js +6 -0
- package/lib/module/ui/floating/onboardingConstants.js +64 -0
- package/lib/module/ui/floating/onboardingConstants.web.js +27 -0
- package/lib/module/ui/gameUI/constants/gameUIColors.js +3 -1
- package/lib/module/ui/index.js +5 -1
- package/lib/module/ui/night/nightTheme.js +10 -0
- package/lib/module/ui/night/primitives.js +22 -5
- package/lib/module/ui/otto/OttoSceneView.js +64 -0
- package/lib/module/ui/otto/index.js +3 -1
- package/lib/module/ui/otto/ottoEngine.js +10 -7
- package/lib/module/ui/otto/ottoScenes.js +942 -0
- package/lib/module/utils/minimalSuperJSON.js +13 -3
- package/lib/typescript/commonjs/JsModal.d.ts +43 -2
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/JsModal.web.d.ts +5 -2
- package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/icons/ReactQueryIcon.d.ts +1 -2
- package/lib/typescript/commonjs/icons/ReactQueryIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/SentryBugIcon.d.ts +1 -2
- package/lib/typescript/commonjs/icons/SentryBugIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/AccountSetup.d.ts +4 -0
- package/lib/typescript/commonjs/license/AccountSetup.d.ts.map +1 -0
- package/lib/typescript/commonjs/license/AccountSetup.web.d.ts +2 -0
- package/lib/typescript/commonjs/license/AccountSetup.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/license/FeatureGate.d.ts +3 -19
- package/lib/typescript/commonjs/license/FeatureGate.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts +8 -11
- package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/index.d.ts +1 -1
- package/lib/typescript/commonjs/license/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/licenseModule.d.ts +18 -31
- package/lib/typescript/commonjs/license/licenseModule.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/tierLimits.d.ts +9 -52
- package/lib/typescript/commonjs/license/tierLimits.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +6 -0
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/stores/BaseEventStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/stores/createToolStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/stores/floatingToolStore.d.ts +27 -0
- package/lib/typescript/commonjs/stores/floatingToolStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/stores/floatingToolStore.test.d.ts +2 -0
- package/lib/typescript/commonjs/stores/floatingToolStore.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts +4 -32
- package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/ToolBackground.d.ts +7 -1
- package/lib/typescript/commonjs/ui/backgrounds/ToolBackground.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/index.d.ts +2 -1
- package/lib/typescript/commonjs/ui/backgrounds/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/types.d.ts +11 -1
- package/lib/typescript/commonjs/ui/backgrounds/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/motion.d.ts +24 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/motion.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/textures.d.ts +13 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole/textures.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole.d.ts +3 -0
- package/lib/typescript/commonjs/ui/backgrounds/variants/wormhole.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts +8 -1
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DraggableHeader.d.ts +4 -1
- package/lib/typescript/commonjs/ui/components/DraggableHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts +7 -1
- package/lib/typescript/commonjs/ui/components/HeaderSearchButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/floating/FloatingTool.d.ts +79 -0
- package/lib/typescript/commonjs/ui/floating/FloatingTool.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/FloatingTool.web.d.ts +64 -0
- package/lib/typescript/commonjs/ui/floating/FloatingTool.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/FloatingToolHost.d.ts +3 -0
- package/lib/typescript/commonjs/ui/floating/FloatingToolHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/FloatingToolHost.web.d.ts +3 -0
- package/lib/typescript/commonjs/ui/floating/FloatingToolHost.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/index.d.ts +7 -0
- package/lib/typescript/commonjs/ui/floating/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/index.web.d.ts +7 -0
- package/lib/typescript/commonjs/ui/floating/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/onboardingConstants.d.ts +30 -0
- package/lib/typescript/commonjs/ui/floating/onboardingConstants.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/floating/onboardingConstants.web.d.ts +13 -0
- package/lib/typescript/commonjs/ui/floating/onboardingConstants.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts +2 -0
- package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +6 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/night/nightTheme.d.ts +10 -0
- package/lib/typescript/commonjs/ui/night/nightTheme.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/night/primitives.d.ts +10 -3
- package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/otto/OttoSceneView.d.ts +30 -0
- package/lib/typescript/commonjs/ui/otto/OttoSceneView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/otto/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/otto/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/otto/ottoEngine.d.ts +1 -1
- package/lib/typescript/commonjs/ui/otto/ottoEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/otto/ottoScenes.d.ts +75 -0
- package/lib/typescript/commonjs/ui/otto/ottoScenes.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/minimalSuperJSON.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.d.ts +43 -2
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.web.d.ts +5 -2
- package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/icons/ReactQueryIcon.d.ts +1 -2
- package/lib/typescript/module/icons/ReactQueryIcon.d.ts.map +1 -1
- package/lib/typescript/module/icons/SentryBugIcon.d.ts +1 -2
- package/lib/typescript/module/icons/SentryBugIcon.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/license/AccountSetup.d.ts +4 -0
- package/lib/typescript/module/license/AccountSetup.d.ts.map +1 -0
- package/lib/typescript/module/license/AccountSetup.web.d.ts +2 -0
- package/lib/typescript/module/license/AccountSetup.web.d.ts.map +1 -0
- package/lib/typescript/module/license/FeatureGate.d.ts +3 -19
- package/lib/typescript/module/license/FeatureGate.d.ts.map +1 -1
- package/lib/typescript/module/license/FreeAccountPrompt.d.ts +8 -11
- package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +1 -1
- package/lib/typescript/module/license/index.d.ts +1 -1
- package/lib/typescript/module/license/index.d.ts.map +1 -1
- package/lib/typescript/module/license/licenseModule.d.ts +18 -31
- package/lib/typescript/module/license/licenseModule.d.ts.map +1 -1
- package/lib/typescript/module/license/tierLimits.d.ts +9 -52
- package/lib/typescript/module/license/tierLimits.d.ts.map +1 -1
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +6 -0
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/module/stores/BaseEventStore.d.ts.map +1 -1
- package/lib/typescript/module/stores/createToolStore.d.ts.map +1 -1
- package/lib/typescript/module/stores/floatingToolStore.d.ts +27 -0
- package/lib/typescript/module/stores/floatingToolStore.d.ts.map +1 -0
- package/lib/typescript/module/stores/floatingToolStore.test.d.ts +2 -0
- package/lib/typescript/module/stores/floatingToolStore.test.d.ts.map +1 -0
- package/lib/typescript/module/sync/toolActionRegistry.d.ts +4 -32
- package/lib/typescript/module/sync/toolActionRegistry.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/ToolBackground.d.ts +7 -1
- package/lib/typescript/module/ui/backgrounds/ToolBackground.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/index.d.ts +2 -1
- package/lib/typescript/module/ui/backgrounds/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/registry.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/types.d.ts +11 -1
- package/lib/typescript/module/ui/backgrounds/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/backgrounds/variants/wormhole/motion.d.ts +24 -0
- package/lib/typescript/module/ui/backgrounds/variants/wormhole/motion.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/wormhole/textures.d.ts +13 -0
- package/lib/typescript/module/ui/backgrounds/variants/wormhole/textures.d.ts.map +1 -0
- package/lib/typescript/module/ui/backgrounds/variants/wormhole.d.ts +3 -0
- package/lib/typescript/module/ui/backgrounds/variants/wormhole.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CompactRow.d.ts +8 -1
- package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DraggableHeader.d.ts +4 -1
- package/lib/typescript/module/ui/components/DraggableHeader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts +7 -1
- package/lib/typescript/module/ui/components/HeaderSearchButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/floating/FloatingTool.d.ts +79 -0
- package/lib/typescript/module/ui/floating/FloatingTool.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/FloatingTool.web.d.ts +64 -0
- package/lib/typescript/module/ui/floating/FloatingTool.web.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/FloatingToolHost.d.ts +3 -0
- package/lib/typescript/module/ui/floating/FloatingToolHost.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/FloatingToolHost.web.d.ts +3 -0
- package/lib/typescript/module/ui/floating/FloatingToolHost.web.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/index.d.ts +7 -0
- package/lib/typescript/module/ui/floating/index.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/index.web.d.ts +7 -0
- package/lib/typescript/module/ui/floating/index.web.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/onboardingConstants.d.ts +30 -0
- package/lib/typescript/module/ui/floating/onboardingConstants.d.ts.map +1 -0
- package/lib/typescript/module/ui/floating/onboardingConstants.web.d.ts +13 -0
- package/lib/typescript/module/ui/floating/onboardingConstants.web.d.ts.map +1 -0
- package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts +2 -0
- package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +6 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/night/nightTheme.d.ts +10 -0
- package/lib/typescript/module/ui/night/nightTheme.d.ts.map +1 -1
- package/lib/typescript/module/ui/night/primitives.d.ts +10 -3
- package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/module/ui/otto/OttoSceneView.d.ts +30 -0
- package/lib/typescript/module/ui/otto/OttoSceneView.d.ts.map +1 -0
- package/lib/typescript/module/ui/otto/index.d.ts +2 -0
- package/lib/typescript/module/ui/otto/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/otto/ottoEngine.d.ts +1 -1
- package/lib/typescript/module/ui/otto/ottoEngine.d.ts.map +1 -1
- package/lib/typescript/module/ui/otto/ottoScenes.d.ts +75 -0
- package/lib/typescript/module/ui/otto/ottoScenes.d.ts.map +1 -0
- package/lib/typescript/module/utils/minimalSuperJSON.d.ts.map +1 -1
- package/package.json +25 -5
- package/scripts/generate-wormhole-textures.cjs +261 -0
- package/scripts/test-wormhole-motion.cjs +59 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ARROW_BOTTOM_OFFSET", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _onboardingConstants.ARROW_BOTTOM_OFFSET;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ARROW_HEIGHT", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _onboardingConstants.ARROW_HEIGHT;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "FloatingTool", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _FloatingTool.FloatingTool;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "FloatingToolDivider", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _FloatingTool.Divider;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "FloatingToolHost", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _FloatingToolHost.FloatingToolHost;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "FloatingToolUserStatus", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _FloatingTool.UserStatus;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "SPACING_GAP", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _onboardingConstants.SPACING_GAP;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "calculateTargetPosition", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _onboardingConstants.calculateTargetPosition;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "calculateTooltipPosition", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _onboardingConstants.calculateTooltipPosition;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "dismissFloatingTool", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _floatingToolStore.dismissFloatingTool;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "getBubbleAnchorPosition", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _FloatingTool.getBubbleAnchorPosition;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "getFloatingTools", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _floatingToolStore.getFloatingTools;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "getScreenCenterY", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _onboardingConstants.getScreenCenterY;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "openFloatingTool", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _floatingToolStore.openFloatingTool;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "registerPersistentFloatingTool", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _floatingToolStore.registerPersistentFloatingTool;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "subscribeFloatingTools", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _floatingToolStore.subscribeFloatingTools;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
var _FloatingTool = require("./FloatingTool");
|
|
103
|
+
var _FloatingToolHost = require("./FloatingToolHost");
|
|
104
|
+
var _floatingToolStore = require("../../stores/floatingToolStore.js");
|
|
105
|
+
var _onboardingConstants = require("./onboardingConstants");
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ARROW_BOTTOM_OFFSET", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _onboardingConstantsWeb.ARROW_BOTTOM_OFFSET;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ARROW_HEIGHT", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _onboardingConstantsWeb.ARROW_HEIGHT;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "FloatingTool", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _FloatingToolWeb.FloatingTool;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "FloatingToolDivider", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _FloatingToolWeb.Divider;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "FloatingToolHost", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _FloatingToolHostWeb.FloatingToolHost;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "FloatingToolUserStatus", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _FloatingToolWeb.UserStatus;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "SPACING_GAP", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _onboardingConstantsWeb.SPACING_GAP;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "calculateTargetPosition", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _onboardingConstantsWeb.calculateTargetPosition;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "calculateTooltipPosition", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _onboardingConstantsWeb.calculateTooltipPosition;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "dismissFloatingTool", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _floatingToolStore.dismissFloatingTool;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "getBubbleAnchorPosition", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _FloatingToolWeb.getBubbleAnchorPosition;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "getFloatingTools", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _floatingToolStore.getFloatingTools;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "getScreenCenterY", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _onboardingConstantsWeb.getScreenCenterY;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "openFloatingTool", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _floatingToolStore.openFloatingTool;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "registerPersistentFloatingTool", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _floatingToolStore.registerPersistentFloatingTool;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "subscribeFloatingTools", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _floatingToolStore.subscribeFloatingTools;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
var _FloatingToolWeb = require("./FloatingTool.web.js");
|
|
103
|
+
var _FloatingToolHostWeb = require("./FloatingToolHost.web.js");
|
|
104
|
+
var _floatingToolStore = require("../../stores/floatingToolStore.js");
|
|
105
|
+
var _onboardingConstantsWeb = require("./onboardingConstants.web.js");
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SPACING_GAP = exports.ARROW_HEIGHT = exports.ARROW_BOTTOM_OFFSET = void 0;
|
|
7
|
+
exports.calculateTargetPosition = calculateTargetPosition;
|
|
8
|
+
exports.calculateTooltipPosition = calculateTooltipPosition;
|
|
9
|
+
exports.getScreenCenterY = getScreenCenterY;
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
/**
|
|
12
|
+
* Shared constants for onboarding tooltip positioning
|
|
13
|
+
* These ensure the floating menu aligns perfectly under the tooltip arrow
|
|
14
|
+
* All positions are calculated dynamically based on screen size
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// Arrow dimensions (relative positioning)
|
|
18
|
+
const ARROW_BOTTOM_OFFSET = exports.ARROW_BOTTOM_OFFSET = -40; // Arrow extends below tooltip
|
|
19
|
+
const ARROW_HEIGHT = exports.ARROW_HEIGHT = 20; // borderTopWidth of arrow
|
|
20
|
+
const SPACING_GAP = exports.SPACING_GAP = 10; // Gap between arrow tip and target element
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Calculate the center Y position of the screen
|
|
24
|
+
* This is used to vertically center the onboarding UI
|
|
25
|
+
*
|
|
26
|
+
* @returns Y coordinate at the center of the screen
|
|
27
|
+
*/
|
|
28
|
+
function getScreenCenterY() {
|
|
29
|
+
const {
|
|
30
|
+
height: screenHeight
|
|
31
|
+
} = _reactNative.Dimensions.get("window");
|
|
32
|
+
return screenHeight / 2;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Calculate the tooltip position to center it vertically on screen
|
|
37
|
+
* Uses flexbox-style centering - tooltip will center itself with its actual size
|
|
38
|
+
*
|
|
39
|
+
* @returns Distance from screen bottom for tooltip positioning
|
|
40
|
+
*/
|
|
41
|
+
function calculateTooltipPosition() {
|
|
42
|
+
// Position from center - tooltip will be centered with transform or flex
|
|
43
|
+
// We return a value that's slightly above center to account for the arrow below
|
|
44
|
+
const centerY = getScreenCenterY();
|
|
45
|
+
|
|
46
|
+
// Approximate offset to center the tooltip+arrow combo
|
|
47
|
+
// This is a reasonable estimate that works for most tooltip sizes
|
|
48
|
+
const estimatedHalfHeight = 130; // ~half of (tooltip + arrow)
|
|
49
|
+
|
|
50
|
+
return centerY - estimatedHalfHeight;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Calculate the position where a target element should be placed
|
|
55
|
+
* to align directly under the tooltip arrow
|
|
56
|
+
*
|
|
57
|
+
* @returns Distance from screen bottom where element should be positioned
|
|
58
|
+
*/
|
|
59
|
+
function calculateTargetPosition() {
|
|
60
|
+
const tooltipBottom = calculateTooltipPosition();
|
|
61
|
+
|
|
62
|
+
// Arrow tip position = tooltip bottom + arrow offset (arrow extends below, so negative)
|
|
63
|
+
const arrowTipFromBottom = tooltipBottom + ARROW_BOTTOM_OFFSET;
|
|
64
|
+
|
|
65
|
+
// Subtract arrow height to get to the actual tip
|
|
66
|
+
const actualArrowTip = arrowTipFromBottom - ARROW_HEIGHT;
|
|
67
|
+
|
|
68
|
+
// Subtract spacing gap to position element below arrow
|
|
69
|
+
return actualArrowTip - SPACING_GAP;
|
|
70
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SPACING_GAP = exports.ARROW_HEIGHT = exports.ARROW_BOTTOM_OFFSET = void 0;
|
|
7
|
+
exports.calculateTargetPosition = calculateTargetPosition;
|
|
8
|
+
exports.calculateTooltipPosition = calculateTooltipPosition;
|
|
9
|
+
exports.getScreenCenterY = getScreenCenterY;
|
|
10
|
+
/**
|
|
11
|
+
* Web twin of onboardingConstants.ts — same math, window.innerHeight instead
|
|
12
|
+
* of RN Dimensions.
|
|
13
|
+
*/
|
|
14
|
+
const ARROW_BOTTOM_OFFSET = exports.ARROW_BOTTOM_OFFSET = -40; // Arrow extends below tooltip
|
|
15
|
+
const ARROW_HEIGHT = exports.ARROW_HEIGHT = 20; // borderTopWidth of arrow
|
|
16
|
+
const SPACING_GAP = exports.SPACING_GAP = 10; // Gap between arrow tip and target element
|
|
17
|
+
|
|
18
|
+
function getScreenCenterY() {
|
|
19
|
+
return window.innerHeight / 2;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Distance from screen bottom for tooltip positioning (centered-ish). */
|
|
23
|
+
function calculateTooltipPosition() {
|
|
24
|
+
const estimatedHalfHeight = 130; // ~half of (tooltip + arrow)
|
|
25
|
+
return getScreenCenterY() - estimatedHalfHeight;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Distance from screen bottom where the bubble should sit (under the arrow). */
|
|
29
|
+
function calculateTargetPosition() {
|
|
30
|
+
const tooltipBottom = calculateTooltipPosition();
|
|
31
|
+
const arrowTipFromBottom = tooltipBottom + ARROW_BOTTOM_OFFSET;
|
|
32
|
+
const actualArrowTip = arrowTipFromBottom - ARROW_HEIGHT;
|
|
33
|
+
return actualArrowTip - SPACING_GAP;
|
|
34
|
+
}
|
|
@@ -218,5 +218,7 @@ const dialColors = exports.dialColors = {
|
|
|
218
218
|
dialGradient3: "rgba(255, 255, 255, 0.06)",
|
|
219
219
|
dialBorder: "rgba(255, 255, 255, 0.12)",
|
|
220
220
|
dialShadow: "#000000",
|
|
221
|
-
dialGridLine: "rgba(255, 255, 255, 0.08)"
|
|
221
|
+
dialGridLine: "rgba(255, 255, 255, 0.08)",
|
|
222
|
+
hubFill: "rgba(5, 5, 5, 0.34)",
|
|
223
|
+
hubHalo: "rgba(5, 5, 5, 0.12)"
|
|
222
224
|
};
|
package/lib/commonjs/ui/index.js
CHANGED
|
@@ -9,8 +9,36 @@ var _exportNames = {
|
|
|
9
9
|
CyberpunkSectionButton: true,
|
|
10
10
|
EVENT_LIST_PRESET: true,
|
|
11
11
|
LOG_LIST_PRESET: true,
|
|
12
|
-
CLIP_OFFSCREEN_CELLS: true
|
|
12
|
+
CLIP_OFFSCREEN_CELLS: true,
|
|
13
|
+
FloatingTool: true,
|
|
14
|
+
getBubbleAnchorPosition: true,
|
|
15
|
+
FloatingToolDivider: true,
|
|
16
|
+
FloatingToolUserStatus: true,
|
|
17
|
+
ARROW_BOTTOM_OFFSET: true,
|
|
18
|
+
ARROW_HEIGHT: true,
|
|
19
|
+
SPACING_GAP: true,
|
|
20
|
+
getScreenCenterY: true,
|
|
21
|
+
calculateTooltipPosition: true,
|
|
22
|
+
calculateTargetPosition: true,
|
|
23
|
+
FloatingToolHost: true,
|
|
24
|
+
openFloatingTool: true,
|
|
25
|
+
dismissFloatingTool: true,
|
|
26
|
+
registerPersistentFloatingTool: true,
|
|
27
|
+
getFloatingTools: true,
|
|
28
|
+
subscribeFloatingTools: true
|
|
13
29
|
};
|
|
30
|
+
Object.defineProperty(exports, "ARROW_BOTTOM_OFFSET", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _onboardingConstants.ARROW_BOTTOM_OFFSET;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "ARROW_HEIGHT", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _onboardingConstants.ARROW_HEIGHT;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
14
42
|
Object.defineProperty(exports, "CLIP_OFFSCREEN_CELLS", {
|
|
15
43
|
enumerable: true,
|
|
16
44
|
get: function () {
|
|
@@ -29,18 +57,102 @@ Object.defineProperty(exports, "EVENT_LIST_PRESET", {
|
|
|
29
57
|
return _listPresets.EVENT_LIST_PRESET;
|
|
30
58
|
}
|
|
31
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "FloatingTool", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _FloatingTool.FloatingTool;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "FloatingToolDivider", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _FloatingTool.Divider;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "FloatingToolHost", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _FloatingToolHost.FloatingToolHost;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "FloatingToolUserStatus", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _FloatingTool.UserStatus;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
32
84
|
Object.defineProperty(exports, "LOG_LIST_PRESET", {
|
|
33
85
|
enumerable: true,
|
|
34
86
|
get: function () {
|
|
35
87
|
return _listPresets.LOG_LIST_PRESET;
|
|
36
88
|
}
|
|
37
89
|
});
|
|
90
|
+
Object.defineProperty(exports, "SPACING_GAP", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _onboardingConstants.SPACING_GAP;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "calculateTargetPosition", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _onboardingConstants.calculateTargetPosition;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "calculateTooltipPosition", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _onboardingConstants.calculateTooltipPosition;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "dismissFloatingTool", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _floatingToolStore.dismissFloatingTool;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "getBubbleAnchorPosition", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () {
|
|
117
|
+
return _FloatingTool.getBubbleAnchorPosition;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "getFloatingTools", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _floatingToolStore.getFloatingTools;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "getScreenCenterY", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _onboardingConstants.getScreenCenterY;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
38
132
|
Object.defineProperty(exports, "monoFont", {
|
|
39
133
|
enumerable: true,
|
|
40
134
|
get: function () {
|
|
41
135
|
return _fonts.monoFont;
|
|
42
136
|
}
|
|
43
137
|
});
|
|
138
|
+
Object.defineProperty(exports, "openFloatingTool", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function () {
|
|
141
|
+
return _floatingToolStore.openFloatingTool;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "registerPersistentFloatingTool", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function () {
|
|
147
|
+
return _floatingToolStore.registerPersistentFloatingTool;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "subscribeFloatingTools", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function () {
|
|
153
|
+
return _floatingToolStore.subscribeFloatingTools;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
44
156
|
Object.defineProperty(exports, "toolTheme", {
|
|
45
157
|
enumerable: true,
|
|
46
158
|
get: function () {
|
|
@@ -98,4 +210,8 @@ Object.keys(_index4).forEach(function (key) {
|
|
|
98
210
|
}
|
|
99
211
|
});
|
|
100
212
|
});
|
|
101
|
-
var _listPresets = require("./listPresets.js");
|
|
213
|
+
var _listPresets = require("./listPresets.js");
|
|
214
|
+
var _FloatingTool = require("./floating/FloatingTool");
|
|
215
|
+
var _onboardingConstants = require("./floating/onboardingConstants");
|
|
216
|
+
var _FloatingToolHost = require("./floating/FloatingToolHost");
|
|
217
|
+
var _floatingToolStore = require("../stores/floatingToolStore.js");
|
|
@@ -39,6 +39,16 @@ const night = exports.night = {
|
|
|
39
39
|
border: "#1A1A1C",
|
|
40
40
|
/** Hairline between rows inside a card. */
|
|
41
41
|
separator: "rgba(255, 255, 255, 0.08)",
|
|
42
|
+
/**
|
|
43
|
+
* Glass variants of the surfaces above, for screens that sit on a living
|
|
44
|
+
* ToolBackground and want it to leak through (the dial settings). Same
|
|
45
|
+
* family as the dial hub's `hubFill` — black at a fraction, never a tint —
|
|
46
|
+
* with a white-alpha lift for rows and a white-alpha hairline so no dark
|
|
47
|
+
* ring appears when the field behind is bright.
|
|
48
|
+
*/
|
|
49
|
+
glass: "rgba(5, 5, 5, 0.50)",
|
|
50
|
+
glassElevated: "rgba(255, 255, 255, 0.06)",
|
|
51
|
+
glassBorder: "rgba(255, 255, 255, 0.07)",
|
|
42
52
|
/** Neutral fills, lightest → strongest. */
|
|
43
53
|
fill: "rgba(255, 255, 255, 0.06)",
|
|
44
54
|
fillSecondary: "rgba(255, 255, 255, 0.08)",
|
|
@@ -61,14 +61,19 @@ function NightFootnote({
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* A card: `#0C0C0C`, radius 14, hairline border. `padded` = interior 14.
|
|
66
|
+
* `glass` swaps the opaque fill for `night.color.glass` so the ToolBackground
|
|
67
|
+
* behind the sheet shows through the card.
|
|
68
|
+
*/
|
|
65
69
|
function NightCard({
|
|
66
70
|
children,
|
|
67
71
|
padded,
|
|
72
|
+
glass,
|
|
68
73
|
style
|
|
69
74
|
}) {
|
|
70
75
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
71
|
-
style: [styles.card, padded ? styles.cardPadded : null, style],
|
|
76
|
+
style: [styles.card, glass ? styles.cardGlass : null, padded ? styles.cardPadded : null, style],
|
|
72
77
|
children: children
|
|
73
78
|
});
|
|
74
79
|
}
|
|
@@ -222,11 +227,12 @@ function NightSegmented({
|
|
|
222
227
|
tabs,
|
|
223
228
|
activeKey,
|
|
224
229
|
onChange,
|
|
225
|
-
size = "md"
|
|
230
|
+
size = "md",
|
|
231
|
+
glass
|
|
226
232
|
}) {
|
|
227
233
|
const small = size === "sm";
|
|
228
234
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
229
|
-
style: styles.segmentTrack,
|
|
235
|
+
style: [styles.segmentTrack, glass ? styles.segmentTrackGlass : null],
|
|
230
236
|
children: tabs.map(tab => {
|
|
231
237
|
const active = tab.key === activeKey;
|
|
232
238
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
@@ -237,7 +243,7 @@ function NightSegmented({
|
|
|
237
243
|
},
|
|
238
244
|
accessibilityLabel: tab.label,
|
|
239
245
|
onPress: () => onChange(tab.key),
|
|
240
|
-
style: [styles.segment, small ? styles.segmentSm : null, active ? styles.segmentActive : null],
|
|
246
|
+
style: [styles.segment, small ? styles.segmentSm : null, active ? glass ? styles.segmentActiveGlass : styles.segmentActive : null],
|
|
241
247
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
242
248
|
style: [styles.segmentText, small ? styles.segmentTextSm : null, active ? styles.segmentTextActive : null],
|
|
243
249
|
children: tab.label
|
|
@@ -301,6 +307,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
301
307
|
borderColor: _nightTheme.night.color.border,
|
|
302
308
|
overflow: "hidden"
|
|
303
309
|
},
|
|
310
|
+
cardGlass: {
|
|
311
|
+
backgroundColor: _nightTheme.night.color.glass,
|
|
312
|
+
borderColor: _nightTheme.night.color.glassBorder
|
|
313
|
+
},
|
|
304
314
|
cardPadded: {
|
|
305
315
|
padding: _nightTheme.night.cardPad,
|
|
306
316
|
gap: 10
|
|
@@ -416,9 +426,16 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
416
426
|
justifyContent: "center",
|
|
417
427
|
borderRadius: _nightTheme.night.radius.segment
|
|
418
428
|
},
|
|
429
|
+
segmentTrackGlass: {
|
|
430
|
+
backgroundColor: _nightTheme.night.color.glass,
|
|
431
|
+
borderColor: _nightTheme.night.color.glassBorder
|
|
432
|
+
},
|
|
419
433
|
segmentActive: {
|
|
420
434
|
backgroundColor: _nightTheme.night.color.surfaceElevated
|
|
421
435
|
},
|
|
436
|
+
segmentActiveGlass: {
|
|
437
|
+
backgroundColor: _nightTheme.night.color.glassElevated
|
|
438
|
+
},
|
|
422
439
|
segmentText: {
|
|
423
440
|
fontSize: _nightTheme.night.font.caption,
|
|
424
441
|
fontWeight: "500",
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OTTO_SCENE_CROP_H = void 0;
|
|
7
|
+
exports.OttoSceneFrame = OttoSceneFrame;
|
|
8
|
+
exports.OttoSceneStill = OttoSceneStill;
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _ottoScenes = require("./ottoScenes.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
/**
|
|
13
|
+
* Otto × tool scenes in React Native (core APIs only, so it also runs through
|
|
14
|
+
* react-native-web).
|
|
15
|
+
*
|
|
16
|
+
* <OttoSceneFrame scene={…} t={tick} pixelSize={4} /> one frame, caller's clock
|
|
17
|
+
* <OttoSceneStill scene={…} pixelSize={2} /> frame 0, no clock
|
|
18
|
+
*
|
|
19
|
+
* A frame is ~150–250 run Views, so this is a still/hero renderer: drive `t`
|
|
20
|
+
* from a shared clock on a review page, not per list row. `crop` trims the
|
|
21
|
+
* canvas to the rows that carry pixels (the bottom rows are spare headroom).
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/** Rows 0–20 carry the art; 21–23 are headroom for hops. */
|
|
25
|
+
const OTTO_SCENE_CROP_H = exports.OTTO_SCENE_CROP_H = 21;
|
|
26
|
+
function OttoSceneFrame({
|
|
27
|
+
scene,
|
|
28
|
+
t = 0,
|
|
29
|
+
pixelSize,
|
|
30
|
+
crop = true,
|
|
31
|
+
style
|
|
32
|
+
}) {
|
|
33
|
+
const rows = crop ? OTTO_SCENE_CROP_H : _ottoScenes.OTTO_SCENE_H;
|
|
34
|
+
const runs = (0, _ottoScenes.ottoSceneRuns)((0, _ottoScenes.renderOttoScene)(scene, t)).filter(r => r.y < rows);
|
|
35
|
+
const spans = [];
|
|
36
|
+
let rowY = -1;
|
|
37
|
+
let rowIndex = 0;
|
|
38
|
+
for (const r of runs) {
|
|
39
|
+
if (r.y !== rowY) {
|
|
40
|
+
rowY = r.y;
|
|
41
|
+
rowIndex = 0;
|
|
42
|
+
}
|
|
43
|
+
spans.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
44
|
+
style: {
|
|
45
|
+
position: "absolute",
|
|
46
|
+
left: r.x * pixelSize,
|
|
47
|
+
top: r.y * pixelSize,
|
|
48
|
+
width: r.w * pixelSize,
|
|
49
|
+
height: pixelSize,
|
|
50
|
+
backgroundColor: r.color
|
|
51
|
+
}
|
|
52
|
+
}, `${r.y}:${rowIndex++}`));
|
|
53
|
+
}
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
55
|
+
pointerEvents: "none",
|
|
56
|
+
style: [{
|
|
57
|
+
width: _ottoScenes.OTTO_SCENE_W * pixelSize,
|
|
58
|
+
height: rows * pixelSize
|
|
59
|
+
}, style],
|
|
60
|
+
children: spans
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/** Frame 0 of a scene — safe anywhere a still image would be. */
|
|
64
|
+
function OttoSceneStill(props) {
|
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(OttoSceneFrame, {
|
|
66
|
+
...props,
|
|
67
|
+
t: 0
|
|
68
|
+
});
|
|
69
|
+
}
|
|
@@ -35,4 +35,26 @@ Object.keys(_OttoSprite).forEach(function (key) {
|
|
|
35
35
|
return _OttoSprite[key];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
});
|
|
39
|
+
var _ottoScenes = require("./ottoScenes.js");
|
|
40
|
+
Object.keys(_ottoScenes).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ottoScenes[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ottoScenes[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _OttoSceneView = require("./OttoSceneView.js");
|
|
51
|
+
Object.keys(_OttoSceneView).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _OttoSceneView[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _OttoSceneView[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
38
60
|
});
|
|
@@ -68,6 +68,13 @@ const BASE = {
|
|
|
68
68
|
legs: [0, 0, 0]
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* A keyboard, rows 10–12 from x=3: light top edge, a row of white key caps
|
|
73
|
+
* on grey, grey base. Three rows, so the body stays readable at 16px — a
|
|
74
|
+
* laptop screen at this size is a dark blob. See `typing`.
|
|
75
|
+
*/
|
|
76
|
+
const TYPING_KEYBOARD = ["nnnnnnnnnn", "lmlmlmlmlm", "mmmmmmmmmm"];
|
|
77
|
+
|
|
71
78
|
// Keys that count as "body" for the keyline pass. Props (n/m/l/p/1) get none.
|
|
72
79
|
const BODY_KEYS = "gsdhaArRk";
|
|
73
80
|
function walk(t) {
|
|
@@ -301,13 +308,9 @@ const OTTO_STATES = exports.OTTO_STATES = {
|
|
|
301
308
|
}),
|
|
302
309
|
typing: t => {
|
|
303
310
|
const e = [];
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
rect(12, 9, 12, 10, "n", e);
|
|
308
|
-
rect(4, 9, 11, 10, "1", e);
|
|
309
|
-
rect(7, 9, 8, 10, "g", e);
|
|
310
|
-
rect(2, 12, 13, 12, "m", e);
|
|
311
|
+
TYPING_KEYBOARD.forEach((row, dy) => {
|
|
312
|
+
for (let dx = 0; dx < row.length; dx++) e.push([3 + dx, 10 + dy, row[dx]]);
|
|
313
|
+
});
|
|
311
314
|
const tap = t % 2;
|
|
312
315
|
e.push([2, 10 + tap, "g"], [13, 11 - tap, "g"]);
|
|
313
316
|
return {
|