@netless/telebox-insider 1.0.0-alpha.34 → 1.0.0-alpha.37
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/TeleBoxManager/index.d.ts +1 -1
- package/dist/TeleBoxManager/typings.d.ts +1 -1
- package/dist/telebox-insider.cjs.js +26 -15
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +26 -15
- package/dist/telebox-insider.es.js.map +1 -1
- package/package.json +1 -1
- package/src/TeleBoxManager/MaxTitleBar/index.ts +6 -4
- package/src/TeleBoxManager/index.ts +30 -16
- package/src/TeleBoxManager/typings.ts +1 -1
|
@@ -29,6 +29,7 @@ declare type ValConfig = {
|
|
|
29
29
|
stageStyle: Val<string>;
|
|
30
30
|
defaultBoxBodyStyle: Val<string | null>;
|
|
31
31
|
defaultBoxStageStyle: Val<string | null>;
|
|
32
|
+
theme: Val<TeleBoxManagerThemeConfig | null>;
|
|
32
33
|
};
|
|
33
34
|
declare type CombinedValEnhancedResult = ValEnhancedResult<ValConfig> & ReadonlyValEnhancedResult<ReadonlyValConfig>;
|
|
34
35
|
export interface TeleBoxManager extends CombinedValEnhancedResult {
|
|
@@ -86,7 +87,6 @@ export declare class TeleBoxManager {
|
|
|
86
87
|
remove(boxOrID: string | TeleBox, skipUpdate?: boolean): ReadonlyTeleBox | undefined;
|
|
87
88
|
removeTopBox(): ReadonlyTeleBox | undefined;
|
|
88
89
|
removeAll(skipUpdate?: boolean): ReadonlyTeleBox[];
|
|
89
|
-
setTheme(theme: TeleBoxManagerThemeConfig): void;
|
|
90
90
|
/**
|
|
91
91
|
* Mount manager to a container element.
|
|
92
92
|
*/
|
|
@@ -31,7 +31,7 @@ export interface TeleBoxManagerConfig extends Pick<TeleBoxConfig, "namespace"> {
|
|
|
31
31
|
/** Custom `style` attribute value for stage area of all boxes. Can be overwritten by box. */
|
|
32
32
|
readonly defaultBoxStageStyle?: string | null;
|
|
33
33
|
/** Theme variable */
|
|
34
|
-
readonly theme?: TeleBoxManagerThemeConfig;
|
|
34
|
+
readonly theme?: TeleBoxManagerThemeConfig | null;
|
|
35
35
|
}
|
|
36
36
|
declare type TeleBoxManagerBoxConfigBaseProps = "title" | "visible" | "width" | "height" | "minWidth" | "minHeight" | "x" | "y" | "resizable" | "draggable" | "boxRatio" | "zIndex" | "stageRatio";
|
|
37
37
|
export declare type TeleBoxManagerCreateConfig = Pick<TeleBoxConfig, TeleBoxManagerBoxConfigBaseProps | "content" | "stage" | "footer" | "styles" | "bodyStyle" | "stageStyle" | "id" | "focus" | "enableShadowDOM">;
|
|
@@ -1068,10 +1068,12 @@ class MaxTitleBar extends DefaultTitleBar {
|
|
|
1068
1068
|
this.$titles = document.createElement("div");
|
|
1069
1069
|
this.$titles.className = this.wrapClassName("titles");
|
|
1070
1070
|
this.sideEffect.addEventListener(this.$titles, "wheel", (ev) => {
|
|
1071
|
-
ev.
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1071
|
+
if (!ev.deltaX) {
|
|
1072
|
+
ev.currentTarget.scrollBy({
|
|
1073
|
+
left: ev.deltaY > 0 ? 250 : -250,
|
|
1074
|
+
behavior: "smooth"
|
|
1075
|
+
});
|
|
1076
|
+
}
|
|
1075
1077
|
}, { passive: false }, "max-render-wheel-titles");
|
|
1076
1078
|
const $content = document.createElement("div");
|
|
1077
1079
|
$content.className = this.wrapClassName("titles-content");
|
|
@@ -1109,7 +1111,7 @@ class TeleBoxManager {
|
|
|
1109
1111
|
stageStyle = "",
|
|
1110
1112
|
defaultBoxBodyStyle = null,
|
|
1111
1113
|
defaultBoxStageStyle = null,
|
|
1112
|
-
theme =
|
|
1114
|
+
theme = null
|
|
1113
1115
|
} = {}) {
|
|
1114
1116
|
this.events = new Emittery__default["default"]();
|
|
1115
1117
|
this._sideEffect = new sideEffectManager.SideEffectManager();
|
|
@@ -1176,8 +1178,13 @@ class TeleBoxManager {
|
|
|
1176
1178
|
const handler = (evt) => {
|
|
1177
1179
|
prefersDark$.setValue(evt.matches);
|
|
1178
1180
|
};
|
|
1179
|
-
prefersDarkMatch.addEventListener
|
|
1180
|
-
|
|
1181
|
+
if (prefersDarkMatch.addEventListener) {
|
|
1182
|
+
prefersDarkMatch.addEventListener("change", handler);
|
|
1183
|
+
return () => prefersDarkMatch.removeEventListener("change", handler);
|
|
1184
|
+
} else {
|
|
1185
|
+
prefersDarkMatch.addListener(handler);
|
|
1186
|
+
return () => prefersDarkMatch.removeListener(handler);
|
|
1187
|
+
}
|
|
1181
1188
|
});
|
|
1182
1189
|
}
|
|
1183
1190
|
const prefersColorScheme$ = new valueEnhancer.Val(prefersColorScheme);
|
|
@@ -1188,6 +1195,9 @@ class TeleBoxManager {
|
|
|
1188
1195
|
}));
|
|
1189
1196
|
const darkMode$ = valueEnhancer.combine([prefersDark$, prefersColorScheme$], ([prefersDark, prefersColorScheme2]) => prefersColorScheme2 === "auto" ? prefersDark : prefersColorScheme2 === "dark");
|
|
1190
1197
|
const state$ = valueEnhancer.combine([minimized$, maximized$], ([minimized2, maximized2]) => minimized2 ? TELE_BOX_STATE.Minimized : maximized2 ? TELE_BOX_STATE.Maximized : TELE_BOX_STATE.Normal);
|
|
1198
|
+
const theme$ = new valueEnhancer.Val(theme, {
|
|
1199
|
+
compare: shallowequal__default["default"]
|
|
1200
|
+
});
|
|
1191
1201
|
const readonlyValConfig = {
|
|
1192
1202
|
darkMode: darkMode$,
|
|
1193
1203
|
state: state$,
|
|
@@ -1207,7 +1217,8 @@ class TeleBoxManager {
|
|
|
1207
1217
|
containerStyle: containerStyle$,
|
|
1208
1218
|
stageStyle: stageStyle$,
|
|
1209
1219
|
defaultBoxBodyStyle: defaultBoxBodyStyle$,
|
|
1210
|
-
defaultBoxStageStyle: defaultBoxStageStyle
|
|
1220
|
+
defaultBoxStageStyle: defaultBoxStageStyle$,
|
|
1221
|
+
theme: theme$
|
|
1211
1222
|
};
|
|
1212
1223
|
valueEnhancer.withValueEnhancer(this, valConfig, valManager);
|
|
1213
1224
|
const closeBtnClassName = this.wrapClassName("titlebar-icon-close");
|
|
@@ -1259,8 +1270,14 @@ class TeleBoxManager {
|
|
|
1259
1270
|
minimized$.subscribe((minimized2) => {
|
|
1260
1271
|
this.$container.classList.toggle(this.wrapClassName("is-minimized"), minimized2);
|
|
1261
1272
|
}),
|
|
1262
|
-
containerStyle
|
|
1273
|
+
valueEnhancer.combine([containerStyle$, theme$]).subscribe(([containerStyle2, theme2]) => {
|
|
1263
1274
|
this.$container.style.cssText = containerStyle2;
|
|
1275
|
+
if (theme2) {
|
|
1276
|
+
Object.keys(theme2).forEach((key) => {
|
|
1277
|
+
var _a;
|
|
1278
|
+
this.$container.style.setProperty(`--tele-${key}`, (_a = theme2[key]) != null ? _a : null);
|
|
1279
|
+
});
|
|
1280
|
+
}
|
|
1264
1281
|
}),
|
|
1265
1282
|
stageStyle$.subscribe((stageStyle2) => {
|
|
1266
1283
|
this.$stage.style.cssText = stageStyle2;
|
|
@@ -1477,12 +1494,6 @@ class TeleBoxManager {
|
|
|
1477
1494
|
}
|
|
1478
1495
|
return deletedBoxes;
|
|
1479
1496
|
}
|
|
1480
|
-
setTheme(theme) {
|
|
1481
|
-
Object.keys(theme).forEach((key) => {
|
|
1482
|
-
var _a;
|
|
1483
|
-
this.$container.style.setProperty(`--tele-${key}`, (_a = theme[key]) != null ? _a : null);
|
|
1484
|
-
});
|
|
1485
|
-
}
|
|
1486
1497
|
mount(root) {
|
|
1487
1498
|
this._root$.setValue(root);
|
|
1488
1499
|
}
|