@navios/commander-tui 1.0.0 → 1.1.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/CHANGELOG.md +18 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/index.cjs +19 -10
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +37 -28
- package/lib/index.d.cts.map +1 -1
- package/lib/index.d.mts +48 -39
- package/lib/index.d.mts.map +1 -1
- package/lib/index.mjs +19 -10
- package/lib/index.mjs.map +1 -1
- package/lib/{screen_manager_bridge-CkV7637i.cjs → screen_manager_bridge-Cp2p1Ix3.cjs} +1 -1
- package/lib/{screen_manager_bridge-Dfg4QUrl.mjs → screen_manager_bridge-D2BBwKcF.mjs} +13 -1
- package/lib/screen_manager_bridge-D2BBwKcF.mjs.map +1 -0
- package/lib/{screen_manager_bridge-DN2J6_k1.mjs → screen_manager_bridge-DT-l0rxa.mjs} +1 -1
- package/lib/{screen_manager_bridge-BpDgVu3e.cjs → screen_manager_bridge-hMUrLiBP.cjs} +13 -1
- package/lib/screen_manager_bridge-hMUrLiBP.cjs.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +48 -0
- package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +32 -0
- package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +76 -0
- package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +40 -0
- package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +68 -0
- package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +240 -0
- package/src/__tests__/components/sidebar.spec.tsx +17 -0
- package/src/overrides/console.logger.override.ts +8 -1
- package/src/schemas/screen-options.ts +2 -0
- package/src/services/screen.ts +3 -0
- package/src/services/screen_manager.tsx +15 -11
- package/src/themes/dark.ts +4 -0
- package/src/themes/high-contrast.ts +4 -0
- package/src/themes/light.ts +4 -0
- package/src/types/screen.types.ts +1 -1
- package/src/types/theme.types.ts +1 -0
- package/lib/screen_manager_bridge-BpDgVu3e.cjs.map +0 -1
- package/lib/screen_manager_bridge-Dfg4QUrl.mjs.map +0 -1
package/lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_screen_manager_bridge = require('./screen_manager_bridge-
|
|
1
|
+
const require_screen_manager_bridge = require('./screen_manager_bridge-hMUrLiBP.cjs');
|
|
2
2
|
let _opentui_react_jsx_runtime = require("@opentui/react/jsx-runtime");
|
|
3
3
|
let _opentui_core = require("@opentui/core");
|
|
4
4
|
let _opentui_react = require("@opentui/react");
|
|
@@ -3752,7 +3752,8 @@ const ScreenOptionsSchema = object({
|
|
|
3752
3752
|
name: string(),
|
|
3753
3753
|
icon: string().optional(),
|
|
3754
3754
|
badgeCount: number().optional(),
|
|
3755
|
-
hidden: boolean().optional().default(false)
|
|
3755
|
+
hidden: boolean().optional().default(false),
|
|
3756
|
+
static: boolean().optional().default(false)
|
|
3756
3757
|
});
|
|
3757
3758
|
|
|
3758
3759
|
//#endregion
|
|
@@ -3802,6 +3803,7 @@ var ScreenInstance = class {
|
|
|
3802
3803
|
this.icon = options.icon;
|
|
3803
3804
|
this.badgeCount = options.badgeCount ?? 0;
|
|
3804
3805
|
this.hidden = options.hidden ?? false;
|
|
3806
|
+
if (options.static) this.status = "static";
|
|
3805
3807
|
}
|
|
3806
3808
|
incrementVersion() {
|
|
3807
3809
|
this.version++;
|
|
@@ -4620,11 +4622,12 @@ var ScreenManager = class {
|
|
|
4620
4622
|
const visibleScreens = this.getScreens();
|
|
4621
4623
|
if (this.selectedIndex >= visibleScreens.length) this.selectedIndex = Math.max(0, visibleScreens.length - 1);
|
|
4622
4624
|
}
|
|
4623
|
-
this.checkAutoClose();
|
|
4624
4625
|
this.notifyChange();
|
|
4625
4626
|
}
|
|
4626
4627
|
/**
|
|
4627
|
-
* Check if all screens are successful and start auto-close timer if enabled
|
|
4628
|
+
* Check if all screens are successful (or only static) and start auto-close timer if enabled.
|
|
4629
|
+
* Static screens are ignored in this calculation.
|
|
4630
|
+
* If there are only static screens, the timer will trigger after the delay with no new activity.
|
|
4628
4631
|
*/ checkAutoClose() {
|
|
4629
4632
|
const autoClose = this.bindOptions.autoClose;
|
|
4630
4633
|
if (!autoClose || !this.isBound) return;
|
|
@@ -4632,9 +4635,10 @@ var ScreenManager = class {
|
|
|
4632
4635
|
clearTimeout(this.autoCloseTimer);
|
|
4633
4636
|
this.autoCloseTimer = null;
|
|
4634
4637
|
}
|
|
4635
|
-
const
|
|
4636
|
-
if (
|
|
4637
|
-
|
|
4638
|
+
const nonStaticScreens = this.getScreens().filter((s) => s.getStatus() !== "static");
|
|
4639
|
+
if (nonStaticScreens.length > 0) {
|
|
4640
|
+
if (!nonStaticScreens.every((s) => s.getStatus() === "success")) return;
|
|
4641
|
+
}
|
|
4638
4642
|
const delay = typeof autoClose === "number" ? autoClose : 5e3;
|
|
4639
4643
|
this.autoCloseTimer = setTimeout(() => {
|
|
4640
4644
|
this.unbind();
|
|
@@ -4708,11 +4712,12 @@ var ScreenManager = class {
|
|
|
4708
4712
|
return () => this.changeListeners.delete(listener);
|
|
4709
4713
|
}
|
|
4710
4714
|
notifyChange() {
|
|
4715
|
+
this.checkAutoClose();
|
|
4711
4716
|
this.changeListeners.forEach((listener) => listener());
|
|
4712
4717
|
}
|
|
4713
4718
|
async render() {
|
|
4714
4719
|
if (!this.root) return;
|
|
4715
|
-
const { ScreenManagerBridge: ScreenManagerBridge$1 } = await Promise.resolve().then(() => require("./screen_manager_bridge-
|
|
4720
|
+
const { ScreenManagerBridge: ScreenManagerBridge$1 } = await Promise.resolve().then(() => require("./screen_manager_bridge-Cp2p1Ix3.cjs"));
|
|
4716
4721
|
this.root.render(/* @__PURE__ */ (0, _opentui_react_jsx_runtime.jsx)(ScreenManagerBridge$1, {
|
|
4717
4722
|
manager: this,
|
|
4718
4723
|
theme: this.theme
|
|
@@ -6227,10 +6232,14 @@ function overrideConsoleLogger(hidden = false) {
|
|
|
6227
6232
|
({c: [_ConsoleLoggerOverride, _initClass$4]} = _apply_decs_2203_r(this, [], [_dec$4]));
|
|
6228
6233
|
}
|
|
6229
6234
|
logger = (0, _navios_core.inject)(ScreenLogger, { screen: {
|
|
6230
|
-
name: "
|
|
6235
|
+
name: "internal",
|
|
6231
6236
|
icon: "💻",
|
|
6232
|
-
hidden
|
|
6237
|
+
hidden,
|
|
6238
|
+
static: true
|
|
6233
6239
|
} });
|
|
6240
|
+
setup(options) {
|
|
6241
|
+
this.logger.setLogLevels(options.logLevels ?? require_screen_manager_bridge.ALL_LOG_LEVELS);
|
|
6242
|
+
}
|
|
6234
6243
|
log(message) {
|
|
6235
6244
|
this.logger.log(message);
|
|
6236
6245
|
}
|