@netless/telebox-insider 1.0.0-alpha.26 → 1.0.0-alpha.29

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.
@@ -7,27 +7,25 @@ import type { TeleBoxRect } from "../TeleBox/typings";
7
7
  export interface TeleBoxCollectorConfig {
8
8
  namespace?: string;
9
9
  styles?: TeleStyles;
10
- root$: ReadonlyVal<HTMLElement | null>;
11
- minimized$: Val<boolean>;
10
+ root: HTMLElement;
11
+ minimized$: ReadonlyVal<boolean>;
12
12
  readonly$: ReadonlyVal<boolean>;
13
13
  darkMode$: ReadonlyVal<boolean>;
14
+ onClick?: () => void;
14
15
  }
15
16
  declare type ValConfig = {
16
17
  styles: Val<TeleStyles>;
17
18
  $collector: Val<HTMLElement>;
18
19
  };
19
- declare type PropsValConfig = {
20
- root: TeleBoxCollectorConfig["root$"];
21
- };
22
20
  declare type MyReadonlyValConfig = {
23
21
  rect: ReadonlyVal<TeleBoxRect | undefined>;
24
22
  visible: ReadonlyVal<boolean>;
25
23
  };
26
- declare type CombinedValEnhancedResult = ValEnhancedResult<ValConfig> & ReadonlyValEnhancedResult<PropsValConfig & MyReadonlyValConfig>;
24
+ declare type CombinedValEnhancedResult = ValEnhancedResult<ValConfig> & ReadonlyValEnhancedResult<MyReadonlyValConfig>;
27
25
  export interface TeleBoxCollector extends CombinedValEnhancedResult {
28
26
  }
29
27
  export declare class TeleBoxCollector {
30
- constructor({ minimized$, readonly$, darkMode$, namespace, styles, root$, }: TeleBoxCollectorConfig);
28
+ constructor({ minimized$, readonly$, darkMode$, namespace, styles, root, onClick, }: TeleBoxCollectorConfig);
31
29
  readonly namespace: string;
32
30
  protected readonly _sideEffect: SideEffectManager;
33
31
  destroy(): void;
@@ -6,7 +6,7 @@ import Emittery from "emittery";
6
6
  import type { ReadonlyTeleBox, TeleBoxColorScheme, TeleBoxRect, TeleBoxState } from "../TeleBox";
7
7
  import { TeleBox } from "../TeleBox";
8
8
  import { TeleBoxCollector } from "../TeleBoxCollector";
9
- import type { TeleBoxManagerConfig, TeleBoxManagerCreateConfig, TeleBoxManagerQueryConfig, TeleBoxManagerUpdateConfig } from "./typings";
9
+ import type { TeleBoxManagerConfig, TeleBoxManagerCreateConfig, TeleBoxFullscreen, TeleBoxManagerQueryConfig, TeleBoxManagerThemeConfig, TeleBoxManagerUpdateConfig } from "./typings";
10
10
  import { MaxTitleBar } from "./MaxTitleBar";
11
11
  export * from "./typings";
12
12
  export * from "./constants";
@@ -16,12 +16,13 @@ declare type ReadonlyValConfig = {
16
16
  root: Val<HTMLElement | null>;
17
17
  rootRect: Val<TeleBoxRect>;
18
18
  stageRect: ReadonlyVal<TeleBoxRect>;
19
+ minimized: ReadonlyVal<boolean, boolean>;
20
+ maximized: ReadonlyVal<boolean, boolean>;
19
21
  };
20
22
  declare type ValConfig = {
23
+ fullscreen: Val<TeleBoxFullscreen>;
21
24
  prefersColorScheme: Val<TeleBoxColorScheme, boolean>;
22
25
  readonly: Val<boolean, boolean>;
23
- minimized: Val<boolean, boolean>;
24
- maximized: Val<boolean, boolean>;
25
26
  fence: Val<boolean, boolean>;
26
27
  stageRatio: Val<number, boolean>;
27
28
  containerStyle: Val<string>;
@@ -33,7 +34,7 @@ declare type CombinedValEnhancedResult = ValEnhancedResult<ValConfig> & Readonly
33
34
  export interface TeleBoxManager extends CombinedValEnhancedResult {
34
35
  }
35
36
  export declare class TeleBoxManager {
36
- constructor({ root, prefersColorScheme, minimized, maximized, fence, collector, namespace, readonly, stageRatio, containerStyle, stageStyle, defaultBoxBodyStyle, defaultBoxStageStyle, }?: TeleBoxManagerConfig);
37
+ constructor({ root, fullscreen, prefersColorScheme, minimized, maximized, fence, collector, namespace, readonly, stageRatio, containerStyle, stageStyle, defaultBoxBodyStyle, defaultBoxStageStyle, theme, }?: TeleBoxManagerConfig);
37
38
  readonly $container: HTMLDivElement;
38
39
  readonly $stage: HTMLDivElement;
39
40
  get boxes(): ReadonlyArray<TeleBox>;
@@ -73,6 +74,8 @@ export declare class TeleBoxManager {
73
74
  }, never>;
74
75
  protected _sideEffect: SideEffectManager;
75
76
  readonly namespace: string;
77
+ setMinimized: (minimized: boolean, skipUpdate?: boolean) => void;
78
+ setMaximized: (maximized: boolean, skipUpdate?: boolean) => void;
76
79
  /** @deprecated use setMaximized and setMinimized instead */
77
80
  setState(state: TeleBoxState, skipUpdate?: boolean): this;
78
81
  create(config?: TeleBoxManagerCreateConfig, smartPosition?: boolean): ReadonlyTeleBox;
@@ -83,6 +86,7 @@ export declare class TeleBoxManager {
83
86
  remove(boxOrID: string | TeleBox, skipUpdate?: boolean): ReadonlyTeleBox | undefined;
84
87
  removeTopBox(): ReadonlyTeleBox | undefined;
85
88
  removeAll(skipUpdate?: boolean): ReadonlyTeleBox[];
89
+ setTheme(theme: TeleBoxManagerThemeConfig): void;
86
90
  /**
87
91
  * Mount manager to a container element.
88
92
  */
@@ -6,6 +6,8 @@ import type { TELE_BOX_MANAGER_EVENT } from "./constants";
6
6
  export interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "namespace"> {
7
7
  /** Element to mount boxes. */
8
8
  readonly root?: HTMLElement | null;
9
+ /** Fullscreen mode. Default false. */
10
+ readonly fullscreen?: TeleBoxFullscreen;
9
11
  /** Stage area height/with ratio. No ratio if <= 0. Default -1. */
10
12
  readonly stageRatio?: number;
11
13
  /** Where the minimized boxes go. */
@@ -28,6 +30,8 @@ export interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "namespace"> {
28
30
  readonly defaultBoxBodyStyle?: string | null;
29
31
  /** Custom `style` attribute value for stage area of all boxes. Can be overwritten by box. */
30
32
  readonly defaultBoxStageStyle?: string | null;
33
+ /** Theme variable */
34
+ readonly theme?: TeleBoxManagerThemeConfig;
31
35
  }
32
36
  declare type TeleBoxManagerBoxConfigBaseProps = "title" | "visible" | "width" | "height" | "minWidth" | "minHeight" | "x" | "y" | "resizable" | "draggable" | "boxRatio" | "zIndex" | "stageRatio";
33
37
  export declare type TeleBoxManagerCreateConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "content" | "stage" | "footer" | "styles" | "bodyStyle" | "stageStyle" | "id" | "focus" | "enableShadowDOM">;
@@ -52,4 +56,38 @@ export declare type TeleBoxManagerEventConfig = CheckTeleBoxManagerConfig<{
52
56
  dark_mode: boolean;
53
57
  }>;
54
58
  export declare type TeleBoxManagerEvent = keyof TeleBoxManagerEventConfig;
59
+ /**
60
+ * Fullscreen mode.
61
+ * - `true`: fullscreen mode. hide titlebar for single tab.
62
+ * - `false`: normal mode.
63
+ * - `"no-titlebar"`: always hide titlebar
64
+ * - `"always-titlebar"`: always show titlebar
65
+ */
66
+ export declare type TeleBoxFullscreen = boolean | "no-titlebar" | "always-titlebar";
67
+ export declare type TeleBoxManagerThemeConfig = {
68
+ managerContainerBackground?: string | null;
69
+ managerStageBackground?: string | null;
70
+ managerStageShadow?: string | null;
71
+ boxContainerBackground?: string | null;
72
+ boxStageBackground?: string | null;
73
+ boxStageShadow?: string | null;
74
+ boxColor?: string | null;
75
+ boxBorder?: string | null;
76
+ boxShadow?: string | null;
77
+ boxFooterColor?: string | null;
78
+ boxFooterBackground?: string | null;
79
+ titlebarColor?: string | null;
80
+ titlebarBackground?: string | null;
81
+ titlebarBorderBottom?: string | null;
82
+ titlebarTabColor?: string | null;
83
+ titlebarTabFocusColor?: string | null;
84
+ titlebarTabBackground?: string | null;
85
+ titlebarTabDividerColor?: string | null;
86
+ collectorBackground?: string | null;
87
+ collectorShadow?: string | null;
88
+ titlebarIconMinimize?: string | null;
89
+ titlebarIconMaximize?: string | null;
90
+ titlebarIconMaximizeActive?: string | null;
91
+ titlebarIconClose?: string | null;
92
+ };
55
93
  export {};
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "./scss/fancy-scrollbar.scss";
2
1
  export * from "./TeleBox";
3
2
  export * from "./TeleTitleBar";
4
3
  export * from "./TeleBoxManager";