@noya-app/noya-multiplayer-react 0.1.56 → 0.1.58
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/.turbo/turbo-build.log +11 -11
- package/CHANGELOG.md +17 -0
- package/dist/index.bundle.js +13 -12
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/NoyaStateContext.tsx +17 -0
- package/src/inspector/useStateInspector.tsx +4 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, NoyaManagerOptions, SyncAdapter, TSchema, Static, SafeEval, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
2
|
+
import { AIToolDefinition, ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, NoyaManagerOptions, SyncAdapter, TSchema, Static, PublishCallback, SafeEval, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps } from 'react';
|
|
5
5
|
import * as _noya_app_noya_schemas from '@noya-app/noya-schemas';
|
|
@@ -274,6 +274,7 @@ declare function useOutputTransforms(): ({
|
|
|
274
274
|
order: number;
|
|
275
275
|
})[];
|
|
276
276
|
declare function useIOManager(): _noya_app_state_manager.IOManager;
|
|
277
|
+
declare function usePublish(callback: PublishCallback): void;
|
|
277
278
|
declare function useIsInitialized(): boolean;
|
|
278
279
|
declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
279
280
|
declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
|
|
@@ -364,4 +365,4 @@ declare class WebSocketConnection<State> {
|
|
|
364
365
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
365
366
|
}
|
|
366
367
|
|
|
367
|
-
export { AnyEphemeralUserDataManagerContext, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useCallableAITools, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useRegisterAITool, useSecret, useSecretManager, useSecrets, useStateInspector, useSyncStateManager, useViewType };
|
|
368
|
+
export { AnyEphemeralUserDataManagerContext, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useCallableAITools, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useSecret, useSecretManager, useSecrets, useStateInspector, useSyncStateManager, useViewType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _noya_app_state_manager from '@noya-app/state-manager';
|
|
2
|
-
import { AIToolDefinition, ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, NoyaManagerOptions, SyncAdapter, TSchema, Static, SafeEval, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
2
|
+
import { AIToolDefinition, ConnectedUsersManager, EphemeralUserDataManager, NoyaManager, StateManager, StateManagerOptions, NoyaManagerOptions, SyncAdapter, TSchema, Static, PublishCallback, SafeEval, CreateParams, MultiplayerStateManager, ReconnectingWebSocketState, ClientToServerMessage, ServerToClientMessage, MultiplayerStateManagerError } from '@noya-app/state-manager';
|
|
3
3
|
export * from '@noya-app/state-manager';
|
|
4
4
|
import React, { SetStateAction, ComponentProps } from 'react';
|
|
5
5
|
import * as _noya_app_noya_schemas from '@noya-app/noya-schemas';
|
|
@@ -274,6 +274,7 @@ declare function useOutputTransforms(): ({
|
|
|
274
274
|
order: number;
|
|
275
275
|
})[];
|
|
276
276
|
declare function useIOManager(): _noya_app_state_manager.IOManager;
|
|
277
|
+
declare function usePublish(callback: PublishCallback): void;
|
|
277
278
|
declare function useIsInitialized(): boolean;
|
|
278
279
|
declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
|
|
279
280
|
declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
|
|
@@ -364,4 +365,4 @@ declare class WebSocketConnection<State> {
|
|
|
364
365
|
removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
|
|
365
366
|
}
|
|
366
367
|
|
|
367
|
-
export { AnyEphemeralUserDataManagerContext, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useCallableAITools, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useRegisterAITool, useSecret, useSecretManager, useSecrets, useStateInspector, useSyncStateManager, useViewType };
|
|
368
|
+
export { AnyEphemeralUserDataManagerContext, AnyNoyaStateContext, type AnyNoyaStateContextValue, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type NoyaStateProviderProps, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useCallableAITools, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, usePublish, useRegisterAITool, useSecret, useSecretManager, useSecrets, useStateInspector, useSyncStateManager, useViewType };
|
package/dist/index.js
CHANGED
|
@@ -1143,6 +1143,7 @@ __export(src_exports, {
|
|
|
1143
1143
|
useObservable: () => useObservable,
|
|
1144
1144
|
useOutputTransforms: () => useOutputTransforms,
|
|
1145
1145
|
usePipelineManager: () => usePipelineManager,
|
|
1146
|
+
usePublish: () => usePublish,
|
|
1146
1147
|
useRegisterAITool: () => useRegisterAITool,
|
|
1147
1148
|
useSecret: () => useSecret,
|
|
1148
1149
|
useSecretManager: () => useSecretManager,
|
|
@@ -1159,6 +1160,7 @@ var import_react8 = require("react");
|
|
|
1159
1160
|
|
|
1160
1161
|
// src/NoyaStateContext.tsx
|
|
1161
1162
|
var import_observable = require("@noya-app/observable");
|
|
1163
|
+
var import_react_utils3 = require("@noya-app/react-utils");
|
|
1162
1164
|
var import_react7 = __toESM(require("react"));
|
|
1163
1165
|
|
|
1164
1166
|
// ../../node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.mjs
|
|
@@ -4032,6 +4034,7 @@ var ErrorOverlay = React.memo(function ErrorOverlay2({
|
|
|
4032
4034
|
// src/inspector/useStateInspector.tsx
|
|
4033
4035
|
var import_react4 = __toESM(require("react"));
|
|
4034
4036
|
var import_client = require("react-dom/client");
|
|
4037
|
+
var import_react_utils2 = require("@noya-app/react-utils");
|
|
4035
4038
|
|
|
4036
4039
|
// src/inspector/StateInspector.tsx
|
|
4037
4040
|
var import_react_utils = require("@noya-app/react-utils");
|
|
@@ -5061,7 +5064,7 @@ function useStateInspector({
|
|
|
5061
5064
|
anchor
|
|
5062
5065
|
}) {
|
|
5063
5066
|
const [root, setRoot] = import_react4.default.useState(null);
|
|
5064
|
-
(0,
|
|
5067
|
+
(0, import_react_utils2.useIsomorphicLayoutEffect)(() => {
|
|
5065
5068
|
if (disabled) return;
|
|
5066
5069
|
const { host, container } = createShadowRootElement();
|
|
5067
5070
|
const root2 = (0, import_client.createRoot)(container);
|
|
@@ -5071,7 +5074,7 @@ function useStateInspector({
|
|
|
5071
5074
|
document.body.removeChild(host);
|
|
5072
5075
|
};
|
|
5073
5076
|
}, [disabled]);
|
|
5074
|
-
(0,
|
|
5077
|
+
(0, import_react_utils2.useIsomorphicLayoutEffect)(() => {
|
|
5075
5078
|
if (!root) return;
|
|
5076
5079
|
root.render(
|
|
5077
5080
|
/* @__PURE__ */ import_react4.default.createElement(
|
|
@@ -5359,6 +5362,18 @@ function useIOManager() {
|
|
|
5359
5362
|
const { noyaManager } = useAnyNoyaStateContext();
|
|
5360
5363
|
return noyaManager.ioManager;
|
|
5361
5364
|
}
|
|
5365
|
+
function usePublish(callback) {
|
|
5366
|
+
const { noyaManager } = useAnyNoyaStateContext();
|
|
5367
|
+
const stableCallback = (0, import_react_utils3.useStableCallback)(callback);
|
|
5368
|
+
(0, import_react7.useEffect)(() => {
|
|
5369
|
+
noyaManager.publishingManager.setPublishingEnabled(true);
|
|
5370
|
+
noyaManager.publishingManager.getFilesToPublish = stableCallback;
|
|
5371
|
+
return () => {
|
|
5372
|
+
noyaManager.publishingManager.setPublishingEnabled(false);
|
|
5373
|
+
noyaManager.publishingManager.getFilesToPublish = void 0;
|
|
5374
|
+
};
|
|
5375
|
+
}, [noyaManager, stableCallback]);
|
|
5376
|
+
}
|
|
5362
5377
|
function useIsInitialized() {
|
|
5363
5378
|
const { noyaManager, viewType } = useAnyNoyaStateContext();
|
|
5364
5379
|
const isInitializedObservable = (0, import_react7.useMemo)(
|
|
@@ -5570,12 +5585,12 @@ function useCallableAITools() {
|
|
|
5570
5585
|
|
|
5571
5586
|
// src/components/UserPointersOverlay.tsx
|
|
5572
5587
|
var import_observable2 = require("@noya-app/observable");
|
|
5573
|
-
var
|
|
5588
|
+
var import_react_utils4 = require("@noya-app/react-utils");
|
|
5574
5589
|
var import_react9 = __toESM(require("react"));
|
|
5575
5590
|
function shouldShow(hideAfter, updatedAt) {
|
|
5576
5591
|
return !!updatedAt && Date.now() - updatedAt < hideAfter;
|
|
5577
5592
|
}
|
|
5578
|
-
var UserPointerInternal = (0,
|
|
5593
|
+
var UserPointerInternal = (0, import_react_utils4.memoGeneric)(function UserPointerInternal2({
|
|
5579
5594
|
user,
|
|
5580
5595
|
ephemeralUserDataManager,
|
|
5581
5596
|
hideAfter = 5e3,
|
|
@@ -5607,7 +5622,7 @@ var UserPointerInternal = (0, import_react_utils2.memoGeneric)(function UserPoin
|
|
|
5607
5622
|
visible: show
|
|
5608
5623
|
});
|
|
5609
5624
|
});
|
|
5610
|
-
var UserPointersOverlay = (0,
|
|
5625
|
+
var UserPointersOverlay = (0, import_react_utils4.memoGeneric)(function UserPointers({
|
|
5611
5626
|
connectedUsersManager,
|
|
5612
5627
|
ephemeralUserDataManager,
|
|
5613
5628
|
renderUserPointer
|
|
@@ -5740,6 +5755,7 @@ var WebSocketConnection = class {
|
|
|
5740
5755
|
useObservable,
|
|
5741
5756
|
useOutputTransforms,
|
|
5742
5757
|
usePipelineManager,
|
|
5758
|
+
usePublish,
|
|
5743
5759
|
useRegisterAITool,
|
|
5744
5760
|
useSecret,
|
|
5745
5761
|
useSecretManager,
|