@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/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, import_react4.useLayoutEffect)(() => {
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, import_react4.useLayoutEffect)(() => {
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 import_react_utils2 = require("@noya-app/react-utils");
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, import_react_utils2.memoGeneric)(function UserPointerInternal2({
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, import_react_utils2.memoGeneric)(function UserPointers({
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,