@netless/telebox-insider 0.3.0-beta.1 → 0.3.0-beta.10
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 +83 -14
- package/dist/style.css +104 -11
- package/dist/telebox-insider.cjs.js +1245 -546
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +1158 -464
- package/dist/telebox-insider.es.js.map +1 -1
- package/package.json +2 -2
- package/src/AppMenu/index.ts +152 -0
- package/src/AppMenu/style.scss +109 -0
- package/src/TeleBox/style.scss +2 -2
- package/src/TeleBoxCollector/index.ts +35 -1
- package/src/TeleBoxCollector/style.scss +13 -3
- package/src/TeleBoxManager/MaxTitleBar/index.ts +20 -12
- package/src/TeleBoxManager/MaxTitleBar/style.scss +3 -3
- package/src/TeleBoxManager/index.ts +502 -160
- package/src/TeleBoxManager/typings.ts +2 -0
- package/src/TeleTitleBar/DefaultTitleBar/style.scss +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -700,9 +700,12 @@ interface TeleBoxCollectorConfig {
|
|
|
700
700
|
namespace?: string;
|
|
701
701
|
styles?: TeleStyles;
|
|
702
702
|
onClick?: () => void;
|
|
703
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
703
704
|
}
|
|
704
705
|
declare class TeleBoxCollector {
|
|
705
|
-
|
|
706
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
707
|
+
constructor({ visible, readonly, darkMode, namespace, styles, onClick, getBoxesStatus }: TeleBoxCollectorConfig);
|
|
708
|
+
get boxesStatus(): Map<string, TeleBoxState> | undefined;
|
|
706
709
|
readonly styles: TeleStyles;
|
|
707
710
|
readonly namespace: string;
|
|
708
711
|
get visible(): boolean;
|
|
@@ -710,6 +713,7 @@ declare class TeleBoxCollector {
|
|
|
710
713
|
get darkMode(): boolean;
|
|
711
714
|
onClick: (() => void) | undefined;
|
|
712
715
|
$collector: HTMLElement | undefined;
|
|
716
|
+
$appMenuContainer: HTMLDivElement;
|
|
713
717
|
/**
|
|
714
718
|
* Mount collector to a root element.
|
|
715
719
|
*/
|
|
@@ -718,6 +722,8 @@ declare class TeleBoxCollector {
|
|
|
718
722
|
* Unmount collector from the root element.
|
|
719
723
|
*/
|
|
720
724
|
unmount(): this;
|
|
725
|
+
private hasMinimizedBox;
|
|
726
|
+
updateBoxesStatus(): void;
|
|
721
727
|
setVisible(visible: boolean): this;
|
|
722
728
|
setReadonly(readonly: boolean): this;
|
|
723
729
|
setDarkMode(darkMode: boolean): this;
|
|
@@ -756,6 +762,8 @@ interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "prefersColorScheme"
|
|
|
756
762
|
root?: HTMLElement;
|
|
757
763
|
/** Where the minimized boxes go. */
|
|
758
764
|
collector?: TeleBoxCollector;
|
|
765
|
+
/** Whether to use boxes status. */
|
|
766
|
+
useBoxesStatus?: boolean;
|
|
759
767
|
}
|
|
760
768
|
type TeleBoxManagerBoxConfigBaseProps = "title" | "visible" | "width" | "height" | "minWidth" | "minHeight" | "x" | "y" | "resizable" | "draggable" | "fixRatio" | "zIndex" | "boxStatus" | "lastNotMinimizedBoxStatus";
|
|
761
769
|
type TeleBoxManagerCreateConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "content" | "footer" | "id" | "focus">;
|
|
@@ -801,11 +809,12 @@ interface MaxTitleBarConfig extends DefaultTitleBarConfig {
|
|
|
801
809
|
boxes: MaxTitleBarTeleBox[];
|
|
802
810
|
containerRect: TeleBoxRect;
|
|
803
811
|
focusedBox?: MaxTitleBarTeleBox;
|
|
804
|
-
|
|
812
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
805
813
|
}
|
|
806
814
|
declare class MaxTitleBar extends DefaultTitleBar {
|
|
807
|
-
|
|
815
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
808
816
|
constructor(config: MaxTitleBarConfig);
|
|
817
|
+
get boxesStatus(): Map<string, TeleBoxState> | undefined;
|
|
809
818
|
hasMaximizedBoxInStatus(): boolean;
|
|
810
819
|
get MaximizedBoxes(): MaxTitleBarTeleBox[];
|
|
811
820
|
/**
|
|
@@ -815,7 +824,7 @@ declare class MaxTitleBar extends DefaultTitleBar {
|
|
|
815
824
|
*/
|
|
816
825
|
focusBox(box?: MaxTitleBarTeleBox): void;
|
|
817
826
|
setContainerRect(rect: TeleBoxRect): void;
|
|
818
|
-
|
|
827
|
+
updateBoxesStatus(): void;
|
|
819
828
|
setBoxes(boxes: MaxTitleBarTeleBox[]): void;
|
|
820
829
|
setState(state: TeleBoxState): void;
|
|
821
830
|
setReadonly(readonly: boolean): void;
|
|
@@ -831,6 +840,38 @@ declare class MaxTitleBar extends DefaultTitleBar {
|
|
|
831
840
|
protected containerRect: TeleBoxRect;
|
|
832
841
|
}
|
|
833
842
|
|
|
843
|
+
type AppId = string;
|
|
844
|
+
interface AppMenuProps {
|
|
845
|
+
manager: TeleBoxManager;
|
|
846
|
+
container: HTMLDivElement;
|
|
847
|
+
theme: TeleBoxColorScheme;
|
|
848
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
849
|
+
}
|
|
850
|
+
declare class AppMenu {
|
|
851
|
+
private readonly namespace;
|
|
852
|
+
private container;
|
|
853
|
+
private readonly badge;
|
|
854
|
+
private readonly menuView;
|
|
855
|
+
private readonly manager;
|
|
856
|
+
private theme;
|
|
857
|
+
private getBoxesStatus?;
|
|
858
|
+
constructor(props: AppMenuProps);
|
|
859
|
+
get boxesStatus(): Map<string, TeleBoxState>;
|
|
860
|
+
get minimizedBoxesStatus(): TeleBoxState[];
|
|
861
|
+
private c;
|
|
862
|
+
containerClickHandler: () => void;
|
|
863
|
+
private menuViewClickHandler;
|
|
864
|
+
setContainer(container: HTMLDivElement): void;
|
|
865
|
+
private createDefaultAppMenu;
|
|
866
|
+
private init;
|
|
867
|
+
updatePrefersColorSchemeHandler: () => void;
|
|
868
|
+
appMenuChange: () => void;
|
|
869
|
+
private createMinimizedItem;
|
|
870
|
+
private renderMenuView;
|
|
871
|
+
render(minimizedBoxesStatus: Map<AppId, TELE_BOX_STATE.Minimized>): void;
|
|
872
|
+
destroy(): void;
|
|
873
|
+
}
|
|
874
|
+
|
|
834
875
|
type ValConfig = {
|
|
835
876
|
prefersColorScheme: Val<TeleBoxColorScheme, boolean>;
|
|
836
877
|
containerRect: Val<TeleBoxRect, boolean>;
|
|
@@ -846,7 +887,11 @@ interface TeleBoxManager extends ValEnhancedResult<ValConfig> {
|
|
|
846
887
|
declare class TeleBoxManager {
|
|
847
888
|
private boxesStatus$;
|
|
848
889
|
private lastNotMinimizedBoxesStatus$;
|
|
849
|
-
|
|
890
|
+
private appMenu;
|
|
891
|
+
private useBoxesStatus;
|
|
892
|
+
private effectBoxesStatusTimer?;
|
|
893
|
+
private effectLastNotMinimizedBoxStatusTimer?;
|
|
894
|
+
constructor({ root, prefersColorScheme, minimized, maximized, fence, containerRect, collector, namespace, readonly, useBoxesStatus, }?: TeleBoxManagerConfig);
|
|
850
895
|
get boxes(): ReadonlyArray<TeleBox>;
|
|
851
896
|
get topBox(): TeleBox | undefined;
|
|
852
897
|
readonly events: TeleBoxManagerEvents;
|
|
@@ -855,24 +900,48 @@ declare class TeleBoxManager {
|
|
|
855
900
|
readonly namespace: string;
|
|
856
901
|
_darkMode$: Val<boolean, boolean>;
|
|
857
902
|
_calcCollectorRect: () => TeleBoxRect | undefined;
|
|
903
|
+
_setCollectorRect: (collectorRect: TeleBoxRect | undefined) => void;
|
|
858
904
|
get darkMode(): boolean;
|
|
859
905
|
_state$: Val<TeleBoxState, boolean>;
|
|
860
906
|
get state(): TeleBoxState;
|
|
861
907
|
/** @deprecated use setMaximized and setMinimized instead */
|
|
862
908
|
setState(state: TeleBoxState, skipUpdate?: boolean): this;
|
|
863
909
|
setBoxStatus(boxId: string, boxStatus?: TeleBoxState, skipUpdate?: boolean): void;
|
|
864
|
-
|
|
910
|
+
getBoxStatus(boxId: string): TeleBoxState | undefined;
|
|
911
|
+
get boxesStatus(): ReadonlyMap<string, TeleBoxState>;
|
|
912
|
+
get lastNotMinimizedBoxesStatus(): ReadonlyMap<string, NotMinimizedBoxState>;
|
|
913
|
+
setBoxesStatus(boxesStatus: Map<string, TeleBoxState>, skipUpdate?: boolean): void;
|
|
914
|
+
getBoxesStatus(): Map<string, TeleBoxState>;
|
|
915
|
+
private effectBoxStatusChange;
|
|
916
|
+
private effectBoxesStatusTimerFunc;
|
|
917
|
+
effectBoxesStatusChange(skipUpdate?: boolean): Promise<void>;
|
|
865
918
|
hasBoxesStatus(): boolean;
|
|
866
919
|
hasMinimizedBox(): boolean;
|
|
920
|
+
getMinimizedBoxesStatus(): Map<string, TELE_BOX_STATE.Minimized>;
|
|
921
|
+
getNotMinimizedBoxesStatus(): Map<string, NotMinimizedBoxState>;
|
|
922
|
+
getAllMaximizedBoxesStatus(): Map<string, TELE_BOX_STATE.Maximized>;
|
|
923
|
+
getAllNormalBoxesStatus(): Map<string, TELE_BOX_STATE.Normal>;
|
|
924
|
+
getLastNotMinimizedBoxStatus(boxId: string): NotMinimizedBoxState | undefined;
|
|
867
925
|
setLastNotMinimizedBoxStatus(boxId: string, lastNotMinimizedBoxStatus?: NotMinimizedBoxState, skipUpdate?: boolean): void;
|
|
868
|
-
|
|
869
|
-
private
|
|
926
|
+
setLastNotMinimizedBoxesStatus(lastNotMinimizedBoxesStatus: Map<string, NotMinimizedBoxState>, skipUpdate?: boolean): void;
|
|
927
|
+
private effectLastNotMinimizedBoxStatusChange;
|
|
928
|
+
private effectLastNotMinimizedBoxStatusFunc;
|
|
929
|
+
private getUnabledBoxesStatusZIndex;
|
|
930
|
+
/** Maximized box zIndex range: 100-299 */
|
|
931
|
+
getMaxMaximizedBoxZIndex(): number;
|
|
932
|
+
/** normal box zIndex range: 300-499 */
|
|
933
|
+
getMaxNormalBoxZIndex(): number;
|
|
870
934
|
create(config?: TeleBoxManagerCreateConfig, smartPosition?: boolean): ReadonlyTeleBox;
|
|
871
935
|
query(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox[];
|
|
872
936
|
queryOne(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox | undefined;
|
|
873
937
|
update(boxID: string, config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
874
938
|
updateAll(config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
875
|
-
|
|
939
|
+
setBox(boxOrID: string | TeleBox, options: {
|
|
940
|
+
status?: TeleBoxState;
|
|
941
|
+
lastNotMinimizedBoxStatus?: NotMinimizedBoxState;
|
|
942
|
+
zIndex?: number;
|
|
943
|
+
}, skipUpdate?: boolean, effectFunc?: () => void): void;
|
|
944
|
+
remove(boxOrID: string | TeleBox, skipUpdate?: boolean, effectFunc?: () => void): ReadonlyTeleBox | undefined;
|
|
876
945
|
removeTopBox(): ReadonlyTeleBox | undefined;
|
|
877
946
|
removeAll(skipUpdate?: boolean): ReadonlyTeleBox[];
|
|
878
947
|
destroy(skipUpdate?: boolean): void;
|
|
@@ -888,12 +957,12 @@ declare class TeleBoxManager {
|
|
|
888
957
|
protected updateBox(box: TeleBox, config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
889
958
|
protected smartPosition(config?: TeleBoxConfig): TeleBoxConfig;
|
|
890
959
|
protected makeBoxTop(box: TeleBox, skipUpdate?: boolean): void;
|
|
960
|
+
private getMaximizedTopBox;
|
|
891
961
|
protected makeMaximizedTopBoxFocus(): void;
|
|
892
|
-
private makeTopBoxEffect;
|
|
893
|
-
protected makeMaximizedBoxFocus(maximizedBox: MaxTitleBarTeleBox, skipUpdate?: boolean): void;
|
|
894
|
-
protected makeMaximizedBoxBlur(): void;
|
|
895
962
|
protected getBoxIndex(boxOrID: TeleBox | string): number;
|
|
896
|
-
|
|
963
|
+
getBox(boxOrID: TeleBox | string): TeleBox | undefined;
|
|
964
|
+
createMinimizedAppMenu(): AppMenu | undefined;
|
|
897
965
|
}
|
|
898
966
|
|
|
899
|
-
export { DefaultTitleBar,
|
|
967
|
+
export { DefaultTitleBar, TELE_BOX_COLOR_SCHEME, TELE_BOX_DELEGATE_EVENT, TELE_BOX_EVENT, TELE_BOX_MANAGER_EVENT, TELE_BOX_RESIZE_HANDLE, TELE_BOX_STATE, TeleBox, TeleBoxCollector, TeleBoxDragHandleType, TeleBoxManager };
|
|
968
|
+
export type { DefaultTitleBarButton, DefaultTitleBarConfig, NotMinimizedBoxState, ReadonlyTeleBox, TeleBoxCollectorConfig, TeleBoxColorScheme, TeleBoxConfig, TeleBoxCoord, TeleBoxDelegateEvent, TeleBoxDelegateEventConfig, TeleBoxDelegateEvents, TeleBoxEvent, TeleBoxEventConfig, TeleBoxEvents, TeleBoxHandleType, TeleBoxManagerConfig, TeleBoxManagerCreateConfig, TeleBoxManagerEvent, TeleBoxManagerEventConfig, TeleBoxManagerEvents, TeleBoxManagerQueryConfig, TeleBoxManagerUpdateConfig, TeleBoxRect, TeleBoxSize, TeleBoxState, TeleTitleBar, TeleTitleBarConfig, TeleTitleBarEvent };
|
package/dist/style.css
CHANGED
|
@@ -81,7 +81,6 @@
|
|
|
81
81
|
display: flex;
|
|
82
82
|
flex-direction: column;
|
|
83
83
|
}
|
|
84
|
-
|
|
85
84
|
.telebox-footer-wrap::before {
|
|
86
85
|
content: "";
|
|
87
86
|
display: block;
|
|
@@ -236,7 +235,6 @@
|
|
|
236
235
|
.telebox-color-scheme-dark {
|
|
237
236
|
color-scheme: dark;
|
|
238
237
|
}
|
|
239
|
-
|
|
240
238
|
.telebox-color-scheme-dark .telebox-box-main {
|
|
241
239
|
color: #e9e9e9;
|
|
242
240
|
background: #212126;
|
|
@@ -313,7 +311,6 @@
|
|
|
313
311
|
background: transparent;
|
|
314
312
|
cursor: pointer;
|
|
315
313
|
}
|
|
316
|
-
|
|
317
314
|
.telebox-titlebar-btn ~ .telebox-titlebar-btn {
|
|
318
315
|
margin-left: 10px;
|
|
319
316
|
}
|
|
@@ -334,7 +331,6 @@
|
|
|
334
331
|
.telebox-titlebar-icon-maximize {
|
|
335
332
|
background: center/cover no-repeat url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgIGQ9Ik0yMC40ODEgMTcuMWgxLjJ2NC41ODFIMTcuMXYtMS4yaDMuMzgxVjE3LjF6bS0xNC4xOTA1LS4wMDloMS4ydjMuMzgxaDMuMzgwOXYxLjJoLTQuNTgxdi00LjU4MXpNMTcuMSA2LjE5MDVoNC41ODF2NC41ODA5aC0xLjJ2LTMuMzgxSDE3LjF2LTEuMnptLTEwLjcwMDguMTA4N2g0Ljc5ODV2MS4ySDcuNTk5MnYzLjU5ODVoLTEuMlY2LjI5OTJ6IiAvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");
|
|
336
333
|
}
|
|
337
|
-
|
|
338
334
|
.telebox-titlebar-icon-maximize.is-active {
|
|
339
335
|
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjZ2MjZIMHoiIC8+CiAgICAgICAgPHBhdGggaWQ9ImMiIGQ9Ik0yNi44NjkgMEwyOCAxLjEzMVYyNi44N0wyNi44NjkgMjhIMS4xM0wwIDI2Ljg3VjEuMTMxTDEuMTMgMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPgogICAgICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNC42NDI5LTQuNjQyOWgzNS4yODU4djM1LjI4NThILTQuNjQyOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8bWFzayBpZD0iZCIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTcuNTE2OCAxNEwxNC0xNy41MTY4IDQ1LjUxNjggMTQgMTQgNDUuNTE2OHoiIG1hc2s9InVybCgjZCkiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgIGQ9Ik0xMC4wODg2IDIxLjQ4NjV2LTMuNjk2Nkg2LjM5Mk0yMS4zODU1IDEwLjE4OTVoLTMuNjk2NlY2LjQ5M00yMS40MDIgMTcuNzk4M2gtMy42OTY2djMuNjk2Nk0xMC4yNTAzIDYuMTQ5OHYzLjg5ODVINi4zNTE3IiAvPgogICAgPC9nPgo8L3N2Zz4K");
|
|
340
336
|
}
|
|
@@ -346,11 +342,9 @@
|
|
|
346
342
|
.telebox-color-scheme-dark {
|
|
347
343
|
color-scheme: dark;
|
|
348
344
|
}
|
|
349
|
-
|
|
350
345
|
.telebox-color-scheme-dark .telebox-title {
|
|
351
346
|
color: #e9e9e9;
|
|
352
347
|
}
|
|
353
|
-
|
|
354
348
|
.telebox-color-scheme-dark .telebox-titlebar {
|
|
355
349
|
color: #e9e9e9;
|
|
356
350
|
background: #43434d;
|
|
@@ -362,7 +356,7 @@
|
|
|
362
356
|
visibility: hidden;
|
|
363
357
|
display: block;
|
|
364
358
|
position: absolute;
|
|
365
|
-
z-index:
|
|
359
|
+
z-index: 1000;
|
|
366
360
|
width: 40px;
|
|
367
361
|
height: 40px;
|
|
368
362
|
margin: 0;
|
|
@@ -394,9 +388,18 @@
|
|
|
394
388
|
.telebox-color-scheme-dark {
|
|
395
389
|
color-scheme: dark;
|
|
396
390
|
}
|
|
397
|
-
|
|
398
391
|
.telebox-color-scheme-dark.telebox-collector {
|
|
399
392
|
background-color: #43434d;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.telebox-collector-shadow {
|
|
396
|
+
position: absolute;
|
|
397
|
+
top: 0;
|
|
398
|
+
left: 0;
|
|
399
|
+
width: 100%;
|
|
400
|
+
height: 100%;
|
|
401
|
+
z-index: -1;
|
|
402
|
+
pointer-events: none;
|
|
400
403
|
}.telebox-max-titlebar {
|
|
401
404
|
user-select: none;
|
|
402
405
|
-webkit-touch-callout: none;
|
|
@@ -405,7 +408,7 @@
|
|
|
405
408
|
position: absolute;
|
|
406
409
|
top: 0;
|
|
407
410
|
left: 0;
|
|
408
|
-
z-index:
|
|
411
|
+
z-index: 1000;
|
|
409
412
|
}
|
|
410
413
|
.telebox-max-titlebar .telebox-title {
|
|
411
414
|
display: none;
|
|
@@ -416,9 +419,11 @@
|
|
|
416
419
|
.telebox-max-titlebar.telebox-max-titlebar-single-title .telebox-title {
|
|
417
420
|
display: block;
|
|
418
421
|
}
|
|
422
|
+
|
|
419
423
|
.telebox-max-titlebar-maximized {
|
|
420
424
|
display: flex;
|
|
421
425
|
}
|
|
426
|
+
|
|
422
427
|
.telebox-titles {
|
|
423
428
|
height: 100%;
|
|
424
429
|
margin: 0;
|
|
@@ -446,10 +451,10 @@
|
|
|
446
451
|
background-color: rgba(238, 238, 247, 0.8);
|
|
447
452
|
}
|
|
448
453
|
.telebox-titles::-webkit-scrollbar-thumb:hover {
|
|
449
|
-
background-color:
|
|
454
|
+
background-color: rgb(238, 238, 247);
|
|
450
455
|
}
|
|
451
456
|
.telebox-titles::-webkit-scrollbar-thumb:active {
|
|
452
|
-
background-color:
|
|
457
|
+
background-color: rgb(238, 238, 247);
|
|
453
458
|
}
|
|
454
459
|
.telebox-titles::-webkit-scrollbar-thumb:vertical {
|
|
455
460
|
min-height: 50px;
|
|
@@ -457,6 +462,7 @@
|
|
|
457
462
|
.telebox-titles::-webkit-scrollbar-thumb:horizontal {
|
|
458
463
|
min-width: 50px;
|
|
459
464
|
}
|
|
465
|
+
|
|
460
466
|
.telebox-titles-content {
|
|
461
467
|
height: 100%;
|
|
462
468
|
display: flex;
|
|
@@ -464,6 +470,7 @@
|
|
|
464
470
|
align-items: center;
|
|
465
471
|
padding: 0;
|
|
466
472
|
}
|
|
473
|
+
|
|
467
474
|
.telebox-titles-tab {
|
|
468
475
|
height: 100%;
|
|
469
476
|
overflow: hidden;
|
|
@@ -484,12 +491,15 @@
|
|
|
484
491
|
cursor: pointer;
|
|
485
492
|
user-select: none;
|
|
486
493
|
}
|
|
494
|
+
|
|
487
495
|
.telebox-titles-tab-focus {
|
|
488
496
|
color: #357bf6;
|
|
489
497
|
}
|
|
498
|
+
|
|
490
499
|
.telebox-readonly .telebox-titles-tab {
|
|
491
500
|
cursor: not-allowed;
|
|
492
501
|
}
|
|
502
|
+
|
|
493
503
|
.telebox-color-scheme-dark {
|
|
494
504
|
color-scheme: dark;
|
|
495
505
|
}
|
|
@@ -503,4 +513,87 @@
|
|
|
503
513
|
}
|
|
504
514
|
.telebox-color-scheme-dark .telebox-title {
|
|
505
515
|
color: #e9e9e9;
|
|
516
|
+
}.telebox-app-menu-app-menu-badge {
|
|
517
|
+
position: absolute;
|
|
518
|
+
right: 0;
|
|
519
|
+
top: 0;
|
|
520
|
+
z-index: 1;
|
|
521
|
+
width: auto;
|
|
522
|
+
height: 12px;
|
|
523
|
+
max-width: 100%;
|
|
524
|
+
overflow: hidden;
|
|
525
|
+
text-overflow: ellipsis;
|
|
526
|
+
white-space: nowrap;
|
|
527
|
+
color: #fff;
|
|
528
|
+
background-color: red;
|
|
529
|
+
border-radius: 6px;
|
|
530
|
+
padding: 0 4px;
|
|
531
|
+
font-size: 12px;
|
|
532
|
+
line-height: 12px;
|
|
533
|
+
text-align: center;
|
|
534
|
+
transform: scale(0.7);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.telebox-app-menu-app-menu-tooltip {
|
|
538
|
+
position: absolute;
|
|
539
|
+
right: 0;
|
|
540
|
+
bottom: 0;
|
|
541
|
+
transform: translateY(-50px);
|
|
542
|
+
width: 100px;
|
|
543
|
+
height: auto;
|
|
544
|
+
display: flex;
|
|
545
|
+
flex-flow: column nowrap;
|
|
546
|
+
align-items: center;
|
|
547
|
+
justify-content: flex-end;
|
|
548
|
+
box-shadow: 0 2px 6px rgba(47, 65, 146, 0.1490196078);
|
|
549
|
+
border-radius: 4px;
|
|
550
|
+
padding: 3px 0;
|
|
551
|
+
background-color: #fff;
|
|
552
|
+
pointer-events: none;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.telebox-app-menu-app-menu-item {
|
|
556
|
+
display: flex;
|
|
557
|
+
flex-flow: row nowrap;
|
|
558
|
+
align-items: center;
|
|
559
|
+
justify-content: space-between;
|
|
560
|
+
padding: 0 5px 0 15px;
|
|
561
|
+
box-sizing: border-box;
|
|
562
|
+
width: 100%;
|
|
563
|
+
pointer-events: auto;
|
|
564
|
+
color: #999;
|
|
565
|
+
}
|
|
566
|
+
.telebox-app-menu-app-menu-item:hover {
|
|
567
|
+
background-color: #f0f0f0;
|
|
568
|
+
}
|
|
569
|
+
.telebox-app-menu-app-menu-item.show-all, .telebox-app-menu-app-menu-item.hidden-all {
|
|
570
|
+
padding-left: 20px;
|
|
571
|
+
pointer-events: none;
|
|
572
|
+
background-size: 15%;
|
|
573
|
+
background-position-y: center;
|
|
574
|
+
background-position-x: 2px;
|
|
575
|
+
background-repeat: no-repeat;
|
|
576
|
+
}
|
|
577
|
+
.telebox-app-menu-app-menu-item.active {
|
|
578
|
+
color: #333;
|
|
579
|
+
pointer-events: auto;
|
|
580
|
+
}
|
|
581
|
+
.telebox-app-menu-app-menu-item.hidden-all {
|
|
582
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjZ2MjZIMHoiIC8+CiAgICAgICAgPHBhdGggaWQ9ImMiIGQ9Ik0yNi44NjkgMEwyOCAxLjEzMVYyNi44N0wyNi44NjkgMjhIMS4xM0wwIDI2Ljg3VjEuMTMxTDEuMTMgMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPgogICAgICAgICAgICA8bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNC42NDI5LTQuNjQyOWgzNS4yODU4djM1LjI4NThILTQuNjQyOXoiIG1hc2s9InVybCgjYikiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnPgogICAgICAgICAgICA8bWFzayBpZD0iZCIgZmlsbD0iI2ZmZiI+CiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjIiAvPgogICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTcuNTE2OCAxNEwxNC0xNy41MTY4IDQ1LjUxNjggMTQgMTQgNDUuNTE2OHoiIG1hc2s9InVybCgjZCkiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIHN0cm9rZT0iI0E3QTdDQSIgc3Ryb2tlLXdpZHRoPSIxLjIiCiAgICAgICAgICAgIGQ9Ik0xMC4wODg2IDIxLjQ4NjV2LTMuNjk2Nkg2LjM5Mk0yMS4zODU1IDEwLjE4OTVoLTMuNjk2NlY2LjQ5M00yMS40MDIgMTcuNzk4M2gtMy42OTY2djMuNjk2Nk0xMC4yNTAzIDYuMTQ5OHYzLjg5ODVINi4zNTE3IiAvPgogICAgPC9nPgo8L3N2Zz4K);
|
|
583
|
+
}
|
|
584
|
+
.telebox-app-menu-app-menu-item.show-all {
|
|
585
|
+
border-top: 1px solid #ccc;
|
|
586
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjggMjgiPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjh2MjhIMHoiIC8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIgLz4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgZmlsbD0iI0E3QTdDQSIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgIGQ9Ik0yMC40ODEgMTcuMWgxLjJ2NC41ODFIMTcuMXYtMS4yaDMuMzgxVjE3LjF6bS0xNC4xOTA1LS4wMDloMS4ydjMuMzgxaDMuMzgwOXYxLjJoLTQuNTgxdi00LjU4MXpNMTcuMSA2LjE5MDVoNC41ODF2NC41ODA5aC0xLjJ2LTMuMzgxSDE3LjF2LTEuMnptLTEwLjcwMDguMTA4N2g0Ljc5ODV2MS4ySDcuNTk5MnYzLjU5ODVoLTEuMlY2LjI5OTJ6IiAvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
.telebox-app-menu-app-menu-item-title {
|
|
590
|
+
flex: 1;
|
|
591
|
+
overflow: hidden;
|
|
592
|
+
text-overflow: ellipsis;
|
|
593
|
+
white-space: nowrap;
|
|
594
|
+
font-size: 12px;
|
|
595
|
+
line-height: 20px;
|
|
596
|
+
text-align: left;
|
|
597
|
+
height: 20px;
|
|
598
|
+
pointer-events: none;
|
|
506
599
|
}
|