@netless/window-manager 0.4.73-beta.0 → 0.4.73

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.
Files changed (79) hide show
  1. package/dist/index.d.ts +1093 -40
  2. package/dist/index.js +15 -14
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +266 -164
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +13 -13
  7. package/src/App/AppContext.ts +13 -8
  8. package/src/App/AppProxy.ts +3 -8
  9. package/src/App/MagixEvent/index.ts +38 -38
  10. package/src/App/Storage/StorageEvent.ts +13 -13
  11. package/src/App/Storage/index.ts +265 -242
  12. package/src/App/Storage/typings.ts +4 -2
  13. package/src/App/Storage/utils.ts +3 -3
  14. package/src/AppListener.ts +5 -5
  15. package/src/AppManager.ts +6 -19
  16. package/src/AttributesDelegate.ts +5 -7
  17. package/src/BoxEmitter.ts +12 -6
  18. package/src/BoxManager.ts +1 -1
  19. package/src/ContainerResizeObserver.ts +1 -1
  20. package/src/Cursor/Cursor.svelte +3 -1
  21. package/src/Cursor/Cursor.ts +1 -0
  22. package/src/Cursor/index.ts +1 -1
  23. package/src/Helper.ts +67 -15
  24. package/src/InternalEmitter.ts +4 -3
  25. package/src/Page/index.ts +1 -1
  26. package/src/Register/index.ts +5 -7
  27. package/src/Register/loader.ts +1 -1
  28. package/src/Register/storage.ts +13 -13
  29. package/src/Utils/Common.ts +10 -5
  30. package/src/Utils/Reactive.ts +26 -25
  31. package/src/Utils/RoomHacker.ts +1 -1
  32. package/src/Utils/error.ts +0 -1
  33. package/src/View/IframeBridge.ts +627 -583
  34. package/src/View/MainView.ts +8 -6
  35. package/src/callback.ts +7 -1
  36. package/src/index.ts +34 -24
  37. package/src/typings.ts +11 -6
  38. package/dist/App/AppContext.d.ts +0 -79
  39. package/dist/App/AppPageStateImpl.d.ts +0 -17
  40. package/dist/App/AppProxy.d.ts +0 -67
  41. package/dist/App/MagixEvent/index.d.ts +0 -29
  42. package/dist/App/Storage/StorageEvent.d.ts +0 -8
  43. package/dist/App/Storage/index.d.ts +0 -39
  44. package/dist/App/Storage/typings.d.ts +0 -22
  45. package/dist/App/Storage/utils.d.ts +0 -5
  46. package/dist/App/index.d.ts +0 -2
  47. package/dist/AppListener.d.ts +0 -21
  48. package/dist/AppManager.d.ts +0 -110
  49. package/dist/AttributesDelegate.d.ts +0 -91
  50. package/dist/BoxEmitter.d.ts +0 -34
  51. package/dist/BoxManager.d.ts +0 -98
  52. package/dist/BuiltinApps.d.ts +0 -5
  53. package/dist/ContainerResizeObserver.d.ts +0 -11
  54. package/dist/Cursor/Cursor.d.ts +0 -43
  55. package/dist/Cursor/icons.d.ts +0 -3
  56. package/dist/Cursor/icons2.d.ts +0 -4
  57. package/dist/Cursor/index.d.ts +0 -55
  58. package/dist/Helper.d.ts +0 -11
  59. package/dist/InternalEmitter.d.ts +0 -34
  60. package/dist/Page/PageController.d.ts +0 -21
  61. package/dist/Page/index.d.ts +0 -3
  62. package/dist/PageState.d.ts +0 -9
  63. package/dist/ReconnectRefresher.d.ts +0 -24
  64. package/dist/RedoUndo.d.ts +0 -18
  65. package/dist/Register/index.d.ts +0 -28
  66. package/dist/Register/loader.d.ts +0 -4
  67. package/dist/Register/storage.d.ts +0 -8
  68. package/dist/Utils/AppCreateQueue.d.ts +0 -15
  69. package/dist/Utils/Common.d.ts +0 -22
  70. package/dist/Utils/Reactive.d.ts +0 -6
  71. package/dist/Utils/RoomHacker.d.ts +0 -3
  72. package/dist/Utils/error.d.ts +0 -27
  73. package/dist/Utils/log.d.ts +0 -1
  74. package/dist/View/IframeBridge.d.ts +0 -146
  75. package/dist/View/MainView.d.ts +0 -58
  76. package/dist/View/ViewManager.d.ts +0 -13
  77. package/dist/callback.d.ts +0 -38
  78. package/dist/constants.d.ts +0 -48
  79. package/dist/typings.d.ts +0 -84
@@ -1,146 +0,0 @@
1
- import type { Displayer } from "white-web-sdk";
2
- import type { AppManager } from "../AppManager";
3
- import type { WindowManager } from "../index";
4
- import Emittery from "emittery";
5
- import { AnimationMode } from "white-web-sdk";
6
- export declare enum IframeEvents {
7
- Init = "Init",
8
- AttributesUpdate = "AttributesUpdate",
9
- SetAttributes = "SetAttributes",
10
- RegisterMagixEvent = "RegisterMagixEvent",
11
- RemoveMagixEvent = "RemoveMagixEvent",
12
- RemoveAllMagixEvent = "RemoveAllMagixEvent",
13
- RoomStateChanged = "RoomStateChanged",
14
- DispatchMagixEvent = "DispatchMagixEvent",
15
- ReciveMagixEvent = "ReciveMagixEvent",
16
- NextPage = "NextPage",
17
- PrevPage = "PrevPage",
18
- SDKCreate = "SDKCreate",
19
- OnCreate = "OnCreate",
20
- SetPage = "SetPage",
21
- GetAttributes = "GetAttributes",
22
- Ready = "Ready",
23
- Destory = "Destory",
24
- StartCreate = "StartCreate",
25
- WrapperDidUpdate = "WrapperDidUpdate",
26
- DispayIframe = "DispayIframe",
27
- HideIframe = "HideIframe",
28
- GetRootRect = "GetRootRect",
29
- ReplayRootRect = "ReplayRootRect",
30
- PageTo = "PageTo"
31
- }
32
- export declare enum DomEvents {
33
- WrapperDidMount = "WrapperDidMount",
34
- IframeLoad = "IframeLoad"
35
- }
36
- export declare type IframeBridgeAttributes = {
37
- readonly url: string;
38
- readonly width: number;
39
- readonly height: number;
40
- readonly displaySceneDir: string;
41
- readonly lastEvent?: {
42
- name: string;
43
- payload: any;
44
- };
45
- readonly useClicker?: boolean;
46
- readonly useSelector?: boolean;
47
- };
48
- export declare type IframeBridgeEvents = {
49
- created: undefined;
50
- [IframeEvents.Ready]: undefined;
51
- [IframeEvents.StartCreate]: undefined;
52
- [IframeEvents.OnCreate]: IframeBridge;
53
- [IframeEvents.Destory]: undefined;
54
- [IframeEvents.GetRootRect]: undefined;
55
- [IframeEvents.ReplayRootRect]: DOMRect;
56
- [DomEvents.WrapperDidMount]: undefined;
57
- [IframeEvents.WrapperDidUpdate]: undefined;
58
- [DomEvents.IframeLoad]: Event;
59
- [IframeEvents.HideIframe]: undefined;
60
- [IframeEvents.DispayIframe]: undefined;
61
- };
62
- export declare type IframeSize = {
63
- readonly width: number;
64
- readonly height: number;
65
- };
66
- declare type BaseOption = {
67
- readonly url: string;
68
- readonly width: number;
69
- readonly height: number;
70
- readonly displaySceneDir: string;
71
- };
72
- export declare type InsertOptions = {
73
- readonly useClicker?: boolean;
74
- readonly useSelector?: boolean;
75
- } & BaseOption;
76
- export declare type OnCreateInsertOption = {
77
- readonly displayer: Displayer;
78
- } & BaseOption;
79
- /**
80
- * {@link https://github.com/netless-io/netless-iframe-bridge @netless/iframe-bridge}
81
- */
82
- export declare class IframeBridge {
83
- readonly manager: WindowManager;
84
- readonly appManager: AppManager;
85
- static readonly kind = "IframeBridge";
86
- static readonly hiddenClass = "netless-iframe-brdige-hidden";
87
- static emitter: Emittery<IframeBridgeEvents>;
88
- private static displayer;
89
- private static alreadyCreate;
90
- displayer: Displayer;
91
- iframe: HTMLIFrameElement;
92
- private readonly magixEventMap;
93
- private cssList;
94
- private allowAppliances;
95
- private bridgeDisposer;
96
- private rootRect;
97
- private sideEffectManager;
98
- constructor(manager: WindowManager, appManager: AppManager);
99
- static onCreate(plugin: IframeBridge): void;
100
- insert(options: InsertOptions): this;
101
- private getComputedIframeStyle;
102
- destroy(): void;
103
- private getIframe;
104
- setIframeSize(params: IframeSize): void;
105
- get attributes(): Partial<IframeBridgeAttributes>;
106
- setAttributes(data: Partial<IframeBridgeAttributes>): void;
107
- private _createIframe;
108
- scaleIframeToFit(animationMode?: AnimationMode): void;
109
- get isReplay(): boolean;
110
- private handleSetPage;
111
- private execListenIframe;
112
- private src_url_equal_anchor?;
113
- private listenIframe;
114
- private onPhaseChangedListener;
115
- private listenDisplayerState;
116
- private computedStyleAndIframeDisplay;
117
- private listenDisplayerCallbacks;
118
- private get callbackName();
119
- private stateChangeListener;
120
- private computedStyle;
121
- private computedIframeDisplay;
122
- computedZindex(): void;
123
- private updateStyle;
124
- private get iframeOrigin();
125
- private messageListener;
126
- private handleSDKCreate;
127
- private handleDispatchMagixEvent;
128
- private handleSetAttributes;
129
- private handleRegisterMagixEvent;
130
- private handleRemoveMagixEvent;
131
- private handleNextPage;
132
- private handlePrevPage;
133
- private handlePageTo;
134
- private handleRemoveAllMagixEvent;
135
- private handleGetAttributes;
136
- postMessage(message: any): void;
137
- dispatchMagixEvent(event: string, payload: any): void;
138
- private get currentIndex();
139
- private get currentPage();
140
- private get totalPage();
141
- private get readonly();
142
- get inDisplaySceneDir(): boolean;
143
- private isClicker;
144
- private get isDisableInput();
145
- }
146
- export {};
@@ -1,58 +0,0 @@
1
- import { ViewMode } from "white-web-sdk";
2
- import type { Camera, Size, View } from "white-web-sdk";
3
- import type { AppManager } from "../AppManager";
4
- export declare class MainViewProxy {
5
- private manager;
6
- /** Refresh the view's camera in an interval of 1.5s. */
7
- polling: boolean;
8
- private scale?;
9
- private started;
10
- private mainViewIsAddListener;
11
- private mainView;
12
- private store;
13
- private viewMode;
14
- private sideEffectManager;
15
- constructor(manager: AppManager);
16
- private syncCamera;
17
- private startListenWritableChange;
18
- ensureCameraAndSize(): void;
19
- private get mainViewCamera();
20
- private get mainViewSize();
21
- private get didRelease();
22
- private moveCameraSizeByAttributes;
23
- start(): void;
24
- addCameraReaction: () => void;
25
- setCameraAndSize(): void;
26
- private cameraReaction;
27
- sizeChangeHandler: import("lodash").DebouncedFunc<(size: Size) => void>;
28
- onUpdateContainerSizeRatio: () => void;
29
- get view(): View;
30
- get cameraState(): {
31
- width: number;
32
- height: number;
33
- centerX: number;
34
- centerY: number;
35
- scale: number;
36
- };
37
- createMainView(): View;
38
- onReconnect(): void;
39
- setFocusScenePath(path: string | undefined): View | undefined;
40
- rebind(): void;
41
- private onCameraUpdatedByDevice;
42
- addMainViewListener(): void;
43
- removeMainViewListener(): void;
44
- private mainViewClickListener;
45
- mainViewClickHandler(): Promise<void>;
46
- setMainViewSize: import("lodash").DebouncedFunc<(size: Size) => void>;
47
- private addCameraListener;
48
- private removeCameraListener;
49
- private _syncMainViewTimer;
50
- private onCameraOrSizeUpdated;
51
- private ensureMainViewSize;
52
- private syncMainView;
53
- moveCameraToContian(size: Size): void;
54
- moveCamera(camera: Camera): void;
55
- stop(): void;
56
- setViewMode: (mode: ViewMode) => void;
57
- destroy(): void;
58
- }
@@ -1,13 +0,0 @@
1
- import type { View, Displayer } from "white-web-sdk";
2
- export declare class ViewManager {
3
- private displayer;
4
- views: Map<string, View>;
5
- constructor(displayer: Displayer);
6
- createView(id: string): View;
7
- getView(id: string): View | undefined;
8
- destroyView(id: string): void;
9
- setViewScenePath(id: string, scenePath: string): void;
10
- destroy(): void;
11
- }
12
- export declare const createView: (displayer: Displayer) => View;
13
- export declare const setDefaultCameraBound: (view: View) => void;
@@ -1,38 +0,0 @@
1
- import Emittery from "emittery";
2
- import type { TeleBoxColorScheme, TELE_BOX_STATE } from "@netless/telebox-insider";
3
- import type { CameraState, SceneState, View, ViewVisionMode } from "white-web-sdk";
4
- import type { LoadAppEvent } from "./Register";
5
- import type { PageState } from "./Page";
6
- import type { BoxClosePayload, BoxFocusPayload, BoxMovePayload, BoxResizePayload, BoxStateChangePayload } from "./BoxEmitter";
7
- import type { AppPayload } from "./typings";
8
- export declare type PublicEvent = {
9
- mainViewModeChange: ViewVisionMode;
10
- boxStateChange: `${TELE_BOX_STATE}`;
11
- darkModeChange: boolean;
12
- prefersColorSchemeChange: TeleBoxColorScheme;
13
- cameraStateChange: CameraState;
14
- mainViewScenePathChange: string;
15
- mainViewSceneIndexChange: number;
16
- focusedChange: string | undefined;
17
- mainViewScenesLengthChange: number;
18
- canRedoStepsChange: number;
19
- canUndoStepsChange: number;
20
- loadApp: LoadAppEvent;
21
- ready: undefined;
22
- sceneStateChange: SceneState;
23
- pageStateChange: PageState;
24
- fullscreenChange: boolean;
25
- appsChange: string[];
26
- onBoxMove: BoxMovePayload;
27
- onBoxResize: BoxResizePayload;
28
- onBoxFocus: BoxFocusPayload;
29
- onBoxClose: BoxClosePayload;
30
- onBoxStateChange: BoxStateChangePayload;
31
- onMainViewMounted: View;
32
- onMainViewRebind: View;
33
- onAppViewMounted: AppPayload;
34
- onAppSetup: string;
35
- onAppScenePathChange: AppPayload;
36
- };
37
- export declare type CallbacksType = Emittery<PublicEvent>;
38
- export declare const callbacks: CallbacksType;
@@ -1,48 +0,0 @@
1
- export declare enum Events {
2
- AppMove = "AppMove",
3
- AppFocus = "AppFocus",
4
- AppResize = "AppResize",
5
- AppBoxStateChange = "AppBoxStateChange",
6
- GetAttributes = "GetAttributes",
7
- UpdateWindowManagerWrapper = "UpdateWindowManagerWrapper",
8
- InitReplay = "InitReplay",
9
- WindowCreated = "WindowCreated",
10
- SetMainViewScenePath = "SetMainViewScenePath",
11
- SetMainViewSceneIndex = "SetMainViewSceneIndex",
12
- SetAppFocusIndex = "SetAppFocusIndex",
13
- SwitchViewsToFreedom = "SwitchViewsToFreedom",
14
- MoveCamera = "MoveCamera",
15
- MoveCameraToContain = "MoveCameraToContain",
16
- CursorMove = "CursorMove",
17
- RootDirRemoved = "RootDirRemoved",
18
- Refresh = "Refresh",
19
- InitMainViewCamera = "InitMainViewCamera"
20
- }
21
- export declare const MagixEventName = "__WindowManger";
22
- export declare const EnsureReconnectEvent = "__WindowMangerEnsureReconnected__";
23
- export declare enum AppAttributes {
24
- Size = "size",
25
- Position = "position",
26
- SceneIndex = "SceneIndex",
27
- ZIndex = "zIndex"
28
- }
29
- export declare enum AppEvents {
30
- setBoxSize = "setBoxSize",
31
- setBoxMinSize = "setBoxMinSize",
32
- destroy = "destroy"
33
- }
34
- export declare enum AppStatus {
35
- StartCreate = "StartCreate"
36
- }
37
- export declare enum CursorState {
38
- Leave = "leave",
39
- Normal = "normal"
40
- }
41
- export declare const REQUIRE_VERSION = "2.16.1";
42
- export declare const MIN_WIDTH: number;
43
- export declare const MIN_HEIGHT: number;
44
- export declare const SET_SCENEPATH_DELAY = 100;
45
- export declare const DEFAULT_CONTAINER_RATIO: number;
46
- export declare const ROOT_DIR = "/";
47
- export declare const INIT_DIR = "/init";
48
- export declare const SETUP_APP_DELAY = 50;
package/dist/typings.d.ts DELETED
@@ -1,84 +0,0 @@
1
- import type Emittery from "emittery";
2
- import type { AnimationMode, ApplianceNames, Displayer, DisplayerState, Player, Room, SceneDefinition, SceneState, View } from "white-web-sdk";
3
- import type { AppContext } from "./App";
4
- import type { ReadonlyTeleBox, TeleBoxRect } from "@netless/telebox-insider";
5
- import type { PageState } from "./Page";
6
- export interface NetlessApp<Attributes extends {} = any, MagixEventPayloads = any, AppOptions = any, SetupResult = any> {
7
- kind: string;
8
- config?: {
9
- /** Box width relative to whiteboard. 0~1. Default 0.5. */
10
- width?: number;
11
- /** Box height relative to whiteboard. 0~1. Default 0.5. */
12
- height?: number;
13
- /** Minimum box width relative to whiteboard. 0~1. Default 340 / 720. */
14
- minwidth?: number;
15
- /** Minimum box height relative to whiteboard. 0~1. Default 340 / 720. */
16
- minheight?: number;
17
- /** App only single instance. */
18
- singleton?: boolean;
19
- };
20
- setup: (context: AppContext<Attributes, MagixEventPayloads, AppOptions>) => SetupResult;
21
- }
22
- export declare type AppEmitterEvent<T = any> = {
23
- /**
24
- * before plugin destroyed
25
- */
26
- destroy: {
27
- error?: Error;
28
- };
29
- attributesUpdate: T | undefined;
30
- /**
31
- * room isWritable change or box blur
32
- */
33
- writableChange: boolean;
34
- sceneStateChange: SceneState;
35
- setBoxSize: {
36
- width: number;
37
- height: number;
38
- };
39
- setBoxMinSize: {
40
- minwidth: number;
41
- minheight: number;
42
- };
43
- setBoxTitle: {
44
- title: string;
45
- };
46
- containerRectUpdate: TeleBoxRect;
47
- roomStateChange: Partial<DisplayerState>;
48
- focus: boolean;
49
- reconnected: void;
50
- seek: number;
51
- pageStateChange: PageState;
52
- };
53
- export declare type RegisterEventData = {
54
- appId: string;
55
- };
56
- export declare type RegisterEvents<SetupResult = any> = {
57
- created: RegisterEventData & {
58
- result: SetupResult;
59
- };
60
- destroy: RegisterEventData;
61
- focus: RegisterEventData;
62
- };
63
- export declare type RegisterParams<AppOptions = any, SetupResult = any, Attributes extends {} = any> = {
64
- kind: string;
65
- src: NetlessApp<Attributes, SetupResult> | string | (() => Promise<NetlessApp<Attributes, SetupResult>>) | (() => Promise<{
66
- default: NetlessApp<Attributes, SetupResult>;
67
- }>);
68
- appOptions?: AppOptions | (() => AppOptions);
69
- addHooks?: (emitter: Emittery<RegisterEvents<SetupResult>>) => void;
70
- /** dynamic load app package name */
71
- name?: string;
72
- };
73
- export declare type AppListenerKeys = keyof AppEmitterEvent;
74
- export declare type ApplianceIcons = Partial<Record<`${ApplianceNames}` | string, string>>;
75
- export type { AppContext } from "./App/AppContext";
76
- export type { ReadonlyTeleBox, TeleBoxRect };
77
- export type { SceneState, SceneDefinition, View, AnimationMode, Displayer, Room, Player };
78
- export type { Storage, StorageStateChangedEvent, StorageStateChangedListener } from "./App/Storage";
79
- export * from "./Page";
80
- export * from "./Utils/error";
81
- export declare type AppPayload = {
82
- appId: string;
83
- view: View;
84
- };