@buoy-gg/shared-ui 7.0.35 → 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/icons/index.js +7 -0
- package/lib/commonjs/index.js +105 -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/keyedArrays.js +209 -0
- package/lib/commonjs/sync/toolActionRegistry.js +85 -2
- package/lib/commonjs/sync/toolAttention.test.js +51 -0
- package/lib/commonjs/sync/toolUiBridge.js +58 -0
- package/lib/commonjs/sync/typedEdit.js +228 -0
- package/lib/commonjs/sync/valuePath.js +337 -0
- package/lib/commonjs/sync/valueShape.js +161 -0
- 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/ExpandablePopover.js +38 -6
- 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/icons/index.js +3 -1
- package/lib/module/index.js +8 -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/keyedArrays.js +204 -0
- package/lib/module/sync/toolActionRegistry.js +84 -2
- package/lib/module/sync/toolAttention.test.js +50 -0
- package/lib/module/sync/toolUiBridge.js +55 -0
- package/lib/module/sync/typedEdit.js +220 -0
- package/lib/module/sync/valuePath.js +330 -0
- package/lib/module/sync/valueShape.js +153 -0
- 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/ExpandablePopover.js +38 -6
- 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/icons/index.d.ts +1 -1
- package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +8 -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/keyedArrays.d.ts +35 -0
- package/lib/typescript/commonjs/sync/keyedArrays.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/sync/toolAttention.test.d.ts +2 -0
- package/lib/typescript/commonjs/sync/toolAttention.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/toolUiBridge.d.ts +25 -0
- package/lib/typescript/commonjs/sync/toolUiBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/sync/typedEdit.d.ts +70 -0
- package/lib/typescript/commonjs/sync/typedEdit.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/valuePath.d.ts +52 -0
- package/lib/typescript/commonjs/sync/valuePath.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/valueShape.d.ts +77 -0
- package/lib/typescript/commonjs/sync/valueShape.d.ts.map +1 -0
- 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/ExpandablePopover.d.ts +14 -1
- package/lib/typescript/commonjs/ui/components/ExpandablePopover.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/icons/index.d.ts +1 -1
- package/lib/typescript/module/icons/index.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +8 -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/keyedArrays.d.ts +35 -0
- package/lib/typescript/module/sync/keyedArrays.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/sync/toolAttention.test.d.ts +2 -0
- package/lib/typescript/module/sync/toolAttention.test.d.ts.map +1 -0
- package/lib/typescript/module/sync/toolUiBridge.d.ts +25 -0
- package/lib/typescript/module/sync/toolUiBridge.d.ts.map +1 -1
- package/lib/typescript/module/sync/typedEdit.d.ts +70 -0
- package/lib/typescript/module/sync/typedEdit.d.ts.map +1 -0
- package/lib/typescript/module/sync/valuePath.d.ts +52 -0
- package/lib/typescript/module/sync/valuePath.d.ts.map +1 -0
- package/lib/typescript/module/sync/valueShape.d.ts +77 -0
- package/lib/typescript/module/sync/valueShape.d.ts.map +1 -0
- 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/ExpandablePopover.d.ts +14 -1
- package/lib/typescript/module/ui/components/ExpandablePopover.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
|
@@ -321,9 +321,19 @@ function deserialize(payload) {
|
|
|
321
321
|
...json
|
|
322
322
|
};
|
|
323
323
|
|
|
324
|
-
// Apply transformations
|
|
325
|
-
|
|
326
|
-
|
|
324
|
+
// Apply transformations deepest path first: a Map's own annotation turns
|
|
325
|
+
// its entries array into a Map, after which the paths INSIDE it (a Map
|
|
326
|
+
// held by one of its values, say) can no longer be reached by index. The
|
|
327
|
+
// walker records parents before children, so the order is reversed here.
|
|
328
|
+
const annotations = Object.entries(meta.values).map(([pathString, type]) => ({
|
|
329
|
+
pathString,
|
|
330
|
+
type,
|
|
331
|
+
path: parsePath(pathString)
|
|
332
|
+
})).sort((a, b) => b.path.length - a.path.length);
|
|
333
|
+
for (const {
|
|
334
|
+
type,
|
|
335
|
+
path
|
|
336
|
+
} of annotations) {
|
|
327
337
|
if (path.length === 0) {
|
|
328
338
|
// Root level transformation
|
|
329
339
|
result = untransformValue(result, type);
|
package/lib/module/JsModal.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { getUseAccountAccess } from "./license/licenseModule.js";
|
|
4
|
+
import { AccountSetup } from "./license/AccountSetup";
|
|
3
5
|
/**
|
|
4
6
|
* JsModal - Ultra-optimized for true 60FPS performance
|
|
5
7
|
*
|
|
@@ -377,6 +379,7 @@ const JsModalComponent = ({
|
|
|
377
379
|
footerHeight = 0,
|
|
378
380
|
onBack,
|
|
379
381
|
onMinimize,
|
|
382
|
+
minimizeRequest = 0,
|
|
380
383
|
minimizeTargetPosition,
|
|
381
384
|
initialModalState,
|
|
382
385
|
zIndex,
|
|
@@ -684,6 +687,12 @@ const JsModalComponent = ({
|
|
|
684
687
|
});
|
|
685
688
|
}
|
|
686
689
|
}, [mode, onMinimize, minimizeTargetPosition, visibilityProgress, bottomSheetTranslateY, floatingScale, floatingPosition]);
|
|
690
|
+
const lastMinimizeRequest = useRef(minimizeRequest);
|
|
691
|
+
useEffect(() => {
|
|
692
|
+
if (lastMinimizeRequest.current === minimizeRequest) return;
|
|
693
|
+
lastMinimizeRequest.current = minimizeRequest;
|
|
694
|
+
handleMinimize();
|
|
695
|
+
}, [minimizeRequest, handleMinimize]);
|
|
687
696
|
|
|
688
697
|
// Apply initial modal state when restoring from minimized
|
|
689
698
|
useEffect(() => {
|
|
@@ -1792,4 +1801,10 @@ const footerStyles = StyleSheet.create({
|
|
|
1792
1801
|
// ============================================================================
|
|
1793
1802
|
// EXPORT - Memoized modal component for optimal performance
|
|
1794
1803
|
// ============================================================================
|
|
1795
|
-
export const JsModal = /*#__PURE__*/memo(
|
|
1804
|
+
export const JsModal = /*#__PURE__*/memo(props => {
|
|
1805
|
+
const access = getUseAccountAccess()();
|
|
1806
|
+
if (access.status !== "admitted") return props.visible ? /*#__PURE__*/_jsx(AccountSetup, {}) : null;
|
|
1807
|
+
return /*#__PURE__*/_jsx(JsModalComponent, {
|
|
1808
|
+
...props
|
|
1809
|
+
});
|
|
1810
|
+
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { getUseAccountAccess } from "./license/licenseModule.js";
|
|
4
|
+
import { AccountSetup } from "./license/AccountSetup";
|
|
3
5
|
/**
|
|
4
6
|
* JsModal.web — DOM port of JsModal.tsx (React Native).
|
|
5
7
|
*
|
|
@@ -753,6 +755,7 @@ const JsModalComponent = ({
|
|
|
753
755
|
onBack: _onBack,
|
|
754
756
|
// native never invokes it from JsModal either
|
|
755
757
|
onMinimize,
|
|
758
|
+
minimizeRequest = 0,
|
|
756
759
|
minimizeTargetPosition,
|
|
757
760
|
initialModalState,
|
|
758
761
|
zIndex,
|
|
@@ -958,6 +961,12 @@ const JsModalComponent = ({
|
|
|
958
961
|
}, () => onMinimize(currentState)));
|
|
959
962
|
}
|
|
960
963
|
}, [mode, onMinimize, minimizeTargetPosition, cancelAnims]);
|
|
964
|
+
const lastMinimizeRequest = useRef(minimizeRequest);
|
|
965
|
+
useEffect(() => {
|
|
966
|
+
if (lastMinimizeRequest.current === minimizeRequest) return;
|
|
967
|
+
lastMinimizeRequest.current = minimizeRequest;
|
|
968
|
+
handleMinimize();
|
|
969
|
+
}, [minimizeRequest, handleMinimize]);
|
|
961
970
|
|
|
962
971
|
// Apply initial modal state when restoring from minimized (native parity).
|
|
963
972
|
useEffect(() => {
|
|
@@ -1630,4 +1639,10 @@ const JsModalComponent = ({
|
|
|
1630
1639
|
// ============================================================================
|
|
1631
1640
|
// EXPORT — memoized like native
|
|
1632
1641
|
// ============================================================================
|
|
1633
|
-
export const JsModal = /*#__PURE__*/memo(
|
|
1642
|
+
export const JsModal = /*#__PURE__*/memo(props => {
|
|
1643
|
+
const access = getUseAccountAccess()();
|
|
1644
|
+
if (access.status !== "admitted") return props.visible ? /*#__PURE__*/_jsx(AccountSetup, {}) : null;
|
|
1645
|
+
return /*#__PURE__*/_jsx(JsModalComponent, {
|
|
1646
|
+
...props
|
|
1647
|
+
});
|
|
1648
|
+
});
|
|
@@ -222,7 +222,12 @@ export function CyberpunkInput({
|
|
|
222
222
|
}), showDeleteButton && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
223
223
|
style: [styles.deleteButton, isFocused && styles.deleteButtonFocused],
|
|
224
224
|
onPress: onDelete,
|
|
225
|
-
activeOpacity: 0.7
|
|
225
|
+
activeOpacity: 0.7
|
|
226
|
+
// The same handle scheme container nodes use (`<node>-delete`):
|
|
227
|
+
// the input is `<node>-input`, so its delete is `<node>-delete`.
|
|
228
|
+
,
|
|
229
|
+
testID: typeof props.testID === "string" && props.testID.endsWith("-input") ? `${props.testID.slice(0, -"-input".length)}-delete` : undefined,
|
|
230
|
+
accessibilityLabel: "Delete item",
|
|
226
231
|
children: /*#__PURE__*/_jsx(Trash, {
|
|
227
232
|
size: 14,
|
|
228
233
|
strokeWidth: 2,
|
|
@@ -188,22 +188,29 @@ function ToggleValueButton({
|
|
|
188
188
|
// Pre-compute styles based on value state
|
|
189
189
|
const badgeStyle = value ? styles.toggleBadgeTrue : styles.toggleBadgeFalse;
|
|
190
190
|
const textStyle = value ? styles.toggleTextTrue : styles.toggleTextFalse;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
style: styles.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
191
|
+
|
|
192
|
+
// Two sibling buttons: on web each renders a real <button>, and a delete
|
|
193
|
+
// button inside the toggle button is invalid HTML (its press would also
|
|
194
|
+
// flip the toggle).
|
|
195
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
196
|
+
style: styles.toggleRow,
|
|
197
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
198
|
+
"sentry-label": "ignore devtools explorer toggle button",
|
|
199
|
+
testID: `${testID}-toggle`,
|
|
200
|
+
accessibilityRole: "button",
|
|
201
|
+
accessibilityLabel: `${dataPath[dataPath.length - 1] ?? "value"}, ${value ? "true" : "false"}`,
|
|
202
|
+
style: styles.modernToggleButton,
|
|
203
|
+
onPress: handleClick,
|
|
204
|
+
hitSlop: HIT_SLOP_OPTIMIZED,
|
|
205
|
+
activeOpacity: 0.8,
|
|
206
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
207
|
+
style: [styles.toggleBadge, badgeStyle],
|
|
208
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
209
|
+
style: [styles.toggleBadgeText, textStyle],
|
|
210
|
+
children: value ? "TRUE" : "FALSE"
|
|
211
|
+
})
|
|
205
212
|
})
|
|
206
|
-
}), removable && writer.remove
|
|
213
|
+
}), removable && writer.remove ? /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
207
214
|
"sentry-label": "ignore devtools explorer delete button in toggle",
|
|
208
215
|
testID: `${testID}-delete`,
|
|
209
216
|
accessibilityRole: "button",
|
|
@@ -217,7 +224,7 @@ function ToggleValueButton({
|
|
|
217
224
|
strokeWidth: 2,
|
|
218
225
|
color: night.color.danger + "CC"
|
|
219
226
|
})
|
|
220
|
-
})]
|
|
227
|
+
}) : null]
|
|
221
228
|
});
|
|
222
229
|
}
|
|
223
230
|
// Optimized Explorer component following rule2 guidelines [[memory:4875251]]
|
|
@@ -860,6 +867,11 @@ const styles = StyleSheet.create({
|
|
|
860
867
|
borderColor: night.color.textTertiary + "66",
|
|
861
868
|
minHeight: 34
|
|
862
869
|
},
|
|
870
|
+
toggleRow: {
|
|
871
|
+
flexDirection: "row",
|
|
872
|
+
alignItems: "center",
|
|
873
|
+
gap: 6
|
|
874
|
+
},
|
|
863
875
|
modernToggleButton: {
|
|
864
876
|
flexDirection: "row",
|
|
865
877
|
alignItems: "center",
|
|
@@ -1,164 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import { jsx as _jsx
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
orange: {
|
|
12
|
-
color: "#FF8800",
|
|
13
|
-
glow: "#FF8800"
|
|
14
|
-
},
|
|
15
|
-
yellow: {
|
|
16
|
-
color: "#FFD700",
|
|
17
|
-
glow: "#FFD700"
|
|
18
|
-
},
|
|
19
|
-
purple: {
|
|
20
|
-
color: "#9945FF",
|
|
21
|
-
glow: "#9945FF"
|
|
22
|
-
},
|
|
23
|
-
cyan: {
|
|
24
|
-
color: "#00D4FF",
|
|
25
|
-
glow: "#00D4FF"
|
|
26
|
-
},
|
|
27
|
-
pink: {
|
|
28
|
-
color: "#FF45FF",
|
|
29
|
-
glow: "#FF45FF"
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
// Simplified orbital dots
|
|
34
|
-
const ORBITAL_DOTS = [{
|
|
35
|
-
x: 0.08,
|
|
36
|
-
y: 0.5
|
|
37
|
-
}, {
|
|
38
|
-
x: 0.92,
|
|
39
|
-
y: 0.5
|
|
40
|
-
}, {
|
|
41
|
-
x: 0.5,
|
|
42
|
-
y: 0.2
|
|
43
|
-
}, {
|
|
44
|
-
x: 0.5,
|
|
45
|
-
y: 0.8
|
|
46
|
-
}];
|
|
47
|
-
export const ReactQueryIcon = ({
|
|
48
|
-
size = 24,
|
|
49
|
-
color,
|
|
50
|
-
glowColor,
|
|
51
|
-
colorPreset = "red",
|
|
52
|
-
variant = "circuit",
|
|
53
|
-
noBackground = true
|
|
54
|
-
}) => {
|
|
55
|
-
const scale = noBackground ? size / 24 : size / 60;
|
|
56
|
-
const preset = ColorPresets[colorPreset] || ColorPresets.red;
|
|
57
|
-
const activeColor = color || preset.color;
|
|
58
|
-
const activeGlow = glowColor || preset.glow;
|
|
59
|
-
|
|
60
|
-
// Simplified hexagon using loop
|
|
61
|
-
const renderHexagon = () => {
|
|
62
|
-
const hexWidth = 8 * scale;
|
|
63
|
-
const hexHeight = 2.5 * scale;
|
|
64
|
-
const hexLeft = size / 2 - hexWidth / 2;
|
|
65
|
-
const hexTop = size / 2 - hexHeight / 2;
|
|
66
|
-
const rotations = [0, 60, -60];
|
|
67
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
68
|
-
children: [rotations.map((rotation, i) => /*#__PURE__*/_jsx(View, {
|
|
69
|
-
style: {
|
|
70
|
-
position: "absolute",
|
|
71
|
-
width: hexWidth,
|
|
72
|
-
height: hexHeight,
|
|
73
|
-
backgroundColor: activeColor,
|
|
74
|
-
left: hexLeft,
|
|
75
|
-
top: hexTop,
|
|
76
|
-
transform: rotation !== 0 ? [{
|
|
77
|
-
rotate: `${rotation}deg`
|
|
78
|
-
}] : undefined,
|
|
79
|
-
opacity: 0.9
|
|
80
|
-
}
|
|
81
|
-
}, `hex-${i}`)), /*#__PURE__*/_jsx(View, {
|
|
82
|
-
style: {
|
|
83
|
-
position: "absolute",
|
|
84
|
-
width: 10 * scale,
|
|
85
|
-
height: 10 * scale,
|
|
86
|
-
borderRadius: 2 * scale,
|
|
87
|
-
backgroundColor: activeGlow,
|
|
88
|
-
left: size / 2 - 5 * scale,
|
|
89
|
-
top: size / 2 - 5 * scale,
|
|
90
|
-
opacity: 0.15
|
|
91
|
-
}
|
|
92
|
-
})]
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
// Simplified orbital lines using loop
|
|
97
|
-
const renderOrbitalLines = () => {
|
|
98
|
-
const lineLength = 18 * scale;
|
|
99
|
-
const lineThickness = 2 * scale;
|
|
100
|
-
const orbitRadius = lineThickness / 2;
|
|
101
|
-
const rotations = [0, 60, -60];
|
|
102
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
103
|
-
children: [rotations.map((rotation, i) => /*#__PURE__*/_jsx(View, {
|
|
104
|
-
style: {
|
|
105
|
-
position: "absolute",
|
|
106
|
-
width: lineLength,
|
|
107
|
-
height: lineThickness,
|
|
108
|
-
backgroundColor: activeColor,
|
|
109
|
-
borderRadius: orbitRadius,
|
|
110
|
-
left: size / 2 - lineLength / 2,
|
|
111
|
-
top: size / 2 - lineThickness / 2,
|
|
112
|
-
transform: rotation !== 0 ? [{
|
|
113
|
-
rotate: `${rotation}deg`
|
|
114
|
-
}] : undefined,
|
|
115
|
-
opacity: 0.7
|
|
116
|
-
}
|
|
117
|
-
}, `orbit-${i}`)), ORBITAL_DOTS.map((dot, i) => /*#__PURE__*/_jsx(View, {
|
|
118
|
-
style: {
|
|
119
|
-
position: "absolute",
|
|
120
|
-
width: 2.5 * scale,
|
|
121
|
-
height: 2.5 * scale,
|
|
122
|
-
borderRadius: 1.25 * scale,
|
|
123
|
-
backgroundColor: activeGlow,
|
|
124
|
-
left: dot.x * size - 1.25 * scale,
|
|
125
|
-
top: dot.y * size - 1.25 * scale,
|
|
126
|
-
opacity: 0.5
|
|
127
|
-
}
|
|
128
|
-
}, `dot-${i}`))]
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
const iconContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
132
|
-
children: [renderOrbitalLines(), renderHexagon(), /*#__PURE__*/_jsx(View, {
|
|
133
|
-
style: {
|
|
134
|
-
position: "absolute",
|
|
135
|
-
width: size * 0.7,
|
|
136
|
-
height: size * 0.7,
|
|
137
|
-
borderRadius: size * 0.35,
|
|
138
|
-
borderWidth: 0.5 * scale,
|
|
139
|
-
borderColor: activeGlow,
|
|
140
|
-
left: size * 0.15,
|
|
141
|
-
top: size * 0.15,
|
|
142
|
-
opacity: 0.2
|
|
143
|
-
}
|
|
144
|
-
})]
|
|
145
|
-
});
|
|
146
|
-
if (noBackground) {
|
|
147
|
-
return /*#__PURE__*/_jsx(View, {
|
|
148
|
-
style: {
|
|
149
|
-
width: size,
|
|
150
|
-
height: size,
|
|
151
|
-
position: "relative",
|
|
152
|
-
alignItems: "center",
|
|
153
|
-
justifyContent: "center"
|
|
154
|
-
},
|
|
155
|
-
children: iconContent
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
return /*#__PURE__*/_jsx(IconBackground, {
|
|
159
|
-
size: size,
|
|
160
|
-
glowColor: activeGlow,
|
|
161
|
-
variant: variant,
|
|
162
|
-
children: iconContent
|
|
3
|
+
// Compatibility export: all tool surfaces use the approved raster artwork.
|
|
4
|
+
import { QueryIcon } from "@buoy-gg/floating-tools-core";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export function ReactQueryIcon({
|
|
7
|
+
size = 24
|
|
8
|
+
}) {
|
|
9
|
+
return /*#__PURE__*/_jsx(QueryIcon, {
|
|
10
|
+
size: size
|
|
163
11
|
});
|
|
164
|
-
}
|
|
12
|
+
}
|
|
@@ -1,176 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const ColorPresets = {
|
|
8
|
-
red: {
|
|
9
|
-
color: "#FF3366",
|
|
10
|
-
glow: "#FF3366"
|
|
11
|
-
},
|
|
12
|
-
purple: {
|
|
13
|
-
color: "#9945FF",
|
|
14
|
-
glow: "#9945FF"
|
|
15
|
-
},
|
|
16
|
-
orange: {
|
|
17
|
-
color: "#FF8800",
|
|
18
|
-
glow: "#FF8800"
|
|
19
|
-
},
|
|
20
|
-
pink: {
|
|
21
|
-
color: "#FF45FF",
|
|
22
|
-
glow: "#FF45FF"
|
|
23
|
-
},
|
|
24
|
-
cyan: {
|
|
25
|
-
color: "#00D4FF",
|
|
26
|
-
glow: "#00D4FF"
|
|
27
|
-
},
|
|
28
|
-
green: {
|
|
29
|
-
color: "#00FF88",
|
|
30
|
-
glow: "#00FF88"
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// Leg positions simplified
|
|
35
|
-
const LEGS = [{
|
|
36
|
-
y: 0.3,
|
|
37
|
-
side: "left",
|
|
38
|
-
rotation: -20
|
|
39
|
-
}, {
|
|
40
|
-
y: 0.5,
|
|
41
|
-
side: "left",
|
|
42
|
-
rotation: -20
|
|
43
|
-
}, {
|
|
44
|
-
y: 0.7,
|
|
45
|
-
side: "left",
|
|
46
|
-
rotation: -20
|
|
47
|
-
}, {
|
|
48
|
-
y: 0.3,
|
|
49
|
-
side: "right",
|
|
50
|
-
rotation: 20
|
|
51
|
-
}, {
|
|
52
|
-
y: 0.5,
|
|
53
|
-
side: "right",
|
|
54
|
-
rotation: 20
|
|
55
|
-
}, {
|
|
56
|
-
y: 0.7,
|
|
57
|
-
side: "right",
|
|
58
|
-
rotation: 20
|
|
59
|
-
}];
|
|
60
|
-
export const SentryBugIcon = ({
|
|
3
|
+
// Compatibility export: all tool surfaces use the approved raster artwork.
|
|
4
|
+
import { SentryIcon } from "@buoy-gg/floating-tools-core";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export function SentryBugIcon({
|
|
61
7
|
size = 24,
|
|
62
|
-
color
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
variant = "circuit",
|
|
66
|
-
noBackground = true
|
|
67
|
-
}) => {
|
|
68
|
-
const scale = noBackground ? size / 24 : size / 60;
|
|
69
|
-
const preset = ColorPresets[colorPreset] || ColorPresets.red;
|
|
70
|
-
const activeColor = color || preset.color;
|
|
71
|
-
const activeGlow = glowColor || preset.glow;
|
|
72
|
-
const iconContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
73
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
74
|
-
style: {
|
|
75
|
-
position: "absolute",
|
|
76
|
-
width: 12 * scale,
|
|
77
|
-
height: 14 * scale,
|
|
78
|
-
borderRadius: 6 * scale,
|
|
79
|
-
backgroundColor: activeColor,
|
|
80
|
-
left: size / 2 - 6 * scale,
|
|
81
|
-
top: size / 2 - 5 * scale,
|
|
82
|
-
opacity: 0.9
|
|
83
|
-
}
|
|
84
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
85
|
-
style: {
|
|
86
|
-
position: "absolute",
|
|
87
|
-
width: 8 * scale,
|
|
88
|
-
height: 6 * scale,
|
|
89
|
-
borderRadius: 4 * scale,
|
|
90
|
-
backgroundColor: activeColor,
|
|
91
|
-
left: size / 2 - 4 * scale,
|
|
92
|
-
top: size / 2 - 9 * scale,
|
|
93
|
-
opacity: 0.95
|
|
94
|
-
}
|
|
95
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
96
|
-
style: {
|
|
97
|
-
position: "absolute",
|
|
98
|
-
width: 14 * scale,
|
|
99
|
-
height: 16 * scale,
|
|
100
|
-
borderRadius: 7 * scale,
|
|
101
|
-
backgroundColor: activeGlow,
|
|
102
|
-
left: size / 2 - 7 * scale,
|
|
103
|
-
top: size / 2 - 6 * scale,
|
|
104
|
-
opacity: 0.15
|
|
105
|
-
}
|
|
106
|
-
}), LEGS.map((leg, i) => /*#__PURE__*/_jsx(View, {
|
|
107
|
-
style: {
|
|
108
|
-
position: "absolute",
|
|
109
|
-
width: 4 * scale,
|
|
110
|
-
height: 0.8 * scale,
|
|
111
|
-
backgroundColor: activeColor,
|
|
112
|
-
[leg.side]: size / 2 - 10 * scale,
|
|
113
|
-
top: size / 2 - 4 * scale + leg.y * 10 * scale,
|
|
114
|
-
transform: [{
|
|
115
|
-
rotate: `${leg.rotation}deg`
|
|
116
|
-
}],
|
|
117
|
-
opacity: 0.8
|
|
118
|
-
}
|
|
119
|
-
}, `leg-${i}`)), [-15, 15].map((rotation, i) => /*#__PURE__*/_jsxs(Fragment, {
|
|
120
|
-
children: [/*#__PURE__*/_jsx(View, {
|
|
121
|
-
style: {
|
|
122
|
-
position: "absolute",
|
|
123
|
-
width: 0.5 * scale,
|
|
124
|
-
height: 4 * scale,
|
|
125
|
-
backgroundColor: activeColor,
|
|
126
|
-
[i === 0 ? "left" : "right"]: size / 2 - 2 * scale,
|
|
127
|
-
top: size / 2 - 11 * scale,
|
|
128
|
-
transform: [{
|
|
129
|
-
rotate: `${rotation}deg`
|
|
130
|
-
}],
|
|
131
|
-
opacity: 0.7
|
|
132
|
-
}
|
|
133
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
134
|
-
style: {
|
|
135
|
-
position: "absolute",
|
|
136
|
-
width: 1.5 * scale,
|
|
137
|
-
height: 1.5 * scale,
|
|
138
|
-
borderRadius: 0.75 * scale,
|
|
139
|
-
backgroundColor: activeGlow,
|
|
140
|
-
[i === 0 ? "left" : "right"]: size / 2 - 3 * scale,
|
|
141
|
-
top: size / 2 - 12 * scale,
|
|
142
|
-
opacity: 0.6
|
|
143
|
-
}
|
|
144
|
-
})]
|
|
145
|
-
}, `antenna-${i}`)), /*#__PURE__*/_jsx(View, {
|
|
146
|
-
style: {
|
|
147
|
-
position: "absolute",
|
|
148
|
-
width: 1 * scale,
|
|
149
|
-
height: 1 * scale,
|
|
150
|
-
borderRadius: 0.5 * scale,
|
|
151
|
-
backgroundColor: "#fff",
|
|
152
|
-
left: size / 2 - 0.5 * scale,
|
|
153
|
-
top: size / 2,
|
|
154
|
-
opacity: 0.3
|
|
155
|
-
}
|
|
156
|
-
})]
|
|
157
|
-
});
|
|
158
|
-
if (noBackground) {
|
|
159
|
-
return /*#__PURE__*/_jsx(View, {
|
|
160
|
-
style: {
|
|
161
|
-
width: size,
|
|
162
|
-
height: size,
|
|
163
|
-
position: "relative",
|
|
164
|
-
alignItems: "center",
|
|
165
|
-
justifyContent: "center"
|
|
166
|
-
},
|
|
167
|
-
children: iconContent
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return /*#__PURE__*/_jsx(IconBackground, {
|
|
8
|
+
color
|
|
9
|
+
}) {
|
|
10
|
+
return /*#__PURE__*/_jsx(SentryIcon, {
|
|
171
11
|
size: size,
|
|
172
|
-
|
|
173
|
-
variant: variant,
|
|
174
|
-
children: iconContent
|
|
12
|
+
color: color ?? "#9945FF"
|
|
175
13
|
});
|
|
176
|
-
}
|
|
14
|
+
}
|
|
@@ -48,7 +48,9 @@ export * from "./lucide-icons.js";
|
|
|
48
48
|
// stands it upright, which the glyph data has no way to express (the ports draw
|
|
49
49
|
// the resting pose only). `WifiIcon` stays lucide for the same kind of reason —
|
|
50
50
|
// see the `WifiBifIcon` note below.
|
|
51
|
-
export { ActivityGlyph as Activity, AlertCircleGlyph as AlertCircle, AlertTriangleGlyph as AlertTriangle, BookmarkGlyph as Bookmark, BoxGlyph as Box, BugGlyph as Bug, CheckCircleGlyph as CheckCircle, CheckGlyph as Check, ChevronDownGlyph as ChevronDown, ChevronLeftGlyph as ChevronLeft, ChevronRightGlyph as ChevronRight, ChevronUpGlyph as ChevronUp, ClockGlyph as Clock, CopyGlyph as Copy, DatabaseGlyph as Database, DockBottomGlyph as DockBottom, DownloadGlyph as Download, Edit3Glyph as Edit3, EyeOffGlyph as EyeOff, EyeGlyph as Eye, FileJsonGlyph as FileJson, FileTextGlyph as FileText, FilmGlyph as Film, FilterGlyph as Filter, FlaskConicalGlyph as FlaskConical, FloatWindowGlyph as FloatWindow, GitBranchGlyph as GitBranch, GlobeGlyph as Globe, HashGlyph as Hash, HomeGlyph as Home, ImageGlyph as Image, InfoGlyph as Info, KeyGlyph as Key, LayersGlyph as Layers, LinkGlyph as Link, LockGlyph as Lock, MinusGlyph as Minus, MusicGlyph as Music, NavigationGlyph as Navigation, PaletteGlyph as Palette, PauseGlyph as Pause, PlayGlyph as Play, PlusGlyph as Plus, PowerGlyph as Power, RefreshCwGlyph as RefreshCw, SearchGlyph as Search, ServerGlyph as Server, SettingsGlyph as Settings,
|
|
51
|
+
export { ActivityGlyph as Activity, AlertCircleGlyph as AlertCircle, AlertTriangleGlyph as AlertTriangle, BookmarkGlyph as Bookmark, BoxGlyph as Box, BugGlyph as Bug, CheckCircleGlyph as CheckCircle, CheckGlyph as Check, ChevronDownGlyph as ChevronDown, ChevronLeftGlyph as ChevronLeft, ChevronRightGlyph as ChevronRight, ChevronUpGlyph as ChevronUp, ClockGlyph as Clock, CopyGlyph as Copy, DatabaseGlyph as Database, DockBottomGlyph as DockBottom, DownloadGlyph as Download, Edit3Glyph as Edit3, EyeOffGlyph as EyeOff, EyeGlyph as Eye, FileJsonGlyph as FileJson, FileTextGlyph as FileText, FilmGlyph as Film, FilterGlyph as Filter, FlaskConicalGlyph as FlaskConical, FloatWindowGlyph as FloatWindow, GitBranchGlyph as GitBranch, GlobeGlyph as Globe, HashGlyph as Hash, HomeGlyph as Home, ImageGlyph as Image, InfoGlyph as Info, KeyGlyph as Key, LayersGlyph as Layers, LinkGlyph as Link, LockGlyph as Lock, MinusGlyph as Minus, MusicGlyph as Music, NavigationGlyph as Navigation, PaletteGlyph as Palette, PauseGlyph as Pause, PlayGlyph as Play, PlusGlyph as Plus, PowerGlyph as Power, RefreshCwGlyph as RefreshCw, SearchGlyph as Search, ServerGlyph as Server, SettingsGlyph as Settings,
|
|
52
|
+
// Solid gear (brand tier, so a caller's strokeWidth can't blow the hole open).
|
|
53
|
+
SettingsSolidIcon as SettingsSolid, ShieldGlyph as Shield, Trash2Glyph as Trash2,
|
|
52
54
|
// RN aliases `Trash` onto `Trash2Icon`; the glyph has to shadow both.
|
|
53
55
|
Trash2Glyph as Trash, UnlockGlyph as Unlock, UploadGlyph as Upload, UserGlyph as User, WifiGlyph as Wifi, XCircleGlyph as XCircle, XGlyph as X, ZapGlyph as Zap } from "@buoy-gg/floating-tools-core";
|
|
54
56
|
|
package/lib/module/index.js
CHANGED
|
@@ -5,6 +5,10 @@ export * from "./ui/index.js";
|
|
|
5
5
|
|
|
6
6
|
// Store base classes
|
|
7
7
|
export * from "./stores/index.js";
|
|
8
|
+
export * from "./sync/keyedArrays.js";
|
|
9
|
+
export * from "./sync/valueShape.js";
|
|
10
|
+
export * from "./sync/valuePath.js";
|
|
11
|
+
export * from "./sync/typedEdit.js";
|
|
8
12
|
export * from "./sync/wireBudget.js";
|
|
9
13
|
export * from "./sync/wireForm.js";
|
|
10
14
|
export * from "./sync/toolSyncAdapter.js";
|
|
@@ -98,4 +102,7 @@ export { HintsProvider, useHintsDisabled, useHintsContext } from "./context/inde
|
|
|
98
102
|
export * from "./history/index.js";
|
|
99
103
|
|
|
100
104
|
// License/Feature gating exports
|
|
101
|
-
export { FeatureGate, UpgradePrompt, useFeatureGate, ProFeatureBanner, UpgradeModal, LicenseEntryModal, ProBadge, ProUpgradeModal, FreeAccountPrompt, LOGIN_COMMAND, getUseIsPro, getUseLicense, getUseTier, TIER_LIMITS, useLimit, resolveEffectiveTier
|
|
105
|
+
export { FeatureGate, UpgradePrompt, useFeatureGate, ProFeatureBanner, UpgradeModal, LicenseEntryModal, ProBadge, ProUpgradeModal, FreeAccountPrompt, LOGIN_COMMAND, getUseIsPro, getUseLicense, getUseTier, TIER_LIMITS, useLimit, resolveEffectiveTier } from "./license/index.js";
|
|
106
|
+
export { getAccountAccess, hasAccountAccess, assertAccountAccess, subscribeAccountAccess, getUseAccountAccess, retryAccountAccess } from "./license/licenseModule.js";
|
|
107
|
+
export { guardToolAdapter } from "./sync/toolActionRegistry.js";
|
|
108
|
+
export { AccountSetup } from "./license/AccountSetup";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
5
|
+
import { FreeAccountPrompt } from "./FreeAccountPrompt.js";
|
|
6
|
+
import { getUseAccountAccess } from "./licenseModule.js";
|
|
7
|
+
import { buoyColors } from "../ui/gameUI/constants/gameUIColors.js";
|
|
8
|
+
|
|
9
|
+
/** The host app remains usable; only the Buoy launcher opens setup. */
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export function AccountSetup() {
|
|
12
|
+
const access = getUseAccountAccess()();
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
15
|
+
pointerEvents: "box-none",
|
|
16
|
+
style: styles.root,
|
|
17
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
18
|
+
accessibilityRole: "button",
|
|
19
|
+
accessibilityLabel: "Set up Buoy account",
|
|
20
|
+
onPress: () => setOpen(true),
|
|
21
|
+
style: styles.button,
|
|
22
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
23
|
+
style: styles.text,
|
|
24
|
+
children: access.status === "initializing" ? "BUOY · Checking…" : "BUOY · Sign in"
|
|
25
|
+
})
|
|
26
|
+
}), /*#__PURE__*/_jsx(FreeAccountPrompt, {
|
|
27
|
+
visible: open,
|
|
28
|
+
onClose: () => setOpen(false)
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const styles = StyleSheet.create({
|
|
33
|
+
root: {
|
|
34
|
+
position: "absolute",
|
|
35
|
+
bottom: 30,
|
|
36
|
+
right: 16,
|
|
37
|
+
zIndex: 99999
|
|
38
|
+
},
|
|
39
|
+
button: {
|
|
40
|
+
backgroundColor: buoyColors.card,
|
|
41
|
+
borderWidth: 1,
|
|
42
|
+
borderColor: buoyColors.primary,
|
|
43
|
+
borderRadius: 24,
|
|
44
|
+
paddingVertical: 12,
|
|
45
|
+
paddingHorizontal: 16
|
|
46
|
+
},
|
|
47
|
+
text: {
|
|
48
|
+
color: buoyColors.primary,
|
|
49
|
+
fontWeight: "700",
|
|
50
|
+
fontSize: 12
|
|
51
|
+
}
|
|
52
|
+
});
|