@netless/telebox-insider 1.0.0-alpha.31 → 1.0.0-alpha.32

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/telebox-insider",
3
- "version": "1.0.0-alpha.31",
3
+ "version": "1.0.0-alpha.32",
4
4
  "private": false,
5
5
  "description": "Window widget for Whiteboard",
6
6
  "license": "MIT",
@@ -52,6 +52,9 @@ type ValConfig = {
52
52
  resizable: Val<RequiredTeleBoxConfig["resizable"], boolean>;
53
53
  draggable: Val<RequiredTeleBoxConfig["draggable"], boolean>;
54
54
  boxRatio: Val<RequiredTeleBoxConfig["boxRatio"], boolean>;
55
+ boxMinimized: Val<boolean | null, boolean>;
56
+ boxMaximized: Val<boolean | null, boolean>;
57
+ boxReadonly: Val<boolean | null, boolean>;
55
58
  stageRatio: Val<RequiredTeleBoxConfig["stageRatio"], boolean>;
56
59
  stageStyle: Val<RequiredTeleBoxConfig["stageStyle"], boolean>;
57
60
  bodyStyle: Val<RequiredTeleBoxConfig["bodyStyle"], boolean>;
@@ -60,10 +63,10 @@ type ValConfig = {
60
63
  type PropsValConfig = {
61
64
  darkMode: RequiredTeleBoxConfig["darkMode$"];
62
65
  fence: RequiredTeleBoxConfig["fence$"];
63
- minimized: RequiredTeleBoxConfig["minimized$"];
64
- maximized: RequiredTeleBoxConfig["maximized$"];
65
- readonly: RequiredTeleBoxConfig["readonly$"];
66
66
  rootRect: RequiredTeleBoxConfig["rootRect$"];
67
+ managerMinimized: RequiredTeleBoxConfig["managerMinimized$"];
68
+ managerMaximized: RequiredTeleBoxConfig["managerMaximized$"];
69
+ managerReadonly: RequiredTeleBoxConfig["managerReadonly$"];
67
70
  managerStageRect: RequiredTeleBoxConfig["managerStageRect$"];
68
71
  managerStageRatio: RequiredTeleBoxConfig["managerStageRatio$"];
69
72
  defaultBoxStageStyle: RequiredTeleBoxConfig["defaultBoxStageStyle$"];
@@ -74,7 +77,9 @@ type PropsValConfig = {
74
77
  type MyReadonlyValConfig = {
75
78
  zIndex: Val<RequiredTeleBoxConfig["zIndex"], boolean>;
76
79
  focus: Val<RequiredTeleBoxConfig["focus"], boolean>;
77
-
80
+ minimized: ReadonlyVal<boolean, boolean>;
81
+ maximized: ReadonlyVal<boolean, boolean>;
82
+ readonly: ReadonlyVal<boolean, boolean>;
78
83
  minSize: Val<TeleBoxSize, boolean>;
79
84
  intrinsicSize: Val<TeleBoxSize, boolean>;
80
85
  intrinsicCoord: Val<TeleBoxCoord, boolean>;
@@ -122,11 +127,11 @@ export class TeleBox {
122
127
  stageStyle = null,
123
128
  darkMode$,
124
129
  fence$,
125
- minimized$,
126
- maximized$,
127
- readonly$,
128
130
  root,
129
131
  rootRect$,
132
+ managerMinimized$,
133
+ managerMaximized$,
134
+ managerReadonly$,
130
135
  managerStageRect$,
131
136
  managerStageRatio$,
132
137
  defaultBoxBodyStyle$,
@@ -150,6 +155,25 @@ export class TeleBox {
150
155
  const zIndex$ = new Val(zIndex);
151
156
  const focus$ = new Val(focus);
152
157
 
158
+ const boxMaximized$ = new Val<boolean | null>(null);
159
+ const boxMinimized$ = new Val<boolean | null>(null);
160
+ const boxReadonly$ = new Val<boolean | null>(null);
161
+
162
+ const maximized$ = combine(
163
+ [boxMaximized$, managerMaximized$],
164
+ ([boxMaximized, managerMaximized]) =>
165
+ boxMaximized ?? managerMaximized
166
+ );
167
+ const minimized$ = combine(
168
+ [boxMinimized$, managerMinimized$],
169
+ ([boxMinimized, managerMinimized]) =>
170
+ boxMinimized ?? managerMinimized
171
+ );
172
+ const readonly$ = combine(
173
+ [boxReadonly$, managerReadonly$],
174
+ ([boxReadonly, managerReadonly]) => boxReadonly ?? managerReadonly
175
+ );
176
+
153
177
  const state$ = combine(
154
178
  [minimized$, maximized$],
155
179
  ([minimized, maximized]): TeleBoxState =>
@@ -236,10 +260,10 @@ export class TeleBox {
236
260
  const propsValConfig: PropsValConfig = {
237
261
  darkMode: darkMode$,
238
262
  fence: fence$,
239
- minimized: minimized$,
240
- maximized: maximized$,
241
- readonly: readonly$,
242
263
  rootRect: rootRect$,
264
+ managerMinimized: managerMinimized$,
265
+ managerMaximized: managerMaximized$,
266
+ managerReadonly: managerReadonly$,
243
267
  managerStageRect: managerStageRect$,
244
268
  managerStageRatio: managerStageRatio$,
245
269
  defaultBoxBodyStyle: defaultBoxBodyStyle$,
@@ -262,6 +286,9 @@ export class TeleBox {
262
286
  pxIntrinsicCoord: pxIntrinsicCoord$,
263
287
  bodyRect: bodyRect$,
264
288
  stageRect: stageRect$,
289
+ minimized: minimized$,
290
+ maximized: maximized$,
291
+ readonly: readonly$,
265
292
  };
266
293
 
267
294
  withReadonlyValueEnhancer(this, myReadonlyValConfig, valManager);
@@ -272,6 +299,9 @@ export class TeleBox {
272
299
  resizable: resizable$,
273
300
  draggable: draggable$,
274
301
  boxRatio: boxRatio$,
302
+ boxMinimized: boxMinimized$,
303
+ boxMaximized: boxMaximized$,
304
+ boxReadonly: boxReadonly$,
275
305
  stageRatio: stageRatio$,
276
306
  bodyStyle: bodyStyle$,
277
307
  stageStyle: stageStyle$,
@@ -82,16 +82,16 @@ export interface TeleBoxConfig {
82
82
  readonly darkMode$: ReadonlyVal<boolean, boolean>;
83
83
  /** Restrict box to always be within the stage area. Default false. */
84
84
  readonly fence$: ReadonlyVal<boolean, boolean>;
85
- /** Maximize box. Default false. */
86
- readonly maximized$: ReadonlyVal<boolean, boolean>;
87
- /** Minimize box. Overwrites maximized state. Default false. */
88
- readonly minimized$: ReadonlyVal<boolean, boolean>;
89
- /** Is box readonly */
90
- readonly readonly$: ReadonlyVal<boolean, boolean>;
91
85
  /** Root element to mount boxes */
92
86
  readonly root: HTMLElement;
93
87
  /** Position and dimension of root element */
94
88
  readonly rootRect$: ReadonlyVal<TeleBoxRect>;
89
+ /** Maximize state from manager. Default false. */
90
+ readonly managerMaximized$: ReadonlyVal<boolean, boolean>;
91
+ /** Minimize state from manager. Overwrites maximized state. Default false. */
92
+ readonly managerMinimized$: ReadonlyVal<boolean, boolean>;
93
+ /** Manager readonly state. */
94
+ readonly managerReadonly$: ReadonlyVal<boolean, boolean>;
95
95
  /** Position and dimension of stage area */
96
96
  readonly managerStageRect$: ReadonlyVal<TeleBoxRect>;
97
97
  /** Stage area height/with ratio. No ratio if <= 0. */
@@ -484,13 +484,13 @@ export class TeleBoxManager {
484
484
  namespace: this.namespace,
485
485
  root: this.$stage,
486
486
  darkMode$: this._darkMode$,
487
- maximized$: this._maximized$,
488
- minimized$: this._minimized$,
489
487
  fence$: this._fence$,
490
488
  rootRect$: this._rootRect$,
491
489
  managerStageRect$: this._stageRect$,
492
490
  managerStageRatio$: this._stageRatio$,
493
- readonly$: this._readonly$,
491
+ managerMaximized$: this._maximized$,
492
+ managerMinimized$: this._minimized$,
493
+ managerReadonly$: this._readonly$,
494
494
  collectorRect$: this.collector._rect$,
495
495
  defaultBoxBodyStyle$: this._defaultBoxBodyStyle$,
496
496
  defaultBoxStageStyle$: this._defaultBoxStageStyle$,