@netless/telebox-insider 0.2.32 → 0.3.0-beta.0

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.ts CHANGED
@@ -282,7 +282,9 @@ declare enum TELE_BOX_EVENT {
282
282
  Minimized = "minimized",
283
283
  Maximized = "maximized",
284
284
  Readonly = "readonly",
285
- Destroyed = "destroyed"
285
+ Destroyed = "destroyed",
286
+ BoxStatus = "box_status",
287
+ LastNotMinimizedBoxStatus = "last_not_minimized_box_status"
286
288
  }
287
289
  declare enum TELE_BOX_DELEGATE_EVENT {
288
290
  Close = "close",
@@ -311,6 +313,7 @@ type TeleBoxSize = {
311
313
  height: number;
312
314
  };
313
315
  type TeleBoxState = `${TELE_BOX_STATE}`;
316
+ type NotMinimizedBoxState = `${Exclude<TELE_BOX_STATE, TELE_BOX_STATE.Minimized>}`;
314
317
  interface TeleBoxRect {
315
318
  readonly x: number;
316
319
  readonly y: number;
@@ -374,6 +377,10 @@ interface TeleBoxConfig {
374
377
  readonly containerRect?: TeleBoxRect;
375
378
  /** Position and dimension of collector */
376
379
  readonly collectorRect?: TeleBoxRect;
380
+ /** Status of boxes. */
381
+ readonly boxStatus?: TeleBoxState;
382
+ /** Last not minimized box status. */
383
+ readonly lastNotMinimizedBoxStatus?: NotMinimizedBoxState;
377
384
  }
378
385
  type CheckTeleBoxConfig<T extends Record<`${TELE_BOX_EVENT}`, any>> = T;
379
386
  type TeleBoxEventConfig = CheckTeleBoxConfig<{
@@ -408,6 +415,14 @@ type TeleBoxEventConfig = CheckTeleBoxConfig<{
408
415
  maximized: boolean;
409
416
  readonly: boolean;
410
417
  destroyed: void;
418
+ box_status: {
419
+ id: string;
420
+ boxStatus: TeleBoxState;
421
+ };
422
+ last_not_minimized_box_status: {
423
+ id: string;
424
+ lastNotMinimizedBoxStatus?: NotMinimizedBoxState;
425
+ };
411
426
  }>;
412
427
  type TeleBoxEvent = keyof TeleBoxEventConfig;
413
428
  interface TeleBoxEvents extends EventEmitter<TeleBoxEvent> {
@@ -434,9 +449,11 @@ interface TeleBoxDelegateEvents extends EventEmitter<TeleBoxDelegateEvent> {
434
449
  type TeleTitleBarEvent<U = keyof TeleBoxDelegateEventConfig> = U extends keyof TeleBoxDelegateEventConfig ? TeleBoxDelegateEventConfig[U] extends void ? {
435
450
  type: U;
436
451
  value?: TeleBoxDelegateEventConfig[U];
452
+ boxId?: string;
437
453
  } : {
438
454
  type: U;
439
455
  value: TeleBoxDelegateEventConfig[U];
456
+ boxId?: string;
440
457
  } : never;
441
458
  interface TeleTitleBarConfig {
442
459
  readonly?: boolean;
@@ -452,6 +469,7 @@ interface TeleTitleBar {
452
469
  setReadonly(readonly: boolean): void;
453
470
  render(): HTMLElement;
454
471
  destroy(): void;
472
+ setBoxStatus(boxStatus?: TeleBoxState): void;
455
473
  }
456
474
 
457
475
  type DefaultTitleBarButton = TeleTitleBarEvent & {
@@ -460,15 +478,18 @@ type DefaultTitleBarButton = TeleTitleBarEvent & {
460
478
  };
461
479
  interface DefaultTitleBarConfig extends TeleTitleBarConfig {
462
480
  buttons?: ReadonlyArray<DefaultTitleBarButton>;
481
+ boxStatus?: TeleBoxState;
463
482
  }
464
483
  declare class DefaultTitleBar implements TeleTitleBar {
465
- constructor({ readonly, title, buttons, onEvent, onDragStart, namespace, state, }?: DefaultTitleBarConfig);
484
+ protected boxStatus?: TeleBoxState;
485
+ constructor({ readonly, title, buttons, onEvent, onDragStart, namespace, state, boxStatus, }?: DefaultTitleBarConfig);
466
486
  readonly namespace: string;
467
487
  $titleBar: HTMLElement | undefined;
468
488
  $title: HTMLElement | undefined;
469
489
  $dragArea: HTMLElement;
470
490
  setTitle(title: string): void;
471
491
  setState(state: TeleBoxState): void;
492
+ setBoxStatus(boxStatus?: TeleBoxState): void;
472
493
  setReadonly(readonly: boolean): void;
473
494
  render(): HTMLElement;
474
495
  renderDragArea(): HTMLElement;
@@ -529,7 +550,7 @@ type ValConfig$1 = {
529
550
  interface TeleBox extends ValEnhancedResult<ValConfig$1> {
530
551
  }
531
552
  declare class TeleBox {
532
- constructor({ id, title, prefersColorScheme, darkMode, visible, width, height, minWidth, minHeight, x, y, minimized, maximized, readonly, resizable, draggable, fence, fixRatio, focus, zIndex, namespace, titleBar, content, footer, styles, containerRect, collectorRect, }?: TeleBoxConfig);
553
+ constructor({ id, title, prefersColorScheme, darkMode, visible, width, height, minWidth, minHeight, x, y, minimized, maximized, readonly, resizable, draggable, fence, fixRatio, focus, zIndex, namespace, titleBar, content, footer, styles, containerRect, collectorRect, boxStatus, lastNotMinimizedBoxStatus }?: TeleBoxConfig);
533
554
  readonly id: string;
534
555
  /** ClassName Prefix. For CSS styling. Default "telebox" */
535
556
  readonly namespace: string;
@@ -544,11 +565,18 @@ declare class TeleBox {
544
565
  _visualSize$: Val<TeleBoxSize, boolean>;
545
566
  _coord$: Val<TeleBoxCoord, boolean>;
546
567
  _intrinsicCoord$: Val<TeleBoxCoord, boolean>;
568
+ _boxStatus$: Val<TeleBoxState | undefined, boolean>;
569
+ _lastNotMinimizedBoxStatus$: Val<NotMinimizedBoxState | undefined, boolean>;
570
+ get boxStatus(): TeleBoxState | undefined;
571
+ set boxStatus(boxStatus: TeleBoxState | undefined);
572
+ get lastNotMinimizedBoxStatus(): NotMinimizedBoxState | undefined;
547
573
  get darkMode(): boolean;
548
574
  _state$: Val<TeleBoxState, boolean>;
549
575
  get state(): TeleBoxState;
550
576
  /** @deprecated use setMaximized and setMinimized instead */
551
577
  setState(state: TeleBoxState, skipUpdate?: boolean): this;
578
+ setBoxStatus(boxStatus: TeleBoxState, skipUpdate?: boolean): this;
579
+ setLastNotMinimizedBoxStatus(lastNotMinimizedBoxStatus?: NotMinimizedBoxState, skipUpdate?: boolean): this;
552
580
  /** Minimum box width relative to container element. 0~1. Default 0. */
553
581
  get minWidth(): number;
554
582
  /** Minimum box height relative to container element. 0~1. Default 0. */
@@ -718,7 +746,9 @@ declare enum TELE_BOX_MANAGER_EVENT {
718
746
  VisualResize = "visual_resize",
719
747
  ZIndex = "z_index",
720
748
  PrefersColorScheme = "prefers_color_scheme",
721
- DarkMode = "dark_mode"
749
+ DarkMode = "dark_mode",
750
+ BoxStatus = "box_status",
751
+ LastNotMinimizedBoxStatus = "last_not_minimized_box_status"
722
752
  }
723
753
 
724
754
  interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "prefersColorScheme" | "fence" | "containerRect" | "maximized" | "minimized" | "namespace" | "readonly"> {
@@ -727,7 +757,7 @@ interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "prefersColorScheme"
727
757
  /** Where the minimized boxes go. */
728
758
  collector?: TeleBoxCollector;
729
759
  }
730
- type TeleBoxManagerBoxConfigBaseProps = "title" | "visible" | "width" | "height" | "minWidth" | "minHeight" | "x" | "y" | "resizable" | "draggable" | "fixRatio" | "zIndex";
760
+ type TeleBoxManagerBoxConfigBaseProps = "title" | "visible" | "width" | "height" | "minWidth" | "minHeight" | "x" | "y" | "resizable" | "draggable" | "fixRatio" | "zIndex" | "boxStatus" | "lastNotMinimizedBoxStatus";
731
761
  type TeleBoxManagerCreateConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "content" | "footer" | "id" | "focus">;
732
762
  type TeleBoxManagerQueryConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "id" | "focus">;
733
763
  type TeleBoxManagerUpdateConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "content" | "footer">;
@@ -748,6 +778,14 @@ type TeleBoxManagerEventConfig = CheckTeleBoxManagerConfig<{
748
778
  z_index: [ReadonlyTeleBox];
749
779
  prefers_color_scheme: [TeleBoxColorScheme];
750
780
  dark_mode: [boolean];
781
+ box_status: [{
782
+ id: string;
783
+ boxStatus?: TeleBoxState;
784
+ }];
785
+ last_not_minimized_box_status: [{
786
+ id: string;
787
+ boxStatus?: NotMinimizedBoxState;
788
+ }];
751
789
  }>;
752
790
  type TeleBoxManagerEvent = keyof TeleBoxManagerEventConfig;
753
791
  interface TeleBoxManagerEvents extends EventEmitter<TeleBoxManagerEvent> {
@@ -757,17 +795,27 @@ interface TeleBoxManagerEvents extends EventEmitter<TeleBoxManagerEvent> {
757
795
  emit<U extends TeleBoxManagerEvent>(event: U, ...value: TeleBoxManagerEventConfig[U]): boolean;
758
796
  }
759
797
 
760
- type MaxTitleBarTeleBox = Pick<TeleBox, "id" | "title" | "readonly">;
798
+ type MaxTitleBarTeleBox = Pick<TeleBox, "id" | "title" | "readonly" | "zIndex" | "$box">;
761
799
  interface MaxTitleBarConfig extends DefaultTitleBarConfig {
762
800
  darkMode: boolean;
763
801
  boxes: MaxTitleBarTeleBox[];
764
802
  containerRect: TeleBoxRect;
765
803
  focusedBox?: MaxTitleBarTeleBox;
804
+ boxesStatus?: Map<string, TeleBoxState>;
766
805
  }
767
806
  declare class MaxTitleBar extends DefaultTitleBar {
807
+ boxesStatus?: Map<string, TeleBoxState>;
768
808
  constructor(config: MaxTitleBarConfig);
809
+ hasMaximizedBoxInStatus(): boolean;
810
+ get MaximizedBoxes(): MaxTitleBarTeleBox[];
811
+ /**
812
+ * 设置MaxTitleBar的focusedBox
813
+ * @param box 如果box为空,则全部失去焦点
814
+ * @returns
815
+ */
769
816
  focusBox(box?: MaxTitleBarTeleBox): void;
770
817
  setContainerRect(rect: TeleBoxRect): void;
818
+ setBoxesStatus(boxesStatus: Map<string, TeleBoxState>): void;
771
819
  setBoxes(boxes: MaxTitleBarTeleBox[]): void;
772
820
  setState(state: TeleBoxState): void;
773
821
  setReadonly(readonly: boolean): void;
@@ -796,6 +844,8 @@ type ValConfig = {
796
844
  interface TeleBoxManager extends ValEnhancedResult<ValConfig> {
797
845
  }
798
846
  declare class TeleBoxManager {
847
+ private boxesStatus$;
848
+ private lastNotMinimizedBoxesStatus$;
799
849
  constructor({ root, prefersColorScheme, minimized, maximized, fence, containerRect, collector, namespace, readonly, }?: TeleBoxManagerConfig);
800
850
  get boxes(): ReadonlyArray<TeleBox>;
801
851
  get topBox(): TeleBox | undefined;
@@ -804,11 +854,19 @@ declare class TeleBoxManager {
804
854
  protected root: HTMLElement;
805
855
  readonly namespace: string;
806
856
  _darkMode$: Val<boolean, boolean>;
857
+ _calcCollectorRect: () => TeleBoxRect | undefined;
807
858
  get darkMode(): boolean;
808
859
  _state$: Val<TeleBoxState, boolean>;
809
860
  get state(): TeleBoxState;
810
861
  /** @deprecated use setMaximized and setMinimized instead */
811
862
  setState(state: TeleBoxState, skipUpdate?: boolean): this;
863
+ setBoxStatus(boxId: string, boxStatus?: TeleBoxState, skipUpdate?: boolean): void;
864
+ private setBoxesStatus;
865
+ hasBoxesStatus(): boolean;
866
+ hasMinimizedBox(): boolean;
867
+ setLastNotMinimizedBoxStatus(boxId: string, lastNotMinimizedBoxStatus?: NotMinimizedBoxState, skipUpdate?: boolean): void;
868
+ private setLastNotMinimizedBoxesStatus;
869
+ private getAllMinimizedBoxes;
812
870
  create(config?: TeleBoxManagerCreateConfig, smartPosition?: boolean): ReadonlyTeleBox;
813
871
  query(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox[];
814
872
  queryOne(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox | undefined;
@@ -830,8 +888,12 @@ declare class TeleBoxManager {
830
888
  protected updateBox(box: TeleBox, config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
831
889
  protected smartPosition(config?: TeleBoxConfig): TeleBoxConfig;
832
890
  protected makeBoxTop(box: TeleBox, skipUpdate?: boolean): void;
891
+ protected makeMaximizedTopBoxFocus(): void;
892
+ private makeTopBoxEffect;
893
+ protected makeMaximizedBoxFocus(maximizedBox: MaxTitleBarTeleBox, skipUpdate?: boolean): void;
894
+ protected makeMaximizedBoxBlur(): void;
833
895
  protected getBoxIndex(boxOrID: TeleBox | string): number;
834
896
  protected getBox(boxOrID: TeleBox | string): TeleBox | undefined;
835
897
  }
836
898
 
837
- export { DefaultTitleBar, type DefaultTitleBarButton, type DefaultTitleBarConfig, type ReadonlyTeleBox, TELE_BOX_COLOR_SCHEME, TELE_BOX_DELEGATE_EVENT, TELE_BOX_EVENT, TELE_BOX_MANAGER_EVENT, TELE_BOX_RESIZE_HANDLE, TELE_BOX_STATE, TeleBox, TeleBoxCollector, type TeleBoxCollectorConfig, type TeleBoxColorScheme, type TeleBoxConfig, type TeleBoxCoord, type TeleBoxDelegateEvent, type TeleBoxDelegateEventConfig, type TeleBoxDelegateEvents, TeleBoxDragHandleType, type TeleBoxEvent, type TeleBoxEventConfig, type TeleBoxEvents, type TeleBoxHandleType, TeleBoxManager, type TeleBoxManagerConfig, type TeleBoxManagerCreateConfig, type TeleBoxManagerEvent, type TeleBoxManagerEventConfig, type TeleBoxManagerEvents, type TeleBoxManagerQueryConfig, type TeleBoxManagerUpdateConfig, type TeleBoxRect, type TeleBoxSize, type TeleBoxState, type TeleTitleBar, type TeleTitleBarConfig, type TeleTitleBarEvent };
899
+ export { DefaultTitleBar, type DefaultTitleBarButton, type DefaultTitleBarConfig, type NotMinimizedBoxState, type ReadonlyTeleBox, TELE_BOX_COLOR_SCHEME, TELE_BOX_DELEGATE_EVENT, TELE_BOX_EVENT, TELE_BOX_MANAGER_EVENT, TELE_BOX_RESIZE_HANDLE, TELE_BOX_STATE, TeleBox, TeleBoxCollector, type TeleBoxCollectorConfig, type TeleBoxColorScheme, type TeleBoxConfig, type TeleBoxCoord, type TeleBoxDelegateEvent, type TeleBoxDelegateEventConfig, type TeleBoxDelegateEvents, TeleBoxDragHandleType, type TeleBoxEvent, type TeleBoxEventConfig, type TeleBoxEvents, type TeleBoxHandleType, TeleBoxManager, type TeleBoxManagerConfig, type TeleBoxManagerCreateConfig, type TeleBoxManagerEvent, type TeleBoxManagerEventConfig, type TeleBoxManagerEvents, type TeleBoxManagerQueryConfig, type TeleBoxManagerUpdateConfig, type TeleBoxRect, type TeleBoxSize, type TeleBoxState, type TeleTitleBar, type TeleTitleBarConfig, type TeleTitleBarEvent };