@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 +69 -7
- package/dist/telebox-insider.cjs.js +386 -53
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +386 -53
- package/dist/telebox-insider.es.js.map +1 -1
- package/package.json +1 -1
- package/src/TeleBox/constants.ts +2 -0
- package/src/TeleBox/index.ts +76 -19
- package/src/TeleBox/typings.ts +8 -0
- package/src/TeleBoxManager/MaxTitleBar/index.ts +80 -24
- package/src/TeleBoxManager/constants.ts +2 -0
- package/src/TeleBoxManager/index.ts +264 -21
- package/src/TeleBoxManager/typings.ts +6 -2
- package/src/TeleTitleBar/DefaultTitleBar/index.ts +22 -1
- package/src/TeleTitleBar/typings.ts +4 -2
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
|
-
|
|
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 };
|