@netless/telebox-insider 0.3.0-beta.4 → 0.3.0-beta.6
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 +71 -11
- package/dist/style.css +95 -2
- package/dist/telebox-insider.cjs.js +577 -163
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +577 -163
- package/dist/telebox-insider.es.js.map +1 -1
- package/package.json +1 -1
- package/src/AppMenu/index.ts +145 -0
- package/src/AppMenu/style.scss +109 -0
- package/src/TeleBoxCollector/index.ts +35 -1
- package/src/TeleBoxCollector/style.scss +11 -1
- package/src/TeleBoxManager/MaxTitleBar/index.ts +5 -2
- package/src/TeleBoxManager/MaxTitleBar/style.scss +1 -1
- package/src/TeleBoxManager/index.ts +484 -166
- package/src/TeleBoxManager/typings.ts +2 -0
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">;
|
|
@@ -804,8 +812,9 @@ interface MaxTitleBarConfig extends DefaultTitleBarConfig {
|
|
|
804
812
|
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
805
813
|
}
|
|
806
814
|
declare class MaxTitleBar extends DefaultTitleBar {
|
|
807
|
-
getBoxesStatus?:
|
|
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
|
/**
|
|
@@ -831,6 +840,37 @@ 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
|
+
readonly container: HTMLDivElement;
|
|
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
|
+
private createDefaultAppMenu;
|
|
865
|
+
private init;
|
|
866
|
+
updatePrefersColorSchemeHandler: () => void;
|
|
867
|
+
appMenuChange: () => void;
|
|
868
|
+
private createMinimizedItem;
|
|
869
|
+
private renderMenuView;
|
|
870
|
+
render(minimizedBoxesStatus: Map<AppId, TELE_BOX_STATE.Minimized>): void;
|
|
871
|
+
destroy(): void;
|
|
872
|
+
}
|
|
873
|
+
|
|
834
874
|
type ValConfig = {
|
|
835
875
|
prefersColorScheme: Val<TeleBoxColorScheme, boolean>;
|
|
836
876
|
containerRect: Val<TeleBoxRect, boolean>;
|
|
@@ -846,7 +886,11 @@ interface TeleBoxManager extends ValEnhancedResult<ValConfig> {
|
|
|
846
886
|
declare class TeleBoxManager {
|
|
847
887
|
private boxesStatus$;
|
|
848
888
|
private lastNotMinimizedBoxesStatus$;
|
|
849
|
-
|
|
889
|
+
private appMenu;
|
|
890
|
+
private useBoxesStatus;
|
|
891
|
+
private effectBoxesStatusTimer?;
|
|
892
|
+
private effectLastNotMinimizedBoxStatusTimer?;
|
|
893
|
+
constructor({ root, prefersColorScheme, minimized, maximized, fence, containerRect, collector, namespace, readonly, useBoxesStatus, }?: TeleBoxManagerConfig);
|
|
850
894
|
get boxes(): ReadonlyArray<TeleBox>;
|
|
851
895
|
get topBox(): TeleBox | undefined;
|
|
852
896
|
readonly events: TeleBoxManagerEvents;
|
|
@@ -855,6 +899,7 @@ declare class TeleBoxManager {
|
|
|
855
899
|
readonly namespace: string;
|
|
856
900
|
_darkMode$: Val<boolean, boolean>;
|
|
857
901
|
_calcCollectorRect: () => TeleBoxRect | undefined;
|
|
902
|
+
_setCollectorRect: (collectorRect: TeleBoxRect | undefined) => void;
|
|
858
903
|
get darkMode(): boolean;
|
|
859
904
|
_state$: Val<TeleBoxState, boolean>;
|
|
860
905
|
get state(): TeleBoxState;
|
|
@@ -862,23 +907,39 @@ declare class TeleBoxManager {
|
|
|
862
907
|
setState(state: TeleBoxState, skipUpdate?: boolean): this;
|
|
863
908
|
setBoxStatus(boxId: string, boxStatus?: TeleBoxState, skipUpdate?: boolean): void;
|
|
864
909
|
getBoxStatus(boxId: string): TeleBoxState | undefined;
|
|
865
|
-
getLastNotMinimizedBoxStatus(boxId: string): NotMinimizedBoxState | undefined;
|
|
866
910
|
get boxesStatus(): ReadonlyMap<string, TeleBoxState>;
|
|
867
911
|
get lastNotMinimizedBoxesStatus(): ReadonlyMap<string, NotMinimizedBoxState>;
|
|
868
|
-
setBoxesStatus(boxesStatus: Map<string, TeleBoxState>, skipUpdate?: boolean): void
|
|
912
|
+
setBoxesStatus(boxesStatus: Map<string, TeleBoxState>, skipUpdate?: boolean): Promise<void>;
|
|
869
913
|
private effectBoxStatusChange;
|
|
914
|
+
private effectBoxesStatusTimerFunc;
|
|
915
|
+
effectBoxesStatusChange(skipUpdate?: boolean): Promise<void>;
|
|
870
916
|
hasBoxesStatus(): boolean;
|
|
871
917
|
hasMinimizedBox(): boolean;
|
|
918
|
+
getMinimizedBoxesStatus(): Map<string, TELE_BOX_STATE.Minimized>;
|
|
919
|
+
getNotMinimizedBoxesStatus(): Map<string, NotMinimizedBoxState>;
|
|
920
|
+
getAllMaximizedBoxesStatus(): Map<string, TELE_BOX_STATE.Maximized>;
|
|
921
|
+
getAllNormalBoxesStatus(): Map<string, TELE_BOX_STATE.Normal>;
|
|
922
|
+
getLastNotMinimizedBoxStatus(boxId: string): NotMinimizedBoxState | undefined;
|
|
872
923
|
setLastNotMinimizedBoxStatus(boxId: string, lastNotMinimizedBoxStatus?: NotMinimizedBoxState, skipUpdate?: boolean): void;
|
|
873
924
|
setLastNotMinimizedBoxesStatus(lastNotMinimizedBoxesStatus: Map<string, NotMinimizedBoxState>, skipUpdate?: boolean): void;
|
|
874
925
|
private effectLastNotMinimizedBoxStatusChange;
|
|
875
|
-
private
|
|
926
|
+
private effectLastNotMinimizedBoxStatusFunc;
|
|
927
|
+
private getUnabledBoxesStatusZIndex;
|
|
928
|
+
/** Maximized box zIndex range: 100-299 */
|
|
929
|
+
getMaxMaximizedBoxZIndex(): number;
|
|
930
|
+
/** normal box zIndex range: 300-499 */
|
|
931
|
+
getMaxNormalBoxZIndex(): number;
|
|
876
932
|
create(config?: TeleBoxManagerCreateConfig, smartPosition?: boolean): ReadonlyTeleBox;
|
|
877
933
|
query(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox[];
|
|
878
934
|
queryOne(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox | undefined;
|
|
879
935
|
update(boxID: string, config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
880
936
|
updateAll(config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
881
|
-
|
|
937
|
+
setBox(boxOrID: string | TeleBox, options: {
|
|
938
|
+
status?: TeleBoxState;
|
|
939
|
+
lastNotMinimizedBoxStatus?: NotMinimizedBoxState;
|
|
940
|
+
zIndex?: number;
|
|
941
|
+
}, skipUpdate?: boolean, effectFunc?: () => void): void;
|
|
942
|
+
remove(boxOrID: string | TeleBox, skipUpdate?: boolean, effectFunc?: () => void): ReadonlyTeleBox | undefined;
|
|
882
943
|
removeTopBox(): ReadonlyTeleBox | undefined;
|
|
883
944
|
removeAll(skipUpdate?: boolean): ReadonlyTeleBox[];
|
|
884
945
|
destroy(skipUpdate?: boolean): void;
|
|
@@ -894,12 +955,11 @@ declare class TeleBoxManager {
|
|
|
894
955
|
protected updateBox(box: TeleBox, config: TeleBoxManagerUpdateConfig, skipUpdate?: boolean): void;
|
|
895
956
|
protected smartPosition(config?: TeleBoxConfig): TeleBoxConfig;
|
|
896
957
|
protected makeBoxTop(box: TeleBox, skipUpdate?: boolean): void;
|
|
958
|
+
private getMaximizedTopBox;
|
|
897
959
|
protected makeMaximizedTopBoxFocus(): void;
|
|
898
|
-
private makeTopBoxEffect;
|
|
899
|
-
protected makeMaximizedBoxFocus(maximizedBox: MaxTitleBarTeleBox, skipUpdate?: boolean): void;
|
|
900
|
-
protected makeMaximizedBoxBlur(): void;
|
|
901
960
|
protected getBoxIndex(boxOrID: TeleBox | string): number;
|
|
902
|
-
|
|
961
|
+
getBox(boxOrID: TeleBox | string): TeleBox | undefined;
|
|
962
|
+
createMinimizedAppMenu(): AppMenu | undefined;
|
|
903
963
|
}
|
|
904
964
|
|
|
905
965
|
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 };
|
package/dist/style.css
CHANGED
|
@@ -362,7 +362,7 @@
|
|
|
362
362
|
visibility: hidden;
|
|
363
363
|
display: block;
|
|
364
364
|
position: absolute;
|
|
365
|
-
z-index:
|
|
365
|
+
z-index: 1000;
|
|
366
366
|
width: 40px;
|
|
367
367
|
height: 40px;
|
|
368
368
|
margin: 0;
|
|
@@ -397,6 +397,16 @@
|
|
|
397
397
|
|
|
398
398
|
.telebox-color-scheme-dark.telebox-collector {
|
|
399
399
|
background-color: #43434d;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.telebox-collector-shadow {
|
|
403
|
+
position: absolute;
|
|
404
|
+
top: 0;
|
|
405
|
+
left: 0;
|
|
406
|
+
width: 100%;
|
|
407
|
+
height: 100%;
|
|
408
|
+
z-index: -1;
|
|
409
|
+
pointer-events: none;
|
|
400
410
|
}.telebox-max-titlebar {
|
|
401
411
|
user-select: none;
|
|
402
412
|
-webkit-touch-callout: none;
|
|
@@ -405,7 +415,7 @@
|
|
|
405
415
|
position: absolute;
|
|
406
416
|
top: 0;
|
|
407
417
|
left: 0;
|
|
408
|
-
z-index:
|
|
418
|
+
z-index: 1000;
|
|
409
419
|
}
|
|
410
420
|
.telebox-max-titlebar .telebox-title {
|
|
411
421
|
display: none;
|
|
@@ -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 #2f419226;
|
|
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
|
}
|