@synnaxlabs/drift 0.37.0 → 0.38.1
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/debounce-BUAIXXZt.cjs +1 -0
- package/dist/debounce-DOZKRZa9.js +9 -0
- package/dist/electron.cjs +1 -0
- package/dist/electron.js +256 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +491 -0
- package/dist/react.cjs +1 -0
- package/dist/react.js +70 -0
- package/dist/selectors-CYHEOjO4.cjs +1 -0
- package/dist/selectors-DwAh3Dt_.js +25 -0
- package/dist/src/configureStore.d.ts +43 -0
- package/dist/src/configureStore.d.ts.map +1 -0
- package/dist/src/debug.d.ts +4 -0
- package/dist/src/debug.d.ts.map +1 -0
- package/dist/src/electron/index.d.ts +49 -0
- package/dist/src/electron/index.d.ts.map +1 -0
- package/dist/src/external.d.ts +8 -0
- package/dist/src/external.d.ts.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/middleware.d.ts +27 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.spec.d.ts +2 -0
- package/dist/src/middleware.spec.d.ts.map +1 -0
- package/dist/src/mock/index.d.ts +2 -0
- package/dist/src/mock/index.d.ts.map +1 -0
- package/dist/src/mock/runtime.d.ts +44 -0
- package/dist/src/mock/runtime.d.ts.map +1 -0
- package/dist/src/react/Provider.d.ts +23 -0
- package/dist/src/react/Provider.d.ts.map +1 -0
- package/dist/src/react/hooks.d.ts +15 -0
- package/dist/src/react/hooks.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +4 -0
- package/dist/src/react/index.d.ts.map +1 -0
- package/dist/src/react/selectors.d.ts +13 -0
- package/dist/src/react/selectors.d.ts.map +1 -0
- package/dist/src/runtime.d.ts +99 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/selectors.d.ts +9 -0
- package/dist/src/selectors.d.ts.map +1 -0
- package/dist/src/serialization/index.d.ts +6 -0
- package/dist/src/serialization/index.d.ts.map +1 -0
- package/dist/src/state.d.ts +100 -0
- package/dist/src/state.d.ts.map +1 -0
- package/dist/src/sugar.d.ts +24 -0
- package/dist/src/sugar.d.ts.map +1 -0
- package/dist/src/sugar.spec.d.ts +2 -0
- package/dist/src/sugar.spec.d.ts.map +1 -0
- package/dist/src/sync.d.ts +11 -0
- package/dist/src/sync.d.ts.map +1 -0
- package/dist/src/sync.spec.d.ts +2 -0
- package/dist/src/sync.spec.d.ts.map +1 -0
- package/dist/src/tauri/index.d.ts +47 -0
- package/dist/src/tauri/index.d.ts.map +1 -0
- package/dist/src/validate.d.ts +11 -0
- package/dist/src/validate.d.ts.map +1 -0
- package/dist/src/validate.spec.d.ts +2 -0
- package/dist/src/validate.spec.d.ts.map +1 -0
- package/dist/src/window.d.ts +177 -0
- package/dist/src/window.d.ts.map +1 -0
- package/dist/state-B8DVhsB5.js +5852 -0
- package/dist/state-Nl_4DIvw.cjs +13 -0
- package/dist/tauri.cjs +1 -0
- package/dist/tauri.js +2714 -0
- package/package.json +11 -12
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Action, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { dimensions, xy } from '@synnaxlabs/x';
|
|
3
|
+
import { BrowserWindow, BrowserWindowConstructorOptions } from 'electron';
|
|
4
|
+
import { Event, Runtime } from '../runtime';
|
|
5
|
+
import { StoreState } from '../state';
|
|
6
|
+
import { WindowProps } from '../window';
|
|
7
|
+
export interface ListenOnMainProps {
|
|
8
|
+
mainWindow: BrowserWindow;
|
|
9
|
+
createWindow: (props: BrowserWindowConstructorOptions) => BrowserWindow;
|
|
10
|
+
}
|
|
11
|
+
export declare const listenOnMain: ({ mainWindow, createWindow }: ListenOnMainProps) => void;
|
|
12
|
+
export declare const exposeAPI: () => void;
|
|
13
|
+
export declare const getWindowLabel: () => Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* An Electron backed implementation of the drift Runtime.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ElectronRuntime<S extends StoreState, A extends Action = UnknownAction> implements Runtime<S, A> {
|
|
18
|
+
private _label;
|
|
19
|
+
private props;
|
|
20
|
+
private api;
|
|
21
|
+
constructor();
|
|
22
|
+
configure(): Promise<void>;
|
|
23
|
+
label(): string;
|
|
24
|
+
isMain(): boolean;
|
|
25
|
+
release(): void;
|
|
26
|
+
emit(event_: Omit<Event<S, A>, "emitter">, to?: string): Promise<void>;
|
|
27
|
+
subscribe(lis: (action: Event<S, A>) => void): Promise<void>;
|
|
28
|
+
onCloseRequested(): void;
|
|
29
|
+
create(label: string, props: Omit<WindowProps, "key">): Promise<void>;
|
|
30
|
+
close(key: string): Promise<void>;
|
|
31
|
+
listLabels(): Promise<string[]>;
|
|
32
|
+
focus(): Promise<void>;
|
|
33
|
+
setMinimized(value: boolean): Promise<void>;
|
|
34
|
+
setMaximized(value: boolean): Promise<void>;
|
|
35
|
+
setVisible(value: boolean): Promise<void>;
|
|
36
|
+
setFullscreen(value: boolean): Promise<void>;
|
|
37
|
+
center(): Promise<void>;
|
|
38
|
+
setPosition(xy: xy.XY): Promise<void>;
|
|
39
|
+
setSize(dims: dimensions.Dimensions): Promise<void>;
|
|
40
|
+
setMinSize(dims: dimensions.Dimensions): Promise<void>;
|
|
41
|
+
setMaxSize(dims: dimensions.Dimensions): Promise<void>;
|
|
42
|
+
setResizable(value: boolean): Promise<void>;
|
|
43
|
+
setSkipTaskbar(value: boolean): Promise<void>;
|
|
44
|
+
setAlwaysOnTop(value: boolean): Promise<void>;
|
|
45
|
+
setTitle(title: string): Promise<void>;
|
|
46
|
+
setDecorations(value: boolean): Promise<void>;
|
|
47
|
+
getProps(): Promise<Omit<WindowProps, "key">>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electron/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { configureStore } from './configureStore';
|
|
2
|
+
export type { Runtime } from './runtime';
|
|
3
|
+
export { selectSliceState, selectWindow, selectWindowAttribute, selectWindowKey, selectWindowLabel, selectWindows, } from './selectors';
|
|
4
|
+
export type { Action, CloseWindowPayload, CreateWindowPayload, SetWindowAlwaysOnTopPayload, SetWindowMaximizedPayload, SetWindowMaxSizePayload, SetWindowMinimizedPayload, SetWindowMinSizePayload, SetWindowPositionPayload, SetWindowPropsPayload, SetWindowResizablePayload, SetWindowSizePayload, SetWindowSkipTaskbarPayload, SetWindowTitlePayload, SetWindowVisiblePayload, SliceState, StoreState, } from './state';
|
|
5
|
+
export { closeWindow, completeProcess, createWindow, focusWindow, reducer, registerProcess, reloadWindow, setWindowAlwaysOnTop, setWindowDecorations, setWindowFullscreen, setWindowMaximized, setWindowMaxSize, setWindowMinimized, setWindowMinSize, setWindowPosition, setWindowProps, setWindowResizable, setWindowSize, setWindowSkipTaskbar, setWindowStage, setWindowTitle, setWindowVisible, SLICE_NAME, ZERO_SLICE_STATE, } from './state';
|
|
6
|
+
export { type WindowProps, windowPropsZ, type WindowStage, type WindowState, } from './window';
|
|
7
|
+
export { MAIN_WINDOW } from './window';
|
|
8
|
+
//# sourceMappingURL=external.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/external.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,WAAW,EAChB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Action as CoreAction, configureStore, Dispatch, Middleware, Tuple, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { Runtime } from './runtime';
|
|
3
|
+
import { Action, StoreState } from './state';
|
|
4
|
+
export type Middlewares<S> = ReadonlyArray<Middleware<{}, S>>;
|
|
5
|
+
/**
|
|
6
|
+
* Redux middleware that conditionally does two things:
|
|
7
|
+
*
|
|
8
|
+
* 1. Emit actions to other windows.
|
|
9
|
+
* 2. Execute window lifecycle actions.
|
|
10
|
+
*
|
|
11
|
+
* @param runtime - The runtime of the current application window.
|
|
12
|
+
* @returns a Redux middleware.
|
|
13
|
+
*/
|
|
14
|
+
export declare const middleware: <S extends StoreState, A extends CoreAction = UnknownAction>(runtime: Runtime<S, A | Action>, debug?: boolean) => Middleware<Dispatch<A | Action>, S, Dispatch<A | Action>>;
|
|
15
|
+
/**
|
|
16
|
+
* Configures the Redux middleware for the current window's store.
|
|
17
|
+
*
|
|
18
|
+
* @param mw - Middleware provided by the drift user (if any).
|
|
19
|
+
* @param runtime - The runtime of the current window.
|
|
20
|
+
* @returns a middleware function to be passed to `configureStore`.
|
|
21
|
+
*/
|
|
22
|
+
export declare const configureMiddleware: <S extends StoreState, A extends CoreAction = UnknownAction, M extends Middlewares<S> = Middlewares<S>>(mw: M | ((def: GetDefaultMiddleware<S>) => M) | undefined, runtime: Runtime<S, A | Action>, debug?: boolean) => ((def: GetDefaultMiddleware<S>) => M);
|
|
23
|
+
type ConfigureStoreOptions<S extends StoreState, A extends CoreAction = UnknownAction, M extends Tuple<Middlewares<S>> = Tuple<Middlewares<S>>> = Parameters<typeof configureStore<S, A, M>>[0];
|
|
24
|
+
type MW<S extends StoreState, A extends CoreAction = UnknownAction, M extends Tuple<Middlewares<S>> = Tuple<Middlewares<S>>> = NonNullable<ConfigureStoreOptions<S, A, M>["middleware"]>;
|
|
25
|
+
export type GetDefaultMiddleware<S extends StoreState> = Parameters<MW<S>>[0];
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,MAAM,IAAI,UAAU,EACzB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,UAAU,EAEf,KAAK,KAAK,EACV,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,KAAK,MAAM,EAUX,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAKjB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAW9D;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACpB,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,2BAChC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UACxB,OAAO,KACb,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CA4D1D,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAE5B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,kBACpB,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,uBAEpB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,WAChD,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UACxB,OAAO,KACb,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAItC,CAAC;AAEJ,KAAK,qBAAqB,CACxB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,GAAG,aAAa,EACpC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IACrD,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElD,KAAK,EAAE,CACL,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,GAAG,aAAa,EACpC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IACrD,WAAW,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.spec.d.ts","sourceRoot":"","sources":["../../src/middleware.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Action, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { dimensions, xy } from '@synnaxlabs/x';
|
|
3
|
+
import { Event, Runtime } from '../runtime';
|
|
4
|
+
import { StoreState } from '../state';
|
|
5
|
+
import { WindowProps } from '../window';
|
|
6
|
+
export declare class MockRuntime<S extends StoreState, A extends Action = UnknownAction> implements Runtime<S, A> {
|
|
7
|
+
_isMain: boolean;
|
|
8
|
+
_label: string;
|
|
9
|
+
markedReady: boolean;
|
|
10
|
+
hasClosed: string[];
|
|
11
|
+
emissions: Array<Event<S, A>>;
|
|
12
|
+
hasCreated: Record<string, Omit<WindowProps, "key">>;
|
|
13
|
+
subscribeCallback: (event: Event<S, A>) => void;
|
|
14
|
+
requestClosure: () => void;
|
|
15
|
+
props: WindowProps;
|
|
16
|
+
constructor(isMain: boolean, initialProps?: WindowProps);
|
|
17
|
+
configure(): Promise<void>;
|
|
18
|
+
isMain(): boolean;
|
|
19
|
+
label(): string;
|
|
20
|
+
emit(event: Omit<Event<S, A>, "emitter">): Promise<void>;
|
|
21
|
+
subscribe(lis: (event: Event<S, A>) => void): Promise<void>;
|
|
22
|
+
onCloseRequested(cb: () => void): void;
|
|
23
|
+
listLabels(): Promise<string[]>;
|
|
24
|
+
create(label: string, props: Omit<WindowProps, "key">): Promise<void>;
|
|
25
|
+
close(key: string): Promise<void>;
|
|
26
|
+
focus(): Promise<void>;
|
|
27
|
+
setMinimized(value: boolean): Promise<void>;
|
|
28
|
+
setMaximized(value: boolean): Promise<void>;
|
|
29
|
+
setVisible(value: boolean): Promise<void>;
|
|
30
|
+
setFullscreen(value: boolean): Promise<void>;
|
|
31
|
+
center(): Promise<void>;
|
|
32
|
+
setPosition(xy: xy.XY): Promise<void>;
|
|
33
|
+
setSize(dims: dimensions.Dimensions): Promise<void>;
|
|
34
|
+
setMinSize(dims: dimensions.Dimensions): Promise<void>;
|
|
35
|
+
setMaxSize(dims: dimensions.Dimensions): Promise<void>;
|
|
36
|
+
setResizable(value: boolean): Promise<void>;
|
|
37
|
+
setSkipTaskbar(value: boolean): Promise<void>;
|
|
38
|
+
setAlwaysOnTop(value: boolean): Promise<void>;
|
|
39
|
+
setTitle(title: string): Promise<void>;
|
|
40
|
+
show(): Promise<void>;
|
|
41
|
+
setDecorations(value: boolean): Promise<void>;
|
|
42
|
+
getProps(): Promise<Omit<WindowProps, "key">>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/mock/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Action, EnhancedStore, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
import { ProviderProps as BaseProps } from 'react-redux';
|
|
4
|
+
import { Enhancers } from '../configureStore';
|
|
5
|
+
import { StoreState } from '../state';
|
|
6
|
+
/**
|
|
7
|
+
* Overrides the default react-redux Provider to allow for a promise based
|
|
8
|
+
* store.
|
|
9
|
+
*/
|
|
10
|
+
export interface ProviderProps<S extends StoreState, A extends Action = UnknownAction, E extends Enhancers = Enhancers> extends Omit<BaseProps<A, S>, "store"> {
|
|
11
|
+
store: Promise<EnhancedStore<S, A, E>> | EnhancedStore<S, A, E>;
|
|
12
|
+
emptyContent?: ReactElement | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Replaces the default react-redux Provider with a drift compatible one that
|
|
16
|
+
* waits for the store to be ready before rendering. To understand why this is
|
|
17
|
+
* necessary, see the configureStore documentation.
|
|
18
|
+
*
|
|
19
|
+
* @param props - The props to pass to the Provider.
|
|
20
|
+
* @param props.store - A promise that resolves to the store.
|
|
21
|
+
*/
|
|
22
|
+
export declare const DriftProvider: <S extends StoreState, A extends Action<string> = UnknownAction, E extends Enhancers = Enhancers>({ store: storeOrPromise, emptyContent, children, }: ProviderProps<S, A, E>) => ReactElement | null;
|
|
23
|
+
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/react/Provider.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAiB,KAAK,YAAY,EAAY,MAAM,OAAO,CAAC;AACnE,OAAO,EAAY,KAAK,aAAa,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,aAAa,CAC5B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,MAAM,GAAG,aAAa,EAChC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,SAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;IACtC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,kBACxB,CAAC,SAAS,SAAS,kEAKlB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,YAAY,GAAG,IAe1C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AsyncDestructor } from '@synnaxlabs/x';
|
|
2
|
+
import { EffectCallback } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* A hook that allows a user to tap into the lifecycle of a window.
|
|
5
|
+
* Maintains a similar API to useEffect. Executes the callback when the
|
|
6
|
+
* window state changes to 'created', and cleans up when the window state
|
|
7
|
+
* changes to 'closing'.
|
|
8
|
+
*
|
|
9
|
+
* @param cb - The callback to execute.
|
|
10
|
+
* @param key - The key of the window to subscribe to.
|
|
11
|
+
* If not provided, the current window is used.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useWindowLifecycle: (cb: EffectCallback, key?: string) => void;
|
|
14
|
+
export declare const useAsyncWindowLifecycle: (cb: () => Promise<AsyncDestructor | undefined>, key?: string) => void;
|
|
15
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/react/hooks.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,OAAO,CAAC;AAM/D;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,OAAQ,cAAc,QAAQ,MAAM,KAAG,IAoBrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,OAC9B,MAAM,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,QACxC,MAAM,KACX,IAmCF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AASA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WindowState } from '../window';
|
|
2
|
+
/**
|
|
3
|
+
* Selects the window with the given key.
|
|
4
|
+
*
|
|
5
|
+
* @param key - The key of the window to select.
|
|
6
|
+
* If not provided, the current window is selected.
|
|
7
|
+
* @returns The window.
|
|
8
|
+
*/
|
|
9
|
+
export declare const useSelectWindow: (key?: string) => WindowState | null;
|
|
10
|
+
export declare const useSelectWindows: () => WindowState[];
|
|
11
|
+
export declare const useSelectWindowKey: (label?: string) => string | null;
|
|
12
|
+
export declare const useSelectWindowAttribute: <K extends keyof WindowState>(keyOrLabel: string, attr: K) => WindowState[K] | null;
|
|
13
|
+
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/react/selectors.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,WAAW,GAAG,IAM1D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,QAAO,WAAW,EACO,CAAC;AAEvD,eAAO,MAAM,kBAAkB,WAAY,MAAM,KAAG,MAAM,GAAG,IAM1D,CAAC;AAEJ,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,MAAM,WAAW,cACtD,MAAM,QACZ,CAAC,KACN,WAAW,CAAC,CAAC,CAAC,GAAG,IAMjB,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Action, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { dimensions, xy } from '@synnaxlabs/x';
|
|
3
|
+
import { StoreState } from './state';
|
|
4
|
+
import { WindowProps } from './window';
|
|
5
|
+
/**
|
|
6
|
+
* An event emitted by drift to communicate state changes.
|
|
7
|
+
*/
|
|
8
|
+
export interface Event<S extends StoreState, A extends Action = UnknownAction> {
|
|
9
|
+
/** The key of the window that emitted the event */
|
|
10
|
+
emitter: string;
|
|
11
|
+
/** A redux state action */
|
|
12
|
+
action?: A;
|
|
13
|
+
/** The entire redux store state. Sent only on the creation of new windows */
|
|
14
|
+
state?: S;
|
|
15
|
+
/** sendState is set to true when the window is requesting a state forward */
|
|
16
|
+
sendState?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface Sender<S extends StoreState, A extends Action = UnknownAction> {
|
|
19
|
+
/**
|
|
20
|
+
* Emits an event to all windows in the application.
|
|
21
|
+
* @param event - The event to emit.
|
|
22
|
+
* @param to - If set, the event will only be emitted to the window with the given key.
|
|
23
|
+
*/
|
|
24
|
+
emit: (event: Omit<Event<S, A>, "emitter">, to?: string) => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export interface Receiver<S extends StoreState, A extends Action = UnknownAction> {
|
|
27
|
+
/**
|
|
28
|
+
* Listens for an event from any window in the application.
|
|
29
|
+
* @param lis - The callback to call when the event is received.
|
|
30
|
+
*/
|
|
31
|
+
subscribe: (lis: (event: Event<S, A>) => void) => Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
export interface MainChecker {
|
|
34
|
+
/**
|
|
35
|
+
* @returns true if the window is the main window of the application i.e. the first
|
|
36
|
+
* forked
|
|
37
|
+
*/
|
|
38
|
+
isMain: () => boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Communicator allows for event communication between windows.
|
|
42
|
+
*/
|
|
43
|
+
export interface Communicator<S extends StoreState, A extends Action = UnknownAction> extends Sender<S, A>, Receiver<S, A>, MainChecker {
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Properties represents the runtime properties of a window.
|
|
47
|
+
*/
|
|
48
|
+
export interface Properties {
|
|
49
|
+
/**
|
|
50
|
+
* @returns the key of the window.
|
|
51
|
+
*/
|
|
52
|
+
label: () => string;
|
|
53
|
+
/**
|
|
54
|
+
* Calls the provided function with the current window is closing.
|
|
55
|
+
*/
|
|
56
|
+
onCloseRequested: (cb: () => void) => void;
|
|
57
|
+
listLabels: () => Promise<string[]>;
|
|
58
|
+
getProps: () => Promise<Omit<WindowProps, "key">>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Manager is used to manage the windows in the application.
|
|
62
|
+
*/
|
|
63
|
+
export interface Manager {
|
|
64
|
+
/**
|
|
65
|
+
* Creates a new window with the given properties. The window should not be shown
|
|
66
|
+
* until the ready() method is called.
|
|
67
|
+
*/
|
|
68
|
+
create: (label: string, props: Omit<WindowProps, "key">) => Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Closes the window with the given key.
|
|
71
|
+
*/
|
|
72
|
+
close: (label: string) => Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Focuses the window with the given key.
|
|
75
|
+
*/
|
|
76
|
+
focus: () => Promise<void>;
|
|
77
|
+
setMinimized: (value: boolean) => Promise<void>;
|
|
78
|
+
setMaximized: (value: boolean) => Promise<void>;
|
|
79
|
+
setVisible: (value: boolean) => Promise<void>;
|
|
80
|
+
setFullscreen: (value: boolean) => Promise<void>;
|
|
81
|
+
center: () => Promise<void>;
|
|
82
|
+
setPosition: (xy: xy.XY) => Promise<void>;
|
|
83
|
+
setSize: (dims: dimensions.Dimensions) => Promise<void>;
|
|
84
|
+
setMinSize: (dims: dimensions.Dimensions) => Promise<void>;
|
|
85
|
+
setMaxSize: (dims: dimensions.Dimensions) => Promise<void>;
|
|
86
|
+
setResizable: (value: boolean) => Promise<void>;
|
|
87
|
+
setSkipTaskbar: (value: boolean) => Promise<void>;
|
|
88
|
+
setAlwaysOnTop: (value: boolean) => Promise<void>;
|
|
89
|
+
setDecorations: (value: boolean) => Promise<void>;
|
|
90
|
+
setTitle: (title: string) => Promise<void>;
|
|
91
|
+
configure(): Promise<void>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* An interface that represents the core runtime of the application.
|
|
95
|
+
* Drift uses this runtime to manage windows and communicate between them.
|
|
96
|
+
*/
|
|
97
|
+
export interface Runtime<S extends StoreState, A extends Action = UnknownAction> extends Communicator<S, A>, Properties, Manager {
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SliceState, StoreState } from './state';
|
|
2
|
+
import { WindowState } from './window';
|
|
3
|
+
export declare const selectSliceState: (state: StoreState) => SliceState;
|
|
4
|
+
export declare const selectWindows: (state: StoreState) => WindowState[];
|
|
5
|
+
export declare const selectWindow: (state: StoreState, keyOrLabel?: string) => WindowState | null;
|
|
6
|
+
export declare const selectWindowKey: (state: StoreState, label?: string) => string | null;
|
|
7
|
+
export declare const selectWindowAttribute: <K extends keyof WindowState>(state: StoreState, keyOrLabel: string, attr: K) => WindowState[K] | null;
|
|
8
|
+
export declare const selectWindowLabel: (state: StoreState, key: string) => string | null;
|
|
9
|
+
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/selectors.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEzD,eAAO,MAAM,gBAAgB,UAAW,UAAU,KAAG,UAAyB,CAAC;AAE/E,eAAO,MAAM,aAAa,UAAW,UAAU,KAAG,WAAW,EACb,CAAC;AAEjD,eAAO,MAAM,YAAY,UAChB,UAAU,eACJ,MAAM,KAClB,WAAW,GAAG,IAShB,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,UAAU,UAAU,MAAM,KAAG,MAAM,GAAG,IAM5E,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,WAAW,SACxD,UAAU,cACL,MAAM,QACZ,CAAC,KACN,WAAW,CAAC,CAAC,CAAC,GAAG,IAAuD,CAAC;AAE5E,eAAO,MAAM,iBAAiB,UAAW,UAAU,OAAO,MAAM,KAAG,MAAM,GAAG,IAG3E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Action, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { Event } from '../runtime';
|
|
3
|
+
import { StoreState } from '../state';
|
|
4
|
+
export declare const encode: <S extends StoreState, A extends Action = UnknownAction>(event: Event<S, A>) => string;
|
|
5
|
+
export declare const decode: <S extends StoreState, A extends Action = UnknownAction>(event: string) => Event<S, A>;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,yBACpD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KACjB,MAA+B,CAAC;AACnC,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,yBACpD,MAAM,KACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAqC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { PayloadAction, Reducer } from '@reduxjs/toolkit';
|
|
2
|
+
import { dimensions, xy } from '@synnaxlabs/x';
|
|
3
|
+
import { WindowProps, WindowStage, WindowState } from './window';
|
|
4
|
+
/** The Slice State */
|
|
5
|
+
export interface SliceState {
|
|
6
|
+
label: string;
|
|
7
|
+
config: Config;
|
|
8
|
+
windows: Record<string, WindowState>;
|
|
9
|
+
labelKeys: Record<string, string>;
|
|
10
|
+
keyLabels: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
export interface Config {
|
|
13
|
+
enablePrerender: boolean;
|
|
14
|
+
defaultWindowProps: Omit<WindowProps, "key">;
|
|
15
|
+
debug: boolean;
|
|
16
|
+
}
|
|
17
|
+
/** State of a store with a drift slice */
|
|
18
|
+
export interface StoreState {
|
|
19
|
+
drift: SliceState;
|
|
20
|
+
}
|
|
21
|
+
export type MaybeKeyPayload = {
|
|
22
|
+
key?: string;
|
|
23
|
+
};
|
|
24
|
+
export interface KeyPayload {
|
|
25
|
+
key: string;
|
|
26
|
+
}
|
|
27
|
+
export interface LabelPayload {
|
|
28
|
+
label: string;
|
|
29
|
+
}
|
|
30
|
+
export interface BooleanPayload {
|
|
31
|
+
value: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface MaybeBooleanPayload {
|
|
34
|
+
value?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface SizePayload {
|
|
37
|
+
size: dimensions.Dimensions;
|
|
38
|
+
}
|
|
39
|
+
export type CreateWindowPayload = WindowProps & {
|
|
40
|
+
label?: string;
|
|
41
|
+
prerenderLabel?: string;
|
|
42
|
+
};
|
|
43
|
+
export type CloseWindowPayload = MaybeKeyPayload;
|
|
44
|
+
export type ReloadWindowPayload = MaybeKeyPayload;
|
|
45
|
+
export type SetWindowClosedPayload = MaybeKeyPayload;
|
|
46
|
+
export type FocusWindowPayload = MaybeKeyPayload;
|
|
47
|
+
export type SetWindowMinimizedPayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
48
|
+
export type SetWindowMaximizedPayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
49
|
+
export type SetWindowVisiblePayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
50
|
+
export type SetWindowFullScreenPayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
51
|
+
export type CenterWindowPayload = MaybeKeyPayload;
|
|
52
|
+
export type SetWindowPositionPayload = MaybeKeyPayload & {
|
|
53
|
+
position: xy.XY;
|
|
54
|
+
};
|
|
55
|
+
export type SetWindowSizePayload = MaybeKeyPayload & SizePayload;
|
|
56
|
+
export type SetWindowMinSizePayload = MaybeKeyPayload & SizePayload;
|
|
57
|
+
export type SetWindowMaxSizePayload = MaybeKeyPayload & SizePayload;
|
|
58
|
+
export type SetWindowResizablePayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
59
|
+
export type SetWindowSkipTaskbarPayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
60
|
+
export type SetWindowAlwaysOnTopPayload = MaybeKeyPayload & MaybeBooleanPayload;
|
|
61
|
+
export type SetWindowTitlePayload = MaybeKeyPayload & {
|
|
62
|
+
title: string;
|
|
63
|
+
};
|
|
64
|
+
export type SetWindowLabelPayload = LabelPayload;
|
|
65
|
+
export type SetWindowStagePayload = MaybeKeyPayload & {
|
|
66
|
+
stage: WindowStage;
|
|
67
|
+
};
|
|
68
|
+
export type RuntimeSetWindowProsPayload = LabelPayload & Partial<WindowProps>;
|
|
69
|
+
export type SetWindowPropsPayload = MaybeKeyPayload & Partial<WindowProps>;
|
|
70
|
+
export type SetWindowErrorPayload = KeyPayload & {
|
|
71
|
+
message: string;
|
|
72
|
+
};
|
|
73
|
+
export type SetWindowDecorationsPayload = KeyPayload & BooleanPayload;
|
|
74
|
+
export type SetConfigPayload = Partial<Config>;
|
|
75
|
+
/** Type representing all possible actions that are drift related. */
|
|
76
|
+
export type Payload = LabelPayload | CreateWindowPayload | CloseWindowPayload | SetWindowStagePayload | MaybeKeyPayload | RuntimeSetWindowProsPayload | SetWindowErrorPayload | SetWindowLabelPayload | SetWindowClosedPayload | SetWindowMinimizedPayload | SetWindowMaximizedPayload | SetWindowVisiblePayload | SetWindowFullScreenPayload | CenterWindowPayload | SetWindowPositionPayload | SetWindowSizePayload | SetWindowMinSizePayload | SetWindowMaxSizePayload | SetWindowResizablePayload | SetWindowSkipTaskbarPayload | SetWindowAlwaysOnTopPayload | SetWindowTitlePayload | FocusWindowPayload | SetWindowDecorationsPayload | SetConfigPayload | ReloadWindowPayload;
|
|
77
|
+
/** Type representing all possible actions that are drift related. */
|
|
78
|
+
export type Action = PayloadAction<Payload>;
|
|
79
|
+
export declare const ZERO_SLICE_STATE: SliceState;
|
|
80
|
+
export declare const assignLabel: <T extends MaybeKeyPayload | LabelPayload>(a: PayloadAction<T>, s: SliceState) => PayloadAction<T & LabelPayload>;
|
|
81
|
+
export declare const SLICE_NAME = "drift";
|
|
82
|
+
interface InternalSetInitialPayload extends SetConfigPayload, SetWindowLabelPayload {
|
|
83
|
+
}
|
|
84
|
+
export declare const reduceInternalSetInitial: (s: SliceState, a: PayloadAction<InternalSetInitialPayload>) => void;
|
|
85
|
+
export declare const runtimeSetWindowProps: import('@reduxjs/toolkit').ActionCreatorWithPayload<RuntimeSetWindowProsPayload, "drift/runtimeSetWindowProps">, setWindowProps: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowPropsPayload, "drift/setWindowProps">, createWindow: import('@reduxjs/toolkit').ActionCreatorWithPayload<CreateWindowPayload, "drift/createWindow">, internalSetInitial: import('@reduxjs/toolkit').ActionCreatorWithPayload<InternalSetInitialPayload, "drift/internalSetInitial">, setWindowStage: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowStagePayload, "drift/setWindowStage">, closeWindow: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/closeWindow">, registerProcess: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/registerProcess">, completeProcess: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/completeProcess">, setWindowError: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowErrorPayload, "drift/setWindowError">, focusWindow: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/focusWindow">, reloadWindow: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/reloadWindow">, setWindowMinimized: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowMinimized">, setWindowMaximized: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowMaximized">, setWindowVisible: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowVisible">, setWindowFullscreen: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowFullscreen">, centerWindow: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload, "drift/centerWindow">, setWindowPosition: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowPositionPayload, "drift/setWindowPosition">, setWindowSize: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowSizePayload, "drift/setWindowSize">, setWindowMinSize: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowMinSizePayload, "drift/setWindowMinSize">, setWindowMaxSize: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowMaxSizePayload, "drift/setWindowMaxSize">, setWindowResizable: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowResizable">, setWindowSkipTaskbar: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowSkipTaskbar">, setWindowAlwaysOnTop: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowAlwaysOnTop">, setWindowTitle: import('@reduxjs/toolkit').ActionCreatorWithPayload<SetWindowTitlePayload, "drift/setWindowTitle">, setWindowDecorations: import('@reduxjs/toolkit').ActionCreatorWithPayload<MaybeKeyPayload & MaybeBooleanPayload, "drift/setWindowDecorations">;
|
|
86
|
+
export declare const reducer: Reducer<SliceState, Action>;
|
|
87
|
+
/**
|
|
88
|
+
* @returns true if the given action type is a drift action.
|
|
89
|
+
* @param type - The action type to check.
|
|
90
|
+
*/
|
|
91
|
+
export declare const isDriftAction: (type: string) => boolean;
|
|
92
|
+
/**
|
|
93
|
+
* @returns true if the action with the given type should be emitted to other
|
|
94
|
+
* windows.
|
|
95
|
+
* @param emitted - Boolean indicating if the action was emitted by another window.
|
|
96
|
+
* @param type - The action type to check.
|
|
97
|
+
*/
|
|
98
|
+
export declare const shouldEmit: (emitted: boolean, type: string) => boolean;
|
|
99
|
+
export {};
|
|
100
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Action as CoreAction, UnknownAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { Action } from './state';
|
|
3
|
+
/**
|
|
4
|
+
* Sugars an action, embedding the window key in the type.
|
|
5
|
+
* @param action - The action to sugar.
|
|
6
|
+
* @param emitter - The window key to embed.
|
|
7
|
+
* @returns - The sugared action.
|
|
8
|
+
*/
|
|
9
|
+
export declare const sugar: <A extends CoreAction = UnknownAction>(action: A, emitter: string) => A;
|
|
10
|
+
/**
|
|
11
|
+
* Desugars an action, extracting the window key from the type.
|
|
12
|
+
* @param action - The action to desugar.
|
|
13
|
+
* @returns - {
|
|
14
|
+
* emitted: Whether the action was emitted by another window.
|
|
15
|
+
* emitter: The window key that emitted the action.
|
|
16
|
+
* action: The desugared action.
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
export declare const desugar: <A extends CoreAction = UnknownAction>(action: A | Action) => {
|
|
20
|
+
emitted: boolean;
|
|
21
|
+
emitter: string;
|
|
22
|
+
action: A | Action;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=sugar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sugar.d.ts","sourceRoot":"","sources":["../../src/sugar.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAetC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,UAAU,0BAChC,CAAC,WACA,MAAM,KACd,CAGD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,UAAU,0BAClC,CAAC,GAAG,MAAM,KACjB;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;CAQpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sugar.spec.d.ts","sourceRoot":"","sources":["../../src/sugar.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Dispatch, PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { MainChecker, Manager, Properties } from './runtime';
|
|
3
|
+
import { RuntimeSetWindowProsPayload, SliceState } from './state';
|
|
4
|
+
import { WindowState } from './window';
|
|
5
|
+
type RequiredRuntime = Manager & MainChecker & Properties;
|
|
6
|
+
export declare const syncInitial: (state: SliceState, dispatch: Dispatch<PayloadAction<RuntimeSetWindowProsPayload>>, runtime: RequiredRuntime, debug: boolean) => Promise<void>;
|
|
7
|
+
export declare const sync: (prev: SliceState, next: SliceState, runtime: RequiredRuntime, debug: boolean) => Promise<void>;
|
|
8
|
+
export declare const syncCurrent: (prevWin: WindowState, nextWin: WindowState, runtime: RequiredRuntime, debug: boolean) => Promise<void>;
|
|
9
|
+
export declare const syncMain: (prev: SliceState, next: SliceState, runtime: RequiredRuntime, debug: boolean) => Promise<void>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,KAAK,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAmB1D,eAAO,MAAM,WAAW,UACf,UAAU,YACP,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,WACrD,eAAe,SACjB,OAAO,KACb,OAAO,CAAC,IAAI,CA8Bd,CAAC;AAEF,eAAO,MAAM,IAAI,SACT,UAAU,QACV,UAAU,WACP,eAAe,SACjB,OAAO,KACb,OAAO,CAAC,IAAI,CAOd,CAAC;AAEF,eAAO,MAAM,WAAW,YACb,WAAW,WACX,WAAW,WACX,eAAe,SACjB,OAAO,KACb,OAAO,CAAC,IAAI,CAkJd,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,UAAU,QACV,UAAU,WACP,eAAe,SACjB,OAAO,KACb,OAAO,CAAC,IAAI,CAqBd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.spec.d.ts","sourceRoot":"","sources":["../../src/sync.spec.ts"],"names":[],"mappings":""}
|