ccstatusline 2.0.6 → 2.0.8

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.
@@ -38938,7 +38938,7 @@ Gradient.propTypes = {
38938
38938
  var dist_default4 = Gradient;
38939
38939
 
38940
38940
  // src/tui/App.tsx
38941
- var import_react44 = __toESM(require_react(), 1);
38941
+ var import_react45 = __toESM(require_react(), 1);
38942
38942
 
38943
38943
  // src/utils/claude-settings.ts
38944
38944
  import { execSync } from "child_process";
@@ -50535,7 +50535,8 @@ var PowerlineConfigSchema = exports_external.object({
50535
50535
  separatorInvertBackground: exports_external.array(exports_external.boolean()).default([false]),
50536
50536
  startCaps: exports_external.array(exports_external.string()).default([]),
50537
50537
  endCaps: exports_external.array(exports_external.string()).default([]),
50538
- theme: exports_external.string().optional()
50538
+ theme: exports_external.string().optional(),
50539
+ autoAlign: exports_external.boolean().default(false)
50539
50540
  });
50540
50541
 
50541
50542
  // src/types/Widget.ts
@@ -50598,7 +50599,8 @@ var SettingsSchema = exports_external.object({
50598
50599
  separatorInvertBackground: [false],
50599
50600
  startCaps: [],
50600
50601
  endCaps: [],
50601
- theme: undefined
50602
+ theme: undefined,
50603
+ autoAlign: false
50602
50604
  }),
50603
50605
  updatemessage: exports_external.object({
50604
50606
  message: exports_external.string().nullable().optional(),
@@ -51035,7 +51037,7 @@ import { execSync as execSync3 } from "child_process";
51035
51037
  import * as fs5 from "fs";
51036
51038
  import * as path4 from "path";
51037
51039
  var __dirname = "/Users/sirmalloc/Projects/Personal/ccstatusline/src/utils";
51038
- var PACKAGE_VERSION = "2.0.6";
51040
+ var PACKAGE_VERSION = "2.0.8";
51039
51041
  function getPackageVersion() {
51040
51042
  if (/^\d+\.\d+\.\d+/.test(PACKAGE_VERSION)) {
51041
51043
  return PACKAGE_VERSION;
@@ -51517,7 +51519,7 @@ function SelectInput({ items = [], isFocused = true, initialIndex = 0, indicator
51517
51519
  }
51518
51520
  var SelectInput_default = SelectInput;
51519
51521
  // src/tui/components/ColorMenu.tsx
51520
- var import_react32 = __toESM(require_react(), 1);
51522
+ var import_react33 = __toESM(require_react(), 1);
51521
51523
 
51522
51524
  // src/utils/colors.ts
51523
51525
  function createColorMap() {
@@ -52036,7 +52038,7 @@ function formatTokens(count) {
52036
52038
  return `${(count / 1000).toFixed(1)}k`;
52037
52039
  return count.toString();
52038
52040
  }
52039
- function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, globalSeparatorOffset = 0) {
52041
+ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, globalSeparatorOffset = 0, allLinesWidgets) {
52040
52042
  const powerlineConfig = settings.powerline;
52041
52043
  const config2 = powerlineConfig ?? {};
52042
52044
  const separators = config2.separators ?? [""];
@@ -52066,24 +52068,24 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
52066
52068
  const flexMode = settings.flexMode;
52067
52069
  if (context.isPreview) {
52068
52070
  if (flexMode === "full") {
52069
- terminalWidth = detectedWidth - 8;
52071
+ terminalWidth = detectedWidth - 6;
52070
52072
  } else if (flexMode === "full-minus-40") {
52071
- terminalWidth = detectedWidth - 43;
52073
+ terminalWidth = detectedWidth - 40;
52072
52074
  } else if (flexMode === "full-until-compact") {
52073
- terminalWidth = detectedWidth - 8;
52075
+ terminalWidth = detectedWidth - 6;
52074
52076
  }
52075
52077
  } else {
52076
52078
  if (flexMode === "full") {
52077
- terminalWidth = detectedWidth - 4;
52079
+ terminalWidth = detectedWidth - 6;
52078
52080
  } else if (flexMode === "full-minus-40") {
52079
- terminalWidth = detectedWidth - 41;
52081
+ terminalWidth = detectedWidth - 40;
52080
52082
  } else if (flexMode === "full-until-compact") {
52081
52083
  const threshold = settings.compactThreshold;
52082
52084
  const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
52083
52085
  if (contextPercentage >= threshold) {
52084
52086
  terminalWidth = detectedWidth - 40;
52085
52087
  } else {
52086
- terminalWidth = detectedWidth - 4;
52088
+ terminalWidth = detectedWidth - 6;
52087
52089
  }
52088
52090
  }
52089
52091
  }
@@ -52143,6 +52145,57 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
52143
52145
  }
52144
52146
  if (widgetElements.length === 0)
52145
52147
  return "";
52148
+ const autoAlign = config2.autoAlign;
52149
+ if (autoAlign && allLinesWidgets) {
52150
+ const maxWidths = [];
52151
+ const allLinesElements = [];
52152
+ for (const lineWidgets of allLinesWidgets) {
52153
+ const filteredLineWidgets = lineWidgets.filter((w) => w.type !== "separator" && w.type !== "flex-separator");
52154
+ const lineElements = [];
52155
+ for (const widget of filteredLineWidgets) {
52156
+ let widgetText = "";
52157
+ try {
52158
+ const widgetImpl = getWidget(widget.type);
52159
+ widgetText = widgetImpl.render(widget, context, settings) ?? "";
52160
+ } catch {
52161
+ continue;
52162
+ }
52163
+ if (widgetText) {
52164
+ const padding = settings.defaultPadding ?? "";
52165
+ const paddedText = `${padding}${widgetText}${padding}`;
52166
+ lineElements.push({
52167
+ content: paddedText,
52168
+ bgColor: widget.backgroundColor,
52169
+ fgColor: widget.color,
52170
+ widget
52171
+ });
52172
+ }
52173
+ }
52174
+ allLinesElements.push(lineElements);
52175
+ }
52176
+ for (let pos = 0;pos < Math.max(...allLinesElements.map((line) => line.length)); pos++) {
52177
+ let maxWidth = 0;
52178
+ for (const lineElements of allLinesElements) {
52179
+ const element = lineElements[pos];
52180
+ if (element) {
52181
+ const plainLength = element.content.replace(ANSI_REGEX, "").length;
52182
+ maxWidth = Math.max(maxWidth, plainLength);
52183
+ }
52184
+ }
52185
+ maxWidths.push(maxWidth);
52186
+ }
52187
+ for (let i = 0;i < widgetElements.length; i++) {
52188
+ const element = widgetElements[i];
52189
+ const maxWidth = maxWidths[i];
52190
+ if (element && maxWidth !== undefined) {
52191
+ const currentLength = element.content.replace(ANSI_REGEX, "").length;
52192
+ const paddingNeeded = maxWidth - currentLength;
52193
+ if (paddingNeeded > 0) {
52194
+ element.content += " ".repeat(paddingNeeded);
52195
+ }
52196
+ }
52197
+ }
52198
+ }
52146
52199
  let result = "";
52147
52200
  if (startCap && widgetElements.length > 0) {
52148
52201
  const firstWidget = widgetElements[0];
@@ -52303,18 +52356,17 @@ function formatSeparator(sep) {
52303
52356
  }
52304
52357
  return sep;
52305
52358
  }
52306
- function renderStatusLineWithInfo(widgets, settings, context) {
52307
- const line = renderStatusLine(widgets, settings, context);
52359
+ function renderStatusLineWithInfo(widgets, settings, context, allLinesWidgets) {
52360
+ const line = renderStatusLine(widgets, settings, context, allLinesWidgets);
52308
52361
  const wasTruncated = line.includes("...");
52309
52362
  return { line, wasTruncated };
52310
52363
  }
52311
- function renderStatusLine(widgets, settings, context) {
52364
+ function renderStatusLine(widgets, settings, context, allLinesWidgets) {
52312
52365
  const colorLevel = getColorLevelString(settings.colorLevel);
52313
52366
  const powerlineSettings = settings.powerline;
52314
52367
  const isPowerlineMode = Boolean(powerlineSettings?.enabled);
52315
- if (isPowerlineMode) {
52316
- return renderPowerlineStatusLine(widgets, settings, context, context.lineIndex ?? 0, context.globalSeparatorIndex ?? 0);
52317
- }
52368
+ if (isPowerlineMode)
52369
+ return renderPowerlineStatusLine(widgets, settings, context, context.lineIndex ?? 0, context.globalSeparatorIndex ?? 0, allLinesWidgets);
52318
52370
  const applyColorsWithOverride = (text, foregroundColor, backgroundColor, bold) => {
52319
52371
  let fgColor = foregroundColor;
52320
52372
  if (settings.overrideForegroundColor && settings.overrideForegroundColor !== "none") {
@@ -52335,22 +52387,22 @@ function renderStatusLine(widgets, settings, context) {
52335
52387
  if (flexMode === "full") {
52336
52388
  terminalWidth = detectedWidth - 6;
52337
52389
  } else if (flexMode === "full-minus-40") {
52338
- terminalWidth = detectedWidth - 43;
52390
+ terminalWidth = detectedWidth - 40;
52339
52391
  } else if (flexMode === "full-until-compact") {
52340
52392
  terminalWidth = detectedWidth - 6;
52341
52393
  }
52342
52394
  } else {
52343
52395
  if (flexMode === "full") {
52344
- terminalWidth = detectedWidth - 4;
52396
+ terminalWidth = detectedWidth - 6;
52345
52397
  } else if (flexMode === "full-minus-40") {
52346
- terminalWidth = detectedWidth - 41;
52398
+ terminalWidth = detectedWidth - 40;
52347
52399
  } else if (flexMode === "full-until-compact") {
52348
52400
  const threshold = settings.compactThreshold;
52349
52401
  const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
52350
52402
  if (contextPercentage >= threshold) {
52351
52403
  terminalWidth = detectedWidth - 40;
52352
52404
  } else {
52353
- terminalWidth = detectedWidth - 4;
52405
+ terminalWidth = detectedWidth - 6;
52354
52406
  }
52355
52407
  }
52356
52408
  }
@@ -52804,6 +52856,38 @@ class SessionClockWidget {
52804
52856
  return true;
52805
52857
  }
52806
52858
  }
52859
+ // src/widgets/SessionCost.ts
52860
+ class SessionCostWidget {
52861
+ getDefaultColor() {
52862
+ return "green";
52863
+ }
52864
+ getDescription() {
52865
+ return "Shows the total session cost in USD";
52866
+ }
52867
+ getDisplayName() {
52868
+ return "Session Cost";
52869
+ }
52870
+ getEditorDisplay(item) {
52871
+ return { displayText: this.getDisplayName() };
52872
+ }
52873
+ render(item, context, settings) {
52874
+ if (context.isPreview) {
52875
+ return item.rawValue ? "$2.45" : "Cost: $2.45";
52876
+ }
52877
+ const totalCost = context.data?.cost?.total_cost_usd;
52878
+ if (totalCost === undefined) {
52879
+ return null;
52880
+ }
52881
+ const formattedCost = `$${totalCost.toFixed(2)}`;
52882
+ return item.rawValue ? formattedCost : `Cost: ${formattedCost}`;
52883
+ }
52884
+ supportsRawValue() {
52885
+ return true;
52886
+ }
52887
+ supportsColors(item) {
52888
+ return true;
52889
+ }
52890
+ }
52807
52891
  // src/widgets/TerminalWidth.ts
52808
52892
  class TerminalWidthWidget {
52809
52893
  getDefaultColor() {
@@ -53160,11 +53244,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
53160
53244
  return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53161
53245
  flexDirection: "column",
53162
53246
  children: [
53163
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53247
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53164
53248
  children: [
53165
- "Enter max width (blank for no limit):",
53166
- " ",
53167
- widthInput
53249
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53250
+ children: "Enter max width (blank for no limit): "
53251
+ }, undefined, false, undefined, this),
53252
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53253
+ children: widthInput
53254
+ }, undefined, false, undefined, this),
53255
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53256
+ backgroundColor: "gray",
53257
+ color: "black",
53258
+ children: " "
53259
+ }, undefined, false, undefined, this)
53168
53260
  ]
53169
53261
  }, undefined, true, undefined, this),
53170
53262
  /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
@@ -53177,11 +53269,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
53177
53269
  return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53178
53270
  flexDirection: "column",
53179
53271
  children: [
53180
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53272
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53181
53273
  children: [
53182
- "Enter timeout in milliseconds (default 1000):",
53183
- " ",
53184
- timeoutInput
53274
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53275
+ children: "Enter timeout in milliseconds (default 1000): "
53276
+ }, undefined, false, undefined, this),
53277
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53278
+ children: timeoutInput
53279
+ }, undefined, false, undefined, this),
53280
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53281
+ backgroundColor: "gray",
53282
+ color: "black",
53283
+ children: " "
53284
+ }, undefined, false, undefined, this)
53185
53285
  ]
53186
53286
  }, undefined, true, undefined, this),
53187
53287
  /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
@@ -53304,12 +53404,146 @@ class BlockTimerWidget {
53304
53404
  return true;
53305
53405
  }
53306
53406
  }
53407
+ // src/widgets/CurrentWorkingDir.tsx
53408
+ var import_react31 = __toESM(require_react(), 1);
53409
+ var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
53410
+
53411
+ class CurrentWorkingDirWidget {
53412
+ getDefaultColor() {
53413
+ return "blue";
53414
+ }
53415
+ getDescription() {
53416
+ return "Shows the current working directory";
53417
+ }
53418
+ getDisplayName() {
53419
+ return "Current Working Dir";
53420
+ }
53421
+ getEditorDisplay(item) {
53422
+ const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53423
+ const modifiers = [];
53424
+ if (segments && segments > 0) {
53425
+ modifiers.push(`segments: ${segments}`);
53426
+ }
53427
+ return {
53428
+ displayText: this.getDisplayName(),
53429
+ modifierText: modifiers.length > 0 ? `(${modifiers.join(", ")})` : undefined
53430
+ };
53431
+ }
53432
+ render(item, context, settings) {
53433
+ if (context.isPreview) {
53434
+ const segments2 = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53435
+ let previewPath;
53436
+ if (segments2 && segments2 > 0) {
53437
+ if (segments2 === 1) {
53438
+ previewPath = ".../project";
53439
+ } else {
53440
+ previewPath = ".../example/project";
53441
+ }
53442
+ } else {
53443
+ previewPath = "/Users/example/project";
53444
+ }
53445
+ return item.rawValue ? previewPath : `cwd: ${previewPath}`;
53446
+ }
53447
+ const cwd2 = context.data?.cwd;
53448
+ if (!cwd2) {
53449
+ return null;
53450
+ }
53451
+ const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53452
+ let displayPath = cwd2;
53453
+ if (segments && segments > 0) {
53454
+ const pathParts = cwd2.split("/");
53455
+ const filteredParts = pathParts.filter((part) => part !== "");
53456
+ if (filteredParts.length > segments) {
53457
+ const selectedSegments = filteredParts.slice(-segments);
53458
+ displayPath = ".../" + selectedSegments.join("/");
53459
+ }
53460
+ }
53461
+ return item.rawValue ? displayPath : `cwd: ${displayPath}`;
53462
+ }
53463
+ getCustomKeybinds() {
53464
+ return [
53465
+ { key: "s", label: "(s)egments", action: "edit-segments" }
53466
+ ];
53467
+ }
53468
+ renderEditor(props) {
53469
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(CurrentWorkingDirEditor, {
53470
+ ...props
53471
+ }, undefined, false, undefined, this);
53472
+ }
53473
+ supportsRawValue() {
53474
+ return true;
53475
+ }
53476
+ supportsColors(item) {
53477
+ return true;
53478
+ }
53479
+ }
53480
+ var CurrentWorkingDirEditor = ({ widget, onComplete, onCancel, action }) => {
53481
+ const [segmentsInput, setSegmentsInput] = import_react31.useState(widget.metadata?.segments ?? "");
53482
+ use_input_default((input, key) => {
53483
+ if (action === "edit-segments") {
53484
+ if (key.return) {
53485
+ const segments = parseInt(segmentsInput, 10);
53486
+ if (!isNaN(segments) && segments > 0) {
53487
+ onComplete({
53488
+ ...widget,
53489
+ metadata: {
53490
+ ...widget.metadata,
53491
+ segments: segments.toString()
53492
+ }
53493
+ });
53494
+ } else {
53495
+ const { segments: segments2, ...restMetadata } = widget.metadata ?? {};
53496
+ onComplete({
53497
+ ...widget,
53498
+ metadata: Object.keys(restMetadata).length > 0 ? restMetadata : undefined
53499
+ });
53500
+ }
53501
+ } else if (key.escape) {
53502
+ onCancel();
53503
+ } else if (key.backspace) {
53504
+ setSegmentsInput(segmentsInput.slice(0, -1));
53505
+ } else if (input && /\d/.test(input) && !key.ctrl) {
53506
+ setSegmentsInput(segmentsInput + input);
53507
+ }
53508
+ }
53509
+ });
53510
+ if (action === "edit-segments") {
53511
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53512
+ flexDirection: "column",
53513
+ children: [
53514
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53515
+ children: [
53516
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53517
+ children: "Enter number of segments to display (blank for full path): "
53518
+ }, undefined, false, undefined, this),
53519
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53520
+ children: segmentsInput
53521
+ }, undefined, false, undefined, this),
53522
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53523
+ backgroundColor: "gray",
53524
+ color: "black",
53525
+ children: " "
53526
+ }, undefined, false, undefined, this)
53527
+ ]
53528
+ }, undefined, true, undefined, this),
53529
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53530
+ dimColor: true,
53531
+ children: "Press Enter to save, ESC to cancel"
53532
+ }, undefined, false, undefined, this)
53533
+ ]
53534
+ }, undefined, true, undefined, this);
53535
+ }
53536
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53537
+ children: "Unknown editor mode"
53538
+ }, undefined, false, undefined, this);
53539
+ };
53307
53540
  // src/utils/widgets.ts
53308
53541
  var widgetRegistry = new Map([
53309
53542
  ["model", new ModelWidget],
53310
53543
  ["output-style", new OutputStyleWidget],
53311
53544
  ["git-branch", new GitBranchWidget],
53312
53545
  ["git-changes", new GitChangesWidget],
53546
+ ["current-working-dir", new CurrentWorkingDirWidget],
53313
53547
  ["tokens-input", new TokensInputWidget],
53314
53548
  ["tokens-output", new TokensOutputWidget],
53315
53549
  ["tokens-cached", new TokensCachedWidget],
@@ -53318,6 +53552,7 @@ var widgetRegistry = new Map([
53318
53552
  ["context-percentage", new ContextPercentageWidget],
53319
53553
  ["context-percentage-usable", new ContextPercentageUsableWidget],
53320
53554
  ["session-clock", new SessionClockWidget],
53555
+ ["session-cost", new SessionCostWidget],
53321
53556
  ["block-timer", new BlockTimerWidget],
53322
53557
  ["terminal-width", new TerminalWidthWidget],
53323
53558
  ["version", new VersionWidget],
@@ -53343,10 +53578,10 @@ function getAllWidgetTypes(settings) {
53343
53578
  }
53344
53579
 
53345
53580
  // src/tui/components/ConfirmDialog.tsx
53346
- var import_react31 = __toESM(require_react(), 1);
53347
- var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
53581
+ var import_react32 = __toESM(require_react(), 1);
53582
+ var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
53348
53583
  var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53349
- const [selectedIndex, setSelectedIndex] = import_react31.useState(0);
53584
+ const [selectedIndex, setSelectedIndex] = import_react32.useState(0);
53350
53585
  use_input_default((input, key) => {
53351
53586
  if (key.upArrow) {
53352
53587
  setSelectedIndex(Math.max(0, selectedIndex - 1));
@@ -53365,17 +53600,17 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53365
53600
  const renderOptions = () => {
53366
53601
  const yesStyle = selectedIndex === 0 ? { color: "cyan" } : {};
53367
53602
  const noStyle = selectedIndex === 1 ? { color: "cyan" } : {};
53368
- return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53603
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53369
53604
  flexDirection: "column",
53370
53605
  children: [
53371
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53606
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53372
53607
  ...yesStyle,
53373
53608
  children: [
53374
53609
  selectedIndex === 0 ? "▶ " : " ",
53375
53610
  "Yes"
53376
53611
  ]
53377
53612
  }, undefined, true, undefined, this),
53378
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53613
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53379
53614
  ...noStyle,
53380
53615
  children: [
53381
53616
  selectedIndex === 1 ? "▶ " : " ",
@@ -53388,13 +53623,13 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53388
53623
  if (inline) {
53389
53624
  return renderOptions();
53390
53625
  }
53391
- return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53626
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53392
53627
  flexDirection: "column",
53393
53628
  children: [
53394
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53629
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53395
53630
  children: message
53396
53631
  }, undefined, false, undefined, this),
53397
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53632
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53398
53633
  marginTop: 1,
53399
53634
  children: renderOptions()
53400
53635
  }, undefined, false, undefined, this)
@@ -53403,14 +53638,14 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53403
53638
  };
53404
53639
 
53405
53640
  // src/tui/components/ColorMenu.tsx
53406
- var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
53641
+ var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
53407
53642
  var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53408
- const [showSeparators, setShowSeparators] = import_react32.useState(false);
53409
- const [hexInputMode, setHexInputMode] = import_react32.useState(false);
53410
- const [hexInput, setHexInput] = import_react32.useState("");
53411
- const [ansi256InputMode, setAnsi256InputMode] = import_react32.useState(false);
53412
- const [ansi256Input, setAnsi256Input] = import_react32.useState("");
53413
- const [showClearConfirm, setShowClearConfirm] = import_react32.useState(false);
53643
+ const [showSeparators, setShowSeparators] = import_react33.useState(false);
53644
+ const [hexInputMode, setHexInputMode] = import_react33.useState(false);
53645
+ const [hexInput, setHexInput] = import_react33.useState("");
53646
+ const [ansi256InputMode, setAnsi256InputMode] = import_react33.useState(false);
53647
+ const [ansi256Input, setAnsi256Input] = import_react33.useState("");
53648
+ const [showClearConfirm, setShowClearConfirm] = import_react33.useState(false);
53414
53649
  const powerlineEnabled = settings.powerline.enabled;
53415
53650
  const colorableWidgets = widgets.filter((widget) => {
53416
53651
  if (widget.type === "separator") {
@@ -53423,8 +53658,8 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53423
53658
  return false;
53424
53659
  }
53425
53660
  });
53426
- const [highlightedItemId, setHighlightedItemId] = import_react32.useState(colorableWidgets[0]?.id ?? null);
53427
- const [editingBackground, setEditingBackground] = import_react32.useState(false);
53661
+ const [highlightedItemId, setHighlightedItemId] = import_react33.useState(colorableWidgets[0]?.id ?? null);
53662
+ const [editingBackground, setEditingBackground] = import_react33.useState(false);
53428
53663
  const hasNoItems = colorableWidgets.length === 0;
53429
53664
  use_input_default((input, key) => {
53430
53665
  if (hasNoItems) {
@@ -53618,30 +53853,30 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53618
53853
  }
53619
53854
  });
53620
53855
  if (hasNoItems) {
53621
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53856
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53622
53857
  flexDirection: "column",
53623
53858
  children: [
53624
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53859
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53625
53860
  bold: true,
53626
53861
  children: [
53627
53862
  "Configure Colors",
53628
53863
  lineIndex !== undefined ? ` - Line ${lineIndex + 1}` : ""
53629
53864
  ]
53630
53865
  }, undefined, true, undefined, this),
53631
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53866
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53632
53867
  marginTop: 1,
53633
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53868
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53634
53869
  dimColor: true,
53635
- children: "No colorable items in the status line."
53870
+ children: "No colorable widgets in the status line."
53636
53871
  }, undefined, false, undefined, this)
53637
53872
  }, undefined, false, undefined, this),
53638
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53873
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53639
53874
  dimColor: true,
53640
- children: "Add a Model or Git Branch item first."
53875
+ children: "Add a widget first to continue."
53641
53876
  }, undefined, false, undefined, this),
53642
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53877
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53643
53878
  marginTop: 1,
53644
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53879
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53645
53880
  children: "Press any key to go back..."
53646
53881
  }, undefined, false, undefined, this)
53647
53882
  }, undefined, false, undefined, this)
@@ -53732,36 +53967,36 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53732
53967
  }
53733
53968
  }
53734
53969
  if (showClearConfirm) {
53735
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53970
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53736
53971
  flexDirection: "column",
53737
53972
  children: [
53738
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53973
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53739
53974
  bold: true,
53740
53975
  color: "yellow",
53741
53976
  children: "⚠ Confirm Clear All Colors"
53742
53977
  }, undefined, false, undefined, this),
53743
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53978
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53744
53979
  marginTop: 1,
53745
53980
  flexDirection: "column",
53746
53981
  children: [
53747
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53982
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53748
53983
  children: "This will reset all colors for all widgets to their defaults."
53749
53984
  }, undefined, false, undefined, this),
53750
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53985
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53751
53986
  color: "red",
53752
53987
  children: "This action cannot be undone!"
53753
53988
  }, undefined, false, undefined, this)
53754
53989
  ]
53755
53990
  }, undefined, true, undefined, this),
53756
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53991
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53757
53992
  marginTop: 2,
53758
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53993
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53759
53994
  children: "Continue?"
53760
53995
  }, undefined, false, undefined, this)
53761
53996
  }, undefined, false, undefined, this),
53762
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53997
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53763
53998
  marginTop: 1,
53764
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfirmDialog, {
53999
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ConfirmDialog, {
53765
54000
  inline: true,
53766
54001
  onConfirm: () => {
53767
54002
  const newItems = widgets.map((widget) => {
@@ -53782,12 +54017,12 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53782
54017
  const hasGlobalFgOverride = !!settings.overrideForegroundColor;
53783
54018
  const hasGlobalBgOverride = !!settings.overrideBackgroundColor && !powerlineEnabled;
53784
54019
  const globalOverrideMessage = hasGlobalFgOverride && hasGlobalBgOverride ? "⚠ Global override for FG and BG active" : hasGlobalFgOverride ? "⚠ Global override for FG active" : hasGlobalBgOverride ? "⚠ Global override for BG active" : null;
53785
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54020
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53786
54021
  flexDirection: "column",
53787
54022
  children: [
53788
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54023
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53789
54024
  children: [
53790
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54025
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53791
54026
  bold: true,
53792
54027
  children: [
53793
54028
  "Configure Colors",
@@ -53795,7 +54030,7 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53795
54030
  editingBackground && source_default.yellow(" [Background Mode]")
53796
54031
  ]
53797
54032
  }, undefined, true, undefined, this),
53798
- globalOverrideMessage && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54033
+ globalOverrideMessage && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53799
54034
  color: "yellow",
53800
54035
  dimColor: true,
53801
54036
  children: [
@@ -53805,56 +54040,56 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53805
54040
  }, undefined, true, undefined, this)
53806
54041
  ]
53807
54042
  }, undefined, true, undefined, this),
53808
- hexInputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54043
+ hexInputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53809
54044
  flexDirection: "column",
53810
54045
  children: [
53811
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54046
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53812
54047
  children: "Enter 6-digit hex color code (without #):"
53813
54048
  }, undefined, false, undefined, this),
53814
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54049
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53815
54050
  children: [
53816
54051
  "#",
53817
54052
  hexInput,
53818
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54053
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53819
54054
  dimColor: true,
53820
54055
  children: hexInput.length < 6 ? "_".repeat(6 - hexInput.length) : ""
53821
54056
  }, undefined, false, undefined, this)
53822
54057
  ]
53823
54058
  }, undefined, true, undefined, this),
53824
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54059
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53825
54060
  children: " "
53826
54061
  }, undefined, false, undefined, this),
53827
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54062
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53828
54063
  dimColor: true,
53829
54064
  children: "Press Enter when done, ESC to cancel"
53830
54065
  }, undefined, false, undefined, this)
53831
54066
  ]
53832
- }, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54067
+ }, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53833
54068
  flexDirection: "column",
53834
54069
  children: [
53835
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54070
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53836
54071
  children: "Enter ANSI 256 color code (0-255):"
53837
54072
  }, undefined, false, undefined, this),
53838
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54073
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53839
54074
  children: [
53840
54075
  ansi256Input,
53841
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54076
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53842
54077
  dimColor: true,
53843
54078
  children: ansi256Input.length === 0 ? "___" : ansi256Input.length === 1 ? "__" : ansi256Input.length === 2 ? "_" : ""
53844
54079
  }, undefined, false, undefined, this)
53845
54080
  ]
53846
54081
  }, undefined, true, undefined, this),
53847
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54082
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53848
54083
  children: " "
53849
54084
  }, undefined, false, undefined, this),
53850
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54085
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53851
54086
  dimColor: true,
53852
54087
  children: "Press Enter when done, ESC to cancel"
53853
54088
  }, undefined, false, undefined, this)
53854
54089
  ]
53855
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
54090
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
53856
54091
  children: [
53857
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54092
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53858
54093
  dimColor: true,
53859
54094
  children: [
53860
54095
  "↑↓ to select, ←→ to cycle",
@@ -53866,16 +54101,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53866
54101
  "(r)eset, (c)lear all, ESC to go back"
53867
54102
  ]
53868
54103
  }, undefined, true, undefined, this),
53869
- !settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54104
+ !settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53870
54105
  dimColor: true,
53871
54106
  children: [
53872
54107
  "(s)how separators:",
53873
54108
  showSeparators ? source_default.green("ON") : source_default.gray("OFF")
53874
54109
  ]
53875
54110
  }, undefined, true, undefined, this),
53876
- selectedWidget ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54111
+ selectedWidget ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53877
54112
  marginTop: 1,
53878
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54113
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53879
54114
  children: [
53880
54115
  "Current",
53881
54116
  " ",
@@ -53889,19 +54124,19 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53889
54124
  selectedWidget.bold && source_default.bold(" [BOLD]")
53890
54125
  ]
53891
54126
  }, undefined, true, undefined, this)
53892
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54127
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53893
54128
  marginTop: 1,
53894
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54129
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53895
54130
  children: " "
53896
54131
  }, undefined, false, undefined, this)
53897
54132
  }, undefined, false, undefined, this)
53898
54133
  ]
53899
54134
  }, undefined, true, undefined, this),
53900
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54135
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53901
54136
  marginTop: 1,
53902
- children: hexInputMode || ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54137
+ children: hexInputMode || ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53903
54138
  flexDirection: "column",
53904
- children: menuItems.map((item) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54139
+ children: menuItems.map((item) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53905
54140
  color: item.value === highlightedItemId ? "cyan" : "white",
53906
54141
  bold: item.value === highlightedItemId,
53907
54142
  children: [
@@ -53909,28 +54144,28 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53909
54144
  item.label
53910
54145
  ]
53911
54146
  }, item.value, true, undefined, this))
53912
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(SelectInput_default, {
54147
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectInput_default, {
53913
54148
  items: menuItems,
53914
54149
  onSelect: handleSelect,
53915
54150
  onHighlight: handleHighlight,
53916
54151
  initialIndex: Math.max(0, menuItems.findIndex((item) => item.value === highlightedItemId)),
53917
- indicatorComponent: ({ isSelected }) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54152
+ indicatorComponent: ({ isSelected }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53918
54153
  children: isSelected ? "▶" : " "
53919
54154
  }, undefined, false, undefined, this),
53920
- itemComponent: ({ isSelected, label }) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54155
+ itemComponent: ({ isSelected, label }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53921
54156
  children: ` ${label}`
53922
54157
  }, undefined, false, undefined, this)
53923
54158
  }, `${showSeparators}-${highlightedItemId}`, false, undefined, this)
53924
54159
  }, undefined, false, undefined, this),
53925
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54160
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53926
54161
  marginTop: 1,
53927
54162
  flexDirection: "column",
53928
54163
  children: [
53929
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54164
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53930
54165
  color: "yellow",
53931
54166
  children: "⚠ VSCode Users: "
53932
54167
  }, undefined, false, undefined, this),
53933
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54168
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53934
54169
  dimColor: true,
53935
54170
  wrap: "wrap",
53936
54171
  children: 'If colors appear incorrect in the VSCode integrated terminal, the "Terminal › Integrated: Minimum Contrast Ratio" (`terminal.integrated.minimumContrastRatio`) setting is forcing a minimum contrast between foreground and background colors. You can adjust this setting to 1 to disable the contrast enforcement, or use a standalone terminal for accurate colors.'
@@ -53941,16 +54176,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53941
54176
  }, undefined, true, undefined, this);
53942
54177
  };
53943
54178
  // src/tui/components/GlobalOverridesMenu.tsx
53944
- var import_react33 = __toESM(require_react(), 1);
53945
- var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
54179
+ var import_react34 = __toESM(require_react(), 1);
54180
+ var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
53946
54181
  var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
53947
- const [editingPadding, setEditingPadding] = import_react33.useState(false);
53948
- const [editingSeparator, setEditingSeparator] = import_react33.useState(false);
53949
- const [confirmingSeparator, setConfirmingSeparator] = import_react33.useState(false);
53950
- const [paddingInput, setPaddingInput] = import_react33.useState(settings.defaultPadding ?? "");
53951
- const [separatorInput, setSeparatorInput] = import_react33.useState(settings.defaultSeparator ?? "");
53952
- const [inheritColors, setInheritColors] = import_react33.useState(settings.inheritSeparatorColors);
53953
- const [globalBold, setGlobalBold] = import_react33.useState(settings.globalBold);
54182
+ const [editingPadding, setEditingPadding] = import_react34.useState(false);
54183
+ const [editingSeparator, setEditingSeparator] = import_react34.useState(false);
54184
+ const [confirmingSeparator, setConfirmingSeparator] = import_react34.useState(false);
54185
+ const [paddingInput, setPaddingInput] = import_react34.useState(settings.defaultPadding ?? "");
54186
+ const [separatorInput, setSeparatorInput] = import_react34.useState(settings.defaultSeparator ?? "");
54187
+ const [inheritColors, setInheritColors] = import_react34.useState(settings.inheritSeparatorColors);
54188
+ const [globalBold, setGlobalBold] = import_react34.useState(settings.globalBold);
53954
54189
  const isPowerlineEnabled = settings.powerline.enabled;
53955
54190
  const hasManualSeparators = settings.lines.some((line) => line.some((item) => item.type === "separator"));
53956
54191
  const bgColors = ["none", ...COLOR_MAP.filter((c) => c.isBackground).map((c) => c.name)];
@@ -54052,95 +54287,95 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54052
54287
  }
54053
54288
  }
54054
54289
  });
54055
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54290
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54056
54291
  flexDirection: "column",
54057
54292
  children: [
54058
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54293
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54059
54294
  bold: true,
54060
54295
  children: "Global Overrides"
54061
54296
  }, undefined, false, undefined, this),
54062
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54297
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54063
54298
  dimColor: true,
54064
- children: "Configure automatic padding and separators between items"
54299
+ children: "Configure automatic padding and separators between widgets"
54065
54300
  }, undefined, false, undefined, this),
54066
- isPowerlineEnabled && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54301
+ isPowerlineEnabled && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54067
54302
  marginTop: 1,
54068
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54303
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54069
54304
  color: "yellow",
54070
54305
  children: "⚠ Some options are disabled while Powerline mode is active"
54071
54306
  }, undefined, false, undefined, this)
54072
54307
  }, undefined, false, undefined, this),
54073
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54308
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54074
54309
  marginTop: 1
54075
54310
  }, undefined, false, undefined, this),
54076
- editingPadding ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54311
+ editingPadding ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54077
54312
  flexDirection: "column",
54078
54313
  children: [
54079
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54314
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54080
54315
  children: [
54081
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54082
- children: "Enter default padding (applied to left and right of each item): "
54316
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54317
+ children: "Enter default padding (applied to left and right of each widget): "
54083
54318
  }, undefined, false, undefined, this),
54084
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54319
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54085
54320
  color: "cyan",
54086
54321
  children: paddingInput ? `"${paddingInput}"` : "(empty)"
54087
54322
  }, undefined, false, undefined, this)
54088
54323
  ]
54089
54324
  }, undefined, true, undefined, this),
54090
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54325
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54091
54326
  dimColor: true,
54092
54327
  children: "Press Enter to save, ESC to cancel"
54093
54328
  }, undefined, false, undefined, this)
54094
54329
  ]
54095
- }, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54330
+ }, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54096
54331
  flexDirection: "column",
54097
54332
  children: [
54098
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54333
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54099
54334
  children: [
54100
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54101
- children: "Enter default separator (placed between items): "
54335
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54336
+ children: "Enter default separator (placed between widgets): "
54102
54337
  }, undefined, false, undefined, this),
54103
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54338
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54104
54339
  color: "cyan",
54105
54340
  children: separatorInput ? `"${separatorInput}"` : "(empty - no separator will be added)"
54106
54341
  }, undefined, false, undefined, this)
54107
54342
  ]
54108
54343
  }, undefined, true, undefined, this),
54109
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54344
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54110
54345
  dimColor: true,
54111
54346
  children: "Press Enter to save, ESC to cancel"
54112
54347
  }, undefined, false, undefined, this)
54113
54348
  ]
54114
- }, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54349
+ }, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54115
54350
  flexDirection: "column",
54116
54351
  children: [
54117
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54352
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54118
54353
  marginBottom: 1,
54119
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54354
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54120
54355
  color: "yellow",
54121
54356
  children: "⚠ Warning: Setting a default separator will remove all existing manual separators from your status lines."
54122
54357
  }, undefined, false, undefined, this)
54123
54358
  }, undefined, false, undefined, this),
54124
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54359
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54125
54360
  children: [
54126
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54361
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54127
54362
  children: "New default separator: "
54128
54363
  }, undefined, false, undefined, this),
54129
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54364
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54130
54365
  color: "cyan",
54131
54366
  children: separatorInput ? `"${separatorInput}"` : "(empty)"
54132
54367
  }, undefined, false, undefined, this)
54133
54368
  ]
54134
54369
  }, undefined, true, undefined, this),
54135
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54370
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54136
54371
  marginTop: 1,
54137
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54372
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54138
54373
  children: "Do you want to continue? "
54139
54374
  }, undefined, false, undefined, this)
54140
54375
  }, undefined, false, undefined, this),
54141
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54376
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54142
54377
  marginTop: 1,
54143
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ConfirmDialog, {
54378
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ConfirmDialog, {
54144
54379
  inline: true,
54145
54380
  onConfirm: () => {
54146
54381
  const updatedSettings = {
@@ -54158,47 +54393,47 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54158
54393
  }, undefined, false, undefined, this)
54159
54394
  }, undefined, false, undefined, this)
54160
54395
  ]
54161
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54396
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54162
54397
  children: [
54163
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54398
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54164
54399
  children: [
54165
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54400
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54166
54401
  children: " Global Bold: "
54167
54402
  }, undefined, false, undefined, this),
54168
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54403
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54169
54404
  color: globalBold ? "green" : "red",
54170
54405
  children: globalBold ? "✓ Enabled" : "✗ Disabled"
54171
54406
  }, undefined, false, undefined, this),
54172
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54407
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54173
54408
  dimColor: true,
54174
54409
  children: " - Press (o) to toggle"
54175
54410
  }, undefined, false, undefined, this)
54176
54411
  ]
54177
54412
  }, undefined, true, undefined, this),
54178
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54413
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54179
54414
  children: [
54180
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54415
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54181
54416
  children: " Default Padding: "
54182
54417
  }, undefined, false, undefined, this),
54183
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54418
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54184
54419
  color: "cyan",
54185
54420
  children: settings.defaultPadding ? `"${settings.defaultPadding}"` : "(none)"
54186
54421
  }, undefined, false, undefined, this),
54187
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54422
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54188
54423
  dimColor: true,
54189
54424
  children: " - Press (p) to edit"
54190
54425
  }, undefined, false, undefined, this)
54191
54426
  ]
54192
54427
  }, undefined, true, undefined, this),
54193
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54428
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54194
54429
  children: [
54195
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54430
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54196
54431
  children: "Override FG Color: "
54197
54432
  }, undefined, false, undefined, this),
54198
54433
  (() => {
54199
54434
  const fgColor = settings.overrideForegroundColor ?? "none";
54200
54435
  if (fgColor === "none") {
54201
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54436
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54202
54437
  color: "gray",
54203
54438
  children: "(none)"
54204
54439
  }, undefined, false, undefined, this);
@@ -54206,31 +54441,31 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54206
54441
  const displayName = getColorDisplayName(fgColor);
54207
54442
  const fgChalk = getChalkColor(fgColor, "ansi16", false);
54208
54443
  const display = fgChalk ? fgChalk(displayName) : displayName;
54209
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54444
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54210
54445
  children: display
54211
54446
  }, undefined, false, undefined, this);
54212
54447
  }
54213
54448
  })(),
54214
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54449
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54215
54450
  dimColor: true,
54216
54451
  children: " - (f) cycle, (g) clear"
54217
54452
  }, undefined, false, undefined, this)
54218
54453
  ]
54219
54454
  }, undefined, true, undefined, this),
54220
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54455
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54221
54456
  children: [
54222
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54457
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54223
54458
  children: "Override BG Color: "
54224
54459
  }, undefined, false, undefined, this),
54225
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54460
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54226
54461
  dimColor: true,
54227
54462
  children: "[disabled - Powerline active]"
54228
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54463
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54229
54464
  children: [
54230
54465
  (() => {
54231
54466
  const bgColor = settings.overrideBackgroundColor ?? "none";
54232
54467
  if (bgColor === "none") {
54233
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54468
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54234
54469
  color: "gray",
54235
54470
  children: "(none)"
54236
54471
  }, undefined, false, undefined, this);
@@ -54238,12 +54473,12 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54238
54473
  const displayName = getColorDisplayName(bgColor);
54239
54474
  const bgChalk = getChalkColor(bgColor, "ansi16", true);
54240
54475
  const display = bgChalk ? bgChalk(` ${displayName} `) : displayName;
54241
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54476
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54242
54477
  children: display
54243
54478
  }, undefined, false, undefined, this);
54244
54479
  }
54245
54480
  })(),
54246
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54481
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54247
54482
  dimColor: true,
54248
54483
  children: " - (b) cycle, (c) clear"
54249
54484
  }, undefined, false, undefined, this)
@@ -54251,21 +54486,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54251
54486
  }, undefined, true, undefined, this)
54252
54487
  ]
54253
54488
  }, undefined, true, undefined, this),
54254
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54489
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54255
54490
  children: [
54256
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54491
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54257
54492
  children: " Inherit Colors: "
54258
54493
  }, undefined, false, undefined, this),
54259
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54494
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54260
54495
  dimColor: true,
54261
54496
  children: "[disabled - Powerline active]"
54262
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54497
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54263
54498
  children: [
54264
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54499
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54265
54500
  color: inheritColors ? "green" : "red",
54266
54501
  children: inheritColors ? "✓ Enabled" : "✗ Disabled"
54267
54502
  }, undefined, false, undefined, this),
54268
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54503
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54269
54504
  dimColor: true,
54270
54505
  children: " - Press (i) to toggle"
54271
54506
  }, undefined, false, undefined, this)
@@ -54273,21 +54508,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54273
54508
  }, undefined, true, undefined, this)
54274
54509
  ]
54275
54510
  }, undefined, true, undefined, this),
54276
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54511
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54277
54512
  children: [
54278
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54513
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54279
54514
  children: "Default Separator: "
54280
54515
  }, undefined, false, undefined, this),
54281
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54516
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54282
54517
  dimColor: true,
54283
54518
  children: "[disabled - Powerline active]"
54284
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54519
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54285
54520
  children: [
54286
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54521
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54287
54522
  color: "cyan",
54288
54523
  children: settings.defaultSeparator ? `"${settings.defaultSeparator}"` : "(none)"
54289
54524
  }, undefined, false, undefined, this),
54290
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54525
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54291
54526
  dimColor: true,
54292
54527
  children: " - Press (s) to edit"
54293
54528
  }, undefined, false, undefined, this)
@@ -54295,36 +54530,36 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54295
54530
  }, undefined, true, undefined, this)
54296
54531
  ]
54297
54532
  }, undefined, true, undefined, this),
54298
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54533
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54299
54534
  marginTop: 2,
54300
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54535
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54301
54536
  dimColor: true,
54302
54537
  children: "Press ESC to go back"
54303
54538
  }, undefined, false, undefined, this)
54304
54539
  }, undefined, false, undefined, this),
54305
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54540
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54306
54541
  marginTop: 1,
54307
54542
  flexDirection: "column",
54308
54543
  children: [
54309
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54544
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54310
54545
  dimColor: true,
54311
54546
  wrap: "wrap",
54312
- children: "Note: These settings are applied during rendering and don't add items to your widget list."
54547
+ children: "Note: These settings are applied during rendering and don't add widgets to your widget list."
54313
54548
  }, undefined, false, undefined, this),
54314
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54549
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54315
54550
  dimColor: true,
54316
54551
  wrap: "wrap",
54317
54552
  children: "• Inherit colors: Separators will use colors from the preceding widget"
54318
54553
  }, undefined, false, undefined, this),
54319
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54554
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54320
54555
  dimColor: true,
54321
54556
  wrap: "wrap",
54322
54557
  children: "• Global Bold: Makes all text bold regardless of individual settings"
54323
54558
  }, undefined, false, undefined, this),
54324
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54559
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54325
54560
  dimColor: true,
54326
54561
  wrap: "wrap",
54327
- children: "• Override colors: All items will use these colors instead of their configured colors"
54562
+ children: "• Override colors: All widgets will use these colors instead of their configured colors"
54328
54563
  }, undefined, false, undefined, this)
54329
54564
  ]
54330
54565
  }, undefined, true, undefined, this)
@@ -54334,8 +54569,8 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54334
54569
  }, undefined, true, undefined, this);
54335
54570
  };
54336
54571
  // src/tui/components/InstallMenu.tsx
54337
- var import_react34 = __toESM(require_react(), 1);
54338
- var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
54572
+ var import_react35 = __toESM(require_react(), 1);
54573
+ var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
54339
54574
  var InstallMenu = ({
54340
54575
  bunxAvailable,
54341
54576
  existingStatusLine,
@@ -54343,7 +54578,7 @@ var InstallMenu = ({
54343
54578
  onSelectBunx,
54344
54579
  onCancel
54345
54580
  }) => {
54346
- const [selectedIndex, setSelectedIndex] = import_react34.useState(0);
54581
+ const [selectedIndex, setSelectedIndex] = import_react35.useState(0);
54347
54582
  const maxIndex = 2;
54348
54583
  use_input_default((input, key) => {
54349
54584
  if (key.escape) {
@@ -54372,16 +54607,16 @@ var InstallMenu = ({
54372
54607
  }
54373
54608
  }
54374
54609
  });
54375
- return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54610
+ return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54376
54611
  flexDirection: "column",
54377
54612
  children: [
54378
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54613
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54379
54614
  bold: true,
54380
54615
  children: "Install ccstatusline to Claude Code"
54381
54616
  }, undefined, false, undefined, this),
54382
- existingStatusLine && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54617
+ existingStatusLine && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54383
54618
  marginBottom: 1,
54384
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54619
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54385
54620
  color: "yellow",
54386
54621
  children: [
54387
54622
  '⚠ Current status line: "',
@@ -54390,18 +54625,18 @@ var InstallMenu = ({
54390
54625
  ]
54391
54626
  }, undefined, true, undefined, this)
54392
54627
  }, undefined, false, undefined, this),
54393
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54394
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54628
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54629
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54395
54630
  dimColor: true,
54396
54631
  children: "Select package manager to use:"
54397
54632
  }, undefined, false, undefined, this)
54398
54633
  }, undefined, false, undefined, this),
54399
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54634
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54400
54635
  marginTop: 1,
54401
54636
  flexDirection: "column",
54402
54637
  children: [
54403
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54404
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54638
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54639
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54405
54640
  color: selectedIndex === 0 ? "blue" : undefined,
54406
54641
  children: [
54407
54642
  selectedIndex === 0 ? "▶ " : " ",
@@ -54409,8 +54644,8 @@ var InstallMenu = ({
54409
54644
  ]
54410
54645
  }, undefined, true, undefined, this)
54411
54646
  }, undefined, false, undefined, this),
54412
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54413
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54647
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54648
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54414
54649
  color: selectedIndex === 1 && bunxAvailable ? "blue" : undefined,
54415
54650
  dimColor: !bunxAvailable,
54416
54651
  children: [
@@ -54420,9 +54655,9 @@ var InstallMenu = ({
54420
54655
  ]
54421
54656
  }, undefined, true, undefined, this)
54422
54657
  }, undefined, false, undefined, this),
54423
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54658
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54424
54659
  marginTop: 1,
54425
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54660
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54426
54661
  color: selectedIndex === 2 ? "blue" : undefined,
54427
54662
  children: [
54428
54663
  selectedIndex === 2 ? "▶ " : " ",
@@ -54432,16 +54667,16 @@ var InstallMenu = ({
54432
54667
  }, undefined, false, undefined, this)
54433
54668
  ]
54434
54669
  }, undefined, true, undefined, this),
54435
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54670
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54436
54671
  marginTop: 2,
54437
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54672
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54438
54673
  dimColor: true,
54439
54674
  children: "The selected command will be written to ~/.claude/settings.json"
54440
54675
  }, undefined, false, undefined, this)
54441
54676
  }, undefined, false, undefined, this),
54442
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54677
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54443
54678
  marginTop: 1,
54444
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54679
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54445
54680
  dimColor: true,
54446
54681
  children: "Press Enter to select, ESC to cancel"
54447
54682
  }, undefined, false, undefined, this)
@@ -54450,12 +54685,12 @@ var InstallMenu = ({
54450
54685
  }, undefined, true, undefined, this);
54451
54686
  };
54452
54687
  // src/tui/components/ItemsEditor.tsx
54453
- var import_react35 = __toESM(require_react(), 1);
54454
- var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
54688
+ var import_react36 = __toESM(require_react(), 1);
54689
+ var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
54455
54690
  var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54456
- const [selectedIndex, setSelectedIndex] = import_react35.useState(0);
54457
- const [moveMode, setMoveMode] = import_react35.useState(false);
54458
- const [customEditorWidget, setCustomEditorWidget] = import_react35.useState(null);
54691
+ const [selectedIndex, setSelectedIndex] = import_react36.useState(0);
54692
+ const [moveMode, setMoveMode] = import_react36.useState(false);
54693
+ const [customEditorWidget, setCustomEditorWidget] = import_react36.useState(null);
54459
54694
  const separatorChars = ["|", "-", ",", " "];
54460
54695
  const getAllowedTypes = () => {
54461
54696
  let allowedTypes = getAllWidgetTypes(settings);
@@ -54642,7 +54877,7 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54642
54877
  if (widgetImpl.getCustomKeybinds) {
54643
54878
  const customKeybinds2 = widgetImpl.getCustomKeybinds();
54644
54879
  const matchedKeybind = customKeybinds2.find((kb) => kb.key === input);
54645
- if (matchedKeybind) {
54880
+ if (matchedKeybind && !key.ctrl) {
54646
54881
  if (widgetImpl.handleEditorAction) {
54647
54882
  const updatedWidget = widgetImpl.handleEditorAction(matchedKeybind.action, currentWidget2);
54648
54883
  if (updatedWidget) {
@@ -54715,12 +54950,12 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54715
54950
  action: customEditorWidget.action
54716
54951
  });
54717
54952
  }
54718
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54953
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54719
54954
  flexDirection: "column",
54720
54955
  children: [
54721
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54956
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54722
54957
  children: [
54723
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54958
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54724
54959
  bold: true,
54725
54960
  children: [
54726
54961
  "Edit Line",
@@ -54729,13 +54964,13 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54729
54964
  " "
54730
54965
  ]
54731
54966
  }, undefined, true, undefined, this),
54732
- moveMode && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54967
+ moveMode && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54733
54968
  color: "blue",
54734
54969
  children: "[MOVE MODE]"
54735
54970
  }, undefined, false, undefined, this),
54736
- (settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54971
+ (settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54737
54972
  marginLeft: 2,
54738
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54973
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54739
54974
  color: "yellow",
54740
54975
  children: [
54741
54976
  "⚠",
@@ -54746,96 +54981,96 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54746
54981
  }, undefined, false, undefined, this)
54747
54982
  ]
54748
54983
  }, undefined, true, undefined, this),
54749
- moveMode ? /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54984
+ moveMode ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54750
54985
  flexDirection: "column",
54751
54986
  marginBottom: 1,
54752
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54987
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54753
54988
  dimColor: true,
54754
- children: "↑↓ to move item, ESC or Enter to exit move mode"
54989
+ children: "↑↓ to move widget, ESC or Enter to exit move mode"
54755
54990
  }, undefined, false, undefined, this)
54756
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54991
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54757
54992
  flexDirection: "column",
54758
54993
  children: [
54759
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54994
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54760
54995
  dimColor: true,
54761
54996
  children: helpText
54762
54997
  }, undefined, false, undefined, this),
54763
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54998
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54764
54999
  dimColor: true,
54765
55000
  children: customKeybindsText || " "
54766
55001
  }, undefined, false, undefined, this)
54767
55002
  ]
54768
55003
  }, undefined, true, undefined, this),
54769
- hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55004
+ hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54770
55005
  marginTop: 1,
54771
55006
  children: [
54772
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55007
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54773
55008
  color: "yellow",
54774
55009
  children: "⚠ Note: Terminal width detection is currently unavailable in your environment."
54775
55010
  }, undefined, false, undefined, this),
54776
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55011
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54777
55012
  dimColor: true,
54778
55013
  children: " Flex separators will act as normal separators until width detection is available."
54779
55014
  }, undefined, false, undefined, this)
54780
55015
  ]
54781
55016
  }, undefined, true, undefined, this),
54782
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55017
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54783
55018
  marginTop: 1,
54784
55019
  flexDirection: "column",
54785
- children: widgets.length === 0 ? /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55020
+ children: widgets.length === 0 ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54786
55021
  dimColor: true,
54787
- children: "No items. Press 'a' to add one."
54788
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(jsx_dev_runtime7.Fragment, {
55022
+ children: "No widgets. Press 'a' to add one."
55023
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(jsx_dev_runtime8.Fragment, {
54789
55024
  children: [
54790
55025
  widgets.map((widget, index) => {
54791
55026
  const isSelected = index === selectedIndex;
54792
55027
  const widgetImpl = widget.type !== "separator" && widget.type !== "flex-separator" ? getWidget(widget.type) : null;
54793
55028
  const { displayText, modifierText } = widgetImpl?.getEditorDisplay(widget) ?? { displayText: getWidgetDisplay(widget) };
54794
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55029
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54795
55030
  flexDirection: "row",
54796
55031
  flexWrap: "nowrap",
54797
55032
  children: [
54798
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55033
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54799
55034
  width: 3,
54800
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55035
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54801
55036
  color: isSelected ? moveMode ? "blue" : "green" : undefined,
54802
55037
  children: isSelected ? moveMode ? "◆ " : "▶ " : " "
54803
55038
  }, undefined, false, undefined, this)
54804
55039
  }, undefined, false, undefined, this),
54805
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55040
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54806
55041
  color: isSelected ? moveMode ? "blue" : "green" : undefined,
54807
55042
  children: `${index + 1}. ${displayText || getWidgetDisplay(widget)}`
54808
55043
  }, undefined, false, undefined, this),
54809
- modifierText && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55044
+ modifierText && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54810
55045
  dimColor: true,
54811
55046
  children: [
54812
55047
  " ",
54813
55048
  modifierText
54814
55049
  ]
54815
55050
  }, undefined, true, undefined, this),
54816
- widget.rawValue && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55051
+ widget.rawValue && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54817
55052
  dimColor: true,
54818
55053
  children: " (raw value)"
54819
55054
  }, undefined, false, undefined, this),
54820
- widget.merge === true && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55055
+ widget.merge === true && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54821
55056
  dimColor: true,
54822
55057
  children: " (merged→)"
54823
55058
  }, undefined, false, undefined, this),
54824
- widget.merge === "no-padding" && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55059
+ widget.merge === "no-padding" && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54825
55060
  dimColor: true,
54826
55061
  children: " (merged-no-pad→)"
54827
55062
  }, undefined, false, undefined, this)
54828
55063
  ]
54829
55064
  }, widget.id, true, undefined, this);
54830
55065
  }),
54831
- currentWidget && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55066
+ currentWidget && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54832
55067
  marginTop: 1,
54833
55068
  paddingLeft: 2,
54834
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55069
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54835
55070
  dimColor: true,
54836
55071
  children: (() => {
54837
55072
  if (currentWidget.type === "separator") {
54838
- return "A separator character between status line items";
55073
+ return "A separator character between status line widgets";
54839
55074
  } else if (currentWidget.type === "flex-separator") {
54840
55075
  return "Expands to fill available terminal width";
54841
55076
  } else {
@@ -54856,10 +55091,10 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54856
55091
  }, undefined, true, undefined, this);
54857
55092
  };
54858
55093
  // src/tui/components/LineSelector.tsx
54859
- var import_react36 = __toESM(require_react(), 1);
54860
- var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
55094
+ var import_react37 = __toESM(require_react(), 1);
55095
+ var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
54861
55096
  var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, blockIfPowerlineActive = false, settings }) => {
54862
- const [selectedIndex, setSelectedIndex] = import_react36.useState(initialSelection);
55097
+ const [selectedIndex, setSelectedIndex] = import_react37.useState(initialSelection);
54863
55098
  const powerlineEnabled = settings ? settings.powerline.enabled : false;
54864
55099
  const powerlineTheme = settings ? settings.powerline.theme : undefined;
54865
55100
  const isThemeManaged = blockIfPowerlineActive && powerlineEnabled && powerlineTheme && powerlineTheme !== "custom";
@@ -54883,16 +55118,16 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54883
55118
  }
54884
55119
  });
54885
55120
  if (isThemeManaged) {
54886
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55121
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54887
55122
  flexDirection: "column",
54888
55123
  children: [
54889
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55124
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54890
55125
  bold: true,
54891
55126
  children: title ?? "Select Line"
54892
55127
  }, undefined, false, undefined, this),
54893
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55128
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54894
55129
  marginTop: 1,
54895
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55130
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54896
55131
  color: "yellow",
54897
55132
  children: [
54898
55133
  "⚠ Colors are currently managed by the Powerline theme:",
@@ -54900,88 +55135,88 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54900
55135
  ]
54901
55136
  }, undefined, true, undefined, this)
54902
55137
  }, undefined, false, undefined, this),
54903
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55138
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54904
55139
  marginTop: 1,
54905
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55140
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54906
55141
  dimColor: true,
54907
55142
  children: "To customize colors, either:"
54908
55143
  }, undefined, false, undefined, this)
54909
55144
  }, undefined, false, undefined, this),
54910
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55145
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54911
55146
  marginLeft: 2,
54912
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55147
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54913
55148
  dimColor: true,
54914
55149
  children: "• Change to 'Custom' theme in Powerline Configuration → Themes"
54915
55150
  }, undefined, false, undefined, this)
54916
55151
  }, undefined, false, undefined, this),
54917
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55152
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54918
55153
  marginLeft: 2,
54919
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55154
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54920
55155
  dimColor: true,
54921
55156
  children: "• Disable Powerline mode in Powerline Configuration"
54922
55157
  }, undefined, false, undefined, this)
54923
55158
  }, undefined, false, undefined, this),
54924
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55159
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54925
55160
  marginTop: 2,
54926
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55161
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54927
55162
  children: "Press any key to go back..."
54928
55163
  }, undefined, false, undefined, this)
54929
55164
  }, undefined, false, undefined, this)
54930
55165
  ]
54931
55166
  }, undefined, true, undefined, this);
54932
55167
  }
54933
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55168
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54934
55169
  flexDirection: "column",
54935
55170
  children: [
54936
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55171
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54937
55172
  bold: true,
54938
55173
  children: title ?? "Select Line to Edit"
54939
55174
  }, undefined, false, undefined, this),
54940
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55175
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54941
55176
  dimColor: true,
54942
55177
  children: "Choose which status line to configure (up to 3 lines supported)"
54943
55178
  }, undefined, false, undefined, this),
54944
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55179
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54945
55180
  dimColor: true,
54946
55181
  children: "Press ESC to go back"
54947
55182
  }, undefined, false, undefined, this),
54948
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55183
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54949
55184
  marginTop: 1,
54950
55185
  flexDirection: "column",
54951
55186
  children: [
54952
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54953
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55187
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55188
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54954
55189
  color: selectedIndex === 0 ? "green" : undefined,
54955
55190
  children: [
54956
55191
  selectedIndex === 0 ? "▶ " : " ",
54957
55192
  "☰ Line 1",
54958
- lines[0] && lines[0].length > 0 ? ` (${lines[0].length} items)` : " (empty)"
55193
+ lines[0] && lines[0].length > 0 ? ` (${lines[0].length} widgets)` : " (empty)"
54959
55194
  ]
54960
55195
  }, undefined, true, undefined, this)
54961
55196
  }, undefined, false, undefined, this),
54962
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54963
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55197
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55198
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54964
55199
  color: selectedIndex === 1 ? "green" : undefined,
54965
55200
  children: [
54966
55201
  selectedIndex === 1 ? "▶ " : " ",
54967
55202
  "☰ Line 2",
54968
- lines[1] && lines[1].length > 0 ? ` (${lines[1].length} items)` : " (empty)"
55203
+ lines[1] && lines[1].length > 0 ? ` (${lines[1].length} widgets)` : " (empty)"
54969
55204
  ]
54970
55205
  }, undefined, true, undefined, this)
54971
55206
  }, undefined, false, undefined, this),
54972
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54973
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55207
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55208
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54974
55209
  color: selectedIndex === 2 ? "green" : undefined,
54975
55210
  children: [
54976
55211
  selectedIndex === 2 ? "▶ " : " ",
54977
55212
  "☰ Line 3",
54978
- lines[2] && lines[2].length > 0 ? ` (${lines[2].length} items)` : " (empty)"
55213
+ lines[2] && lines[2].length > 0 ? ` (${lines[2].length} widgets)` : " (empty)"
54979
55214
  ]
54980
55215
  }, undefined, true, undefined, this)
54981
55216
  }, undefined, false, undefined, this),
54982
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55217
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54983
55218
  marginTop: 1,
54984
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55219
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54985
55220
  color: selectedIndex === 3 ? "green" : undefined,
54986
55221
  children: [
54987
55222
  selectedIndex === 3 ? "▶ " : " ",
@@ -54995,10 +55230,10 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54995
55230
  }, undefined, true, undefined, this);
54996
55231
  };
54997
55232
  // src/tui/components/MainMenu.tsx
54998
- var import_react37 = __toESM(require_react(), 1);
54999
- var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
55233
+ var import_react38 = __toESM(require_react(), 1);
55234
+ var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
55000
55235
  var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0, powerlineFontStatus, settings, previewIsTruncated }) => {
55001
- const [selectedIndex, setSelectedIndex] = import_react37.useState(initialSelection);
55236
+ const [selectedIndex, setSelectedIndex] = import_react38.useState(initialSelection);
55002
55237
  const menuItems = [
55003
55238
  { label: "\uD83D\uDCDD Edit Lines", value: "lines", selectable: true },
55004
55239
  { label: "\uD83C\uDFA8 Edit Colors", value: "colors", selectable: true },
@@ -55043,32 +55278,32 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55043
55278
  const selectedItem = selectableItems[selectedIndex];
55044
55279
  const description = selectedItem ? getDescription(selectedItem.value) : "";
55045
55280
  const showTruncationWarning = previewIsTruncated && settings?.flexMode === "full-minus-40";
55046
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55281
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55047
55282
  flexDirection: "column",
55048
55283
  children: [
55049
- showTruncationWarning && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55284
+ showTruncationWarning && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55050
55285
  marginBottom: 1,
55051
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55286
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55052
55287
  color: "yellow",
55053
55288
  children: "⚠ Some lines are truncated, see Terminal Options → Terminal Width for info"
55054
55289
  }, undefined, false, undefined, this)
55055
55290
  }, undefined, false, undefined, this),
55056
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55291
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55057
55292
  bold: true,
55058
55293
  children: "Main Menu"
55059
55294
  }, undefined, false, undefined, this),
55060
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55295
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55061
55296
  marginTop: 1,
55062
55297
  flexDirection: "column",
55063
55298
  children: menuItems.map((item, idx) => {
55064
55299
  if (!item.selectable && item.value.startsWith("_gap")) {
55065
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55300
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55066
55301
  children: " "
55067
55302
  }, item.value, false, undefined, this);
55068
55303
  }
55069
55304
  const selectableIdx = selectableItems.indexOf(item);
55070
55305
  const isSelected = selectableIdx === selectedIndex;
55071
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55306
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55072
55307
  color: isSelected ? "green" : undefined,
55073
55308
  children: [
55074
55309
  isSelected ? "▶ " : " ",
@@ -55077,10 +55312,10 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55077
55312
  }, item.value, true, undefined, this);
55078
55313
  })
55079
55314
  }, undefined, false, undefined, this),
55080
- description && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55315
+ description && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55081
55316
  marginTop: 1,
55082
55317
  paddingLeft: 2,
55083
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55318
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55084
55319
  dimColor: true,
55085
55320
  wrap: "wrap",
55086
55321
  children: description
@@ -55090,12 +55325,12 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55090
55325
  }, undefined, true, undefined, this);
55091
55326
  };
55092
55327
  // src/tui/components/PowerlineSetup.tsx
55093
- var import_react40 = __toESM(require_react(), 1);
55328
+ var import_react41 = __toESM(require_react(), 1);
55094
55329
  import * as os5 from "os";
55095
55330
 
55096
55331
  // src/tui/components/PowerlineSeparatorEditor.tsx
55097
- var import_react38 = __toESM(require_react(), 1);
55098
- var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
55332
+ var import_react39 = __toESM(require_react(), 1);
55333
+ var jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
55099
55334
  var PowerlineSeparatorEditor = ({
55100
55335
  settings,
55101
55336
  mode,
@@ -55115,10 +55350,10 @@ var PowerlineSeparatorEditor = ({
55115
55350
  };
55116
55351
  const separators = getItems();
55117
55352
  const invertBgs = mode === "separator" ? powerlineConfig.separatorInvertBackground : [];
55118
- const [selectedIndex, setSelectedIndex] = import_react38.useState(0);
55119
- const [hexInputMode, setHexInputMode] = import_react38.useState(false);
55120
- const [hexInput, setHexInput] = import_react38.useState("");
55121
- const [cursorPos, setCursorPos] = import_react38.useState(0);
55353
+ const [selectedIndex, setSelectedIndex] = import_react39.useState(0);
55354
+ const [hexInputMode, setHexInputMode] = import_react39.useState(false);
55355
+ const [hexInput, setHexInput] = import_react39.useState("");
55356
+ const [cursorPos, setCursorPos] = import_react39.useState(0);
55122
55357
  const getPresets = () => {
55123
55358
  if (mode === "separator") {
55124
55359
  return [
@@ -55307,18 +55542,18 @@ var PowerlineSeparatorEditor = ({
55307
55542
  };
55308
55543
  const canAdd = mode === "separator" || separators.length < 3;
55309
55544
  const canDelete = mode !== "separator" || separators.length > 1;
55310
- return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55545
+ return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55311
55546
  flexDirection: "column",
55312
55547
  children: [
55313
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55548
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55314
55549
  bold: true,
55315
55550
  children: getTitle()
55316
55551
  }, undefined, false, undefined, this),
55317
- hexInputMode ? /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55552
+ hexInputMode ? /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55318
55553
  marginTop: 2,
55319
55554
  flexDirection: "column",
55320
55555
  children: [
55321
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55556
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55322
55557
  children: [
55323
55558
  "Enter 4-digit hex code for",
55324
55559
  " ",
@@ -55327,47 +55562,47 @@ var PowerlineSeparatorEditor = ({
55327
55562
  ":"
55328
55563
  ]
55329
55564
  }, undefined, true, undefined, this),
55330
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55565
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55331
55566
  children: [
55332
55567
  "\\u",
55333
55568
  hexInput.slice(0, cursorPos),
55334
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55569
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55335
55570
  backgroundColor: "gray",
55336
55571
  color: "black",
55337
55572
  children: hexInput[cursorPos] ?? "_"
55338
55573
  }, undefined, false, undefined, this),
55339
55574
  hexInput.slice(cursorPos + 1),
55340
- hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55575
+ hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55341
55576
  dimColor: true,
55342
55577
  children: "_".repeat(4 - hexInput.length - 1)
55343
55578
  }, undefined, false, undefined, this)
55344
55579
  ]
55345
55580
  }, undefined, true, undefined, this),
55346
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55581
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55347
55582
  dimColor: true,
55348
55583
  children: "Enter 4 hex digits (0-9, A-F), then press Enter. ESC to cancel."
55349
55584
  }, undefined, false, undefined, this)
55350
55585
  ]
55351
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(jsx_dev_runtime10.Fragment, {
55586
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(jsx_dev_runtime11.Fragment, {
55352
55587
  children: [
55353
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55354
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55588
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55589
+ children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55355
55590
  dimColor: true,
55356
55591
  children: `↑↓ select, ← → cycle${canAdd ? ", (a)dd, (i)nsert" : ""}${canDelete ? ", (d)elete" : ""}, (c)lear, (h)ex${mode === "separator" ? ", (t)oggle invert" : ""}, ESC back`
55357
55592
  }, undefined, false, undefined, this)
55358
55593
  }, undefined, false, undefined, this),
55359
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55594
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55360
55595
  marginTop: 2,
55361
55596
  flexDirection: "column",
55362
- children: separators.length > 0 ? separators.map((sep, index) => /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55363
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55597
+ children: separators.length > 0 ? separators.map((sep, index) => /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55598
+ children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55364
55599
  color: index === selectedIndex ? "green" : undefined,
55365
55600
  children: [
55366
55601
  index === selectedIndex ? "▶ " : " ",
55367
55602
  `${index + 1}: ${getSeparatorDisplay(sep, index)}`
55368
55603
  ]
55369
55604
  }, undefined, true, undefined, this)
55370
- }, index, false, undefined, this)) : /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55605
+ }, index, false, undefined, this)) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55371
55606
  dimColor: true,
55372
55607
  children: "(none configured - press 'a' to add)"
55373
55608
  }, undefined, false, undefined, this)
@@ -55379,8 +55614,8 @@ var PowerlineSeparatorEditor = ({
55379
55614
  };
55380
55615
 
55381
55616
  // src/tui/components/PowerlineThemeSelector.tsx
55382
- var import_react39 = __toESM(require_react(), 1);
55383
- var jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
55617
+ var import_react40 = __toESM(require_react(), 1);
55618
+ var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
55384
55619
  var PowerlineThemeSelector = ({
55385
55620
  settings,
55386
55621
  onUpdate,
@@ -55388,10 +55623,10 @@ var PowerlineThemeSelector = ({
55388
55623
  }) => {
55389
55624
  const themes = getPowerlineThemes();
55390
55625
  const currentTheme = settings.powerline.theme ?? "custom";
55391
- const [selectedIndex, setSelectedIndex] = import_react39.useState(Math.max(0, themes.indexOf(currentTheme)));
55392
- const [showCustomizeConfirm, setShowCustomizeConfirm] = import_react39.useState(false);
55393
- const originalThemeRef = import_react39.useRef(currentTheme);
55394
- const originalSettingsRef = import_react39.useRef(settings);
55626
+ const [selectedIndex, setSelectedIndex] = import_react40.useState(Math.max(0, themes.indexOf(currentTheme)));
55627
+ const [showCustomizeConfirm, setShowCustomizeConfirm] = import_react40.useState(false);
55628
+ const originalThemeRef = import_react40.useRef(currentTheme);
55629
+ const originalSettingsRef = import_react40.useRef(settings);
55395
55630
  const applyTheme = (themeName) => {
55396
55631
  const updatedSettings = {
55397
55632
  ...settings,
@@ -55479,39 +55714,39 @@ var PowerlineThemeSelector = ({
55479
55714
  const selectedThemeName = themes[selectedIndex];
55480
55715
  const selectedTheme = selectedThemeName ? getPowerlineTheme(selectedThemeName) : undefined;
55481
55716
  if (showCustomizeConfirm) {
55482
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55717
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55483
55718
  flexDirection: "column",
55484
55719
  children: [
55485
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55720
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55486
55721
  bold: true,
55487
55722
  color: "yellow",
55488
55723
  children: "⚠ Confirm Customization"
55489
55724
  }, undefined, false, undefined, this),
55490
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55725
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55491
55726
  marginTop: 1,
55492
55727
  flexDirection: "column",
55493
55728
  children: [
55494
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55729
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55495
55730
  children: "This will copy the current theme colors to your widgets"
55496
55731
  }, undefined, false, undefined, this),
55497
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55732
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55498
55733
  children: "and switch to Custom theme mode."
55499
55734
  }, undefined, false, undefined, this),
55500
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55735
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55501
55736
  color: "red",
55502
55737
  children: "This will overwrite any existing custom colors!"
55503
55738
  }, undefined, false, undefined, this)
55504
55739
  ]
55505
55740
  }, undefined, true, undefined, this),
55506
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55741
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55507
55742
  marginTop: 2,
55508
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55743
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55509
55744
  children: "Continue?"
55510
55745
  }, undefined, false, undefined, this)
55511
55746
  }, undefined, false, undefined, this),
55512
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55747
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55513
55748
  marginTop: 1,
55514
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(ConfirmDialog, {
55749
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
55515
55750
  inline: true,
55516
55751
  onConfirm: () => {
55517
55752
  customizeTheme();
@@ -55525,39 +55760,39 @@ var PowerlineThemeSelector = ({
55525
55760
  ]
55526
55761
  }, undefined, true, undefined, this);
55527
55762
  }
55528
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55763
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55529
55764
  flexDirection: "column",
55530
55765
  children: [
55531
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55766
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55532
55767
  bold: true,
55533
55768
  children: [
55534
55769
  `Powerline Theme Selection | `,
55535
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55770
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55536
55771
  dimColor: true,
55537
55772
  children: `Original: ${originalThemeRef.current}`
55538
55773
  }, undefined, false, undefined, this)
55539
55774
  ]
55540
55775
  }, undefined, true, undefined, this),
55541
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55542
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55776
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55777
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55543
55778
  dimColor: true,
55544
55779
  children: `↑↓ navigate, Enter apply${selectedThemeName && selectedThemeName !== "custom" ? ", (c)ustomize theme" : ""}, ESC cancel`
55545
55780
  }, undefined, false, undefined, this)
55546
55781
  }, undefined, false, undefined, this),
55547
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55782
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55548
55783
  marginTop: 1,
55549
55784
  flexDirection: "column",
55550
55785
  children: themes.map((themeName, index) => {
55551
55786
  const theme = getPowerlineTheme(themeName);
55552
55787
  const isSelected = index === selectedIndex;
55553
55788
  const isOriginal = themeName === originalThemeRef.current;
55554
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55555
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55789
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55790
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55556
55791
  color: isSelected ? "green" : undefined,
55557
55792
  children: [
55558
55793
  isSelected ? "▶ " : " ",
55559
55794
  theme?.name ?? themeName,
55560
- isOriginal && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55795
+ isOriginal && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55561
55796
  dimColor: true,
55562
55797
  children: " (original)"
55563
55798
  }, undefined, false, undefined, this)
@@ -55566,29 +55801,29 @@ var PowerlineThemeSelector = ({
55566
55801
  }, themeName, false, undefined, this);
55567
55802
  })
55568
55803
  }, undefined, false, undefined, this),
55569
- selectedTheme && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55804
+ selectedTheme && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55570
55805
  marginTop: 2,
55571
55806
  flexDirection: "column",
55572
55807
  children: [
55573
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55808
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55574
55809
  dimColor: true,
55575
55810
  children: "Description:"
55576
55811
  }, undefined, false, undefined, this),
55577
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55812
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55578
55813
  marginLeft: 2,
55579
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55814
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55580
55815
  children: selectedTheme.description
55581
55816
  }, undefined, false, undefined, this)
55582
55817
  }, undefined, false, undefined, this),
55583
- selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55818
+ selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55584
55819
  marginTop: 1,
55585
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55820
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55586
55821
  dimColor: true,
55587
55822
  children: "Press (c) to customize this theme - copies colors to widgets"
55588
55823
  }, undefined, false, undefined, this)
55589
55824
  }, undefined, false, undefined, this),
55590
- settings.colorLevel === 1 && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55591
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55825
+ settings.colorLevel === 1 && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55826
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55592
55827
  color: "yellow",
55593
55828
  children: "⚠ 16 color mode themes have a very limited palette, we recommend switching color level in Terminal Options"
55594
55829
  }, undefined, false, undefined, this)
@@ -55600,7 +55835,7 @@ var PowerlineThemeSelector = ({
55600
55835
  };
55601
55836
 
55602
55837
  // src/tui/components/PowerlineSetup.tsx
55603
- var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
55838
+ var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
55604
55839
  var PowerlineSetup = ({
55605
55840
  settings,
55606
55841
  powerlineFontStatus,
@@ -55612,10 +55847,10 @@ var PowerlineSetup = ({
55612
55847
  onClearMessage
55613
55848
  }) => {
55614
55849
  const powerlineConfig = settings.powerline;
55615
- const [screen, setScreen] = import_react40.useState("menu");
55616
- const [selectedMenuItem, setSelectedMenuItem] = import_react40.useState(0);
55617
- const [confirmingEnable, setConfirmingEnable] = import_react40.useState(false);
55618
- const [confirmingFontInstall, setConfirmingFontInstall] = import_react40.useState(false);
55850
+ const [screen, setScreen] = import_react41.useState("menu");
55851
+ const [selectedMenuItem, setSelectedMenuItem] = import_react41.useState(0);
55852
+ const [confirmingEnable, setConfirmingEnable] = import_react41.useState(false);
55853
+ const [confirmingFontInstall, setConfirmingFontInstall] = import_react41.useState(false);
55619
55854
  const hasSeparatorItems = settings.lines.some((line) => line.some((item) => item.type === "separator" || item.type === "flex-separator"));
55620
55855
  const menuItems = [
55621
55856
  { label: "Separator", value: "separator" },
@@ -55725,11 +55960,14 @@ var PowerlineSetup = ({
55725
55960
  }
55726
55961
  } else if (input === "i" || input === "I") {
55727
55962
  setConfirmingFontInstall(true);
55963
+ } else if ((input === "a" || input === "A") && powerlineConfig.enabled) {
55964
+ const newConfig = { ...powerlineConfig, autoAlign: !powerlineConfig.autoAlign };
55965
+ onUpdate({ ...settings, powerline: newConfig });
55728
55966
  }
55729
55967
  }
55730
55968
  });
55731
55969
  if (screen === "separator") {
55732
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55970
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55733
55971
  settings,
55734
55972
  mode: "separator",
55735
55973
  onUpdate,
@@ -55739,7 +55977,7 @@ var PowerlineSetup = ({
55739
55977
  }, undefined, false, undefined, this);
55740
55978
  }
55741
55979
  if (screen === "startCap") {
55742
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55980
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55743
55981
  settings,
55744
55982
  mode: "startCap",
55745
55983
  onUpdate,
@@ -55749,7 +55987,7 @@ var PowerlineSetup = ({
55749
55987
  }, undefined, false, undefined, this);
55750
55988
  }
55751
55989
  if (screen === "endCap") {
55752
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55990
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55753
55991
  settings,
55754
55992
  mode: "endCap",
55755
55993
  onUpdate,
@@ -55759,7 +55997,7 @@ var PowerlineSetup = ({
55759
55997
  }, undefined, false, undefined, this);
55760
55998
  }
55761
55999
  if (screen === "themes") {
55762
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineThemeSelector, {
56000
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineThemeSelector, {
55763
56001
  settings,
55764
56002
  onUpdate,
55765
56003
  onBack: () => {
@@ -55767,140 +56005,140 @@ var PowerlineSetup = ({
55767
56005
  }
55768
56006
  }, undefined, false, undefined, this);
55769
56007
  }
55770
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56008
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55771
56009
  flexDirection: "column",
55772
56010
  children: [
55773
- !confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56011
+ !confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55774
56012
  bold: true,
55775
56013
  children: "Powerline Setup"
55776
56014
  }, undefined, false, undefined, this),
55777
- confirmingFontInstall ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56015
+ confirmingFontInstall ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55778
56016
  flexDirection: "column",
55779
56017
  children: [
55780
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56018
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55781
56019
  marginBottom: 1,
55782
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56020
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55783
56021
  color: "cyan",
55784
56022
  bold: true,
55785
56023
  children: "Font Installation"
55786
56024
  }, undefined, false, undefined, this)
55787
56025
  }, undefined, false, undefined, this),
55788
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56026
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55789
56027
  marginBottom: 1,
55790
56028
  flexDirection: "column",
55791
56029
  children: [
55792
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56030
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55793
56031
  bold: true,
55794
56032
  children: "What will happen:"
55795
56033
  }, undefined, false, undefined, this),
55796
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56034
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55797
56035
  children: [
55798
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56036
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55799
56037
  dimColor: true,
55800
56038
  children: "• Clone fonts from "
55801
56039
  }, undefined, false, undefined, this),
55802
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56040
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55803
56041
  color: "blue",
55804
56042
  children: "https://github.com/powerline/fonts"
55805
56043
  }, undefined, false, undefined, this)
55806
56044
  ]
55807
56045
  }, undefined, true, undefined, this),
55808
- os5.platform() === "darwin" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56046
+ os5.platform() === "darwin" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55809
56047
  children: [
55810
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56048
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55811
56049
  dimColor: true,
55812
56050
  children: "• Run install.sh script which will:"
55813
56051
  }, undefined, false, undefined, this),
55814
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56052
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55815
56053
  dimColor: true,
55816
56054
  children: " - Copy all .ttf/.otf files to ~/Library/Fonts"
55817
56055
  }, undefined, false, undefined, this),
55818
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56056
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55819
56057
  dimColor: true,
55820
56058
  children: " - Register fonts with macOS"
55821
56059
  }, undefined, false, undefined, this)
55822
56060
  ]
55823
56061
  }, undefined, true, undefined, this),
55824
- os5.platform() === "linux" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56062
+ os5.platform() === "linux" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55825
56063
  children: [
55826
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56064
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55827
56065
  dimColor: true,
55828
56066
  children: "• Run install.sh script which will:"
55829
56067
  }, undefined, false, undefined, this),
55830
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56068
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55831
56069
  dimColor: true,
55832
56070
  children: " - Copy all .ttf/.otf files to ~/.local/share/fonts"
55833
56071
  }, undefined, false, undefined, this),
55834
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56072
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55835
56073
  dimColor: true,
55836
56074
  children: " - Run fc-cache to update font cache"
55837
56075
  }, undefined, false, undefined, this)
55838
56076
  ]
55839
56077
  }, undefined, true, undefined, this),
55840
- os5.platform() === "win32" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56078
+ os5.platform() === "win32" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55841
56079
  children: [
55842
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56080
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55843
56081
  dimColor: true,
55844
56082
  children: "• Copy Powerline .ttf/.otf files to:"
55845
56083
  }, undefined, false, undefined, this),
55846
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56084
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55847
56085
  dimColor: true,
55848
56086
  children: " AppData\\Local\\Microsoft\\Windows\\Fonts"
55849
56087
  }, undefined, false, undefined, this)
55850
56088
  ]
55851
56089
  }, undefined, true, undefined, this),
55852
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56090
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55853
56091
  dimColor: true,
55854
56092
  children: "• Clean up temporary files"
55855
56093
  }, undefined, false, undefined, this)
55856
56094
  ]
55857
56095
  }, undefined, true, undefined, this),
55858
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56096
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55859
56097
  marginBottom: 1,
55860
56098
  children: [
55861
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56099
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55862
56100
  color: "yellow",
55863
56101
  bold: true,
55864
56102
  children: "Requirements: "
55865
56103
  }, undefined, false, undefined, this),
55866
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56104
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55867
56105
  dimColor: true,
55868
56106
  children: "Git installed, Internet connection, Write permissions"
55869
56107
  }, undefined, false, undefined, this)
55870
56108
  ]
55871
56109
  }, undefined, true, undefined, this),
55872
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56110
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55873
56111
  marginBottom: 1,
55874
56112
  flexDirection: "column",
55875
56113
  children: [
55876
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56114
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55877
56115
  color: "green",
55878
56116
  bold: true,
55879
56117
  children: "After install:"
55880
56118
  }, undefined, false, undefined, this),
55881
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56119
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55882
56120
  dimColor: true,
55883
56121
  children: "• Restart terminal"
55884
56122
  }, undefined, false, undefined, this),
55885
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56123
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55886
56124
  dimColor: true,
55887
56125
  children: "• Select a Powerline font"
55888
56126
  }, undefined, false, undefined, this),
55889
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56127
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55890
56128
  dimColor: true,
55891
56129
  children: ' (e.g. "Meslo LG S for Powerline")'
55892
56130
  }, undefined, false, undefined, this)
55893
56131
  ]
55894
56132
  }, undefined, true, undefined, this),
55895
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56133
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55896
56134
  marginTop: 1,
55897
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56135
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55898
56136
  children: "Proceed? "
55899
56137
  }, undefined, false, undefined, this)
55900
56138
  }, undefined, false, undefined, this),
55901
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56139
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55902
56140
  marginTop: 1,
55903
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
56141
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
55904
56142
  inline: true,
55905
56143
  onConfirm: () => {
55906
56144
  setConfirmingFontInstall(false);
@@ -55912,36 +56150,36 @@ var PowerlineSetup = ({
55912
56150
  }, undefined, false, undefined, this)
55913
56151
  }, undefined, false, undefined, this)
55914
56152
  ]
55915
- }, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56153
+ }, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55916
56154
  flexDirection: "column",
55917
56155
  marginTop: 1,
55918
56156
  children: [
55919
- hasSeparatorItems && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56157
+ hasSeparatorItems && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55920
56158
  children: [
55921
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55922
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56159
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56160
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55923
56161
  color: "yellow",
55924
56162
  children: "⚠ Warning: Enabling Powerline mode will remove all existing separators and flex-separators from your status lines."
55925
56163
  }, undefined, false, undefined, this)
55926
56164
  }, undefined, false, undefined, this),
55927
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56165
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55928
56166
  marginBottom: 1,
55929
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56167
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55930
56168
  dimColor: true,
55931
56169
  children: "Powerline mode uses its own separator system and is incompatible with manual separators."
55932
56170
  }, undefined, false, undefined, this)
55933
56171
  }, undefined, false, undefined, this)
55934
56172
  ]
55935
56173
  }, undefined, true, undefined, this),
55936
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56174
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55937
56175
  marginTop: hasSeparatorItems ? 1 : 0,
55938
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56176
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55939
56177
  children: "Do you want to continue? "
55940
56178
  }, undefined, false, undefined, this)
55941
56179
  }, undefined, false, undefined, this),
55942
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56180
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55943
56181
  marginTop: 1,
55944
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
56182
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
55945
56183
  inline: true,
55946
56184
  onConfirm: () => {
55947
56185
  const theme = !powerlineConfig.theme || powerlineConfig.theme === "custom" ? getDefaultPowerlineTheme() : powerlineConfig.theme;
@@ -55966,51 +56204,51 @@ var PowerlineSetup = ({
55966
56204
  }, undefined, false, undefined, this)
55967
56205
  }, undefined, false, undefined, this)
55968
56206
  ]
55969
- }, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55970
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56207
+ }, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56208
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55971
56209
  color: "yellow",
55972
56210
  children: "Installing Powerline fonts... This may take a moment."
55973
56211
  }, undefined, false, undefined, this)
55974
- }, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56212
+ }, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55975
56213
  flexDirection: "column",
55976
56214
  children: [
55977
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56215
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55978
56216
  color: fontInstallMessage.includes("success") ? "green" : "red",
55979
56217
  children: fontInstallMessage
55980
56218
  }, undefined, false, undefined, this),
55981
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56219
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55982
56220
  marginTop: 1,
55983
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56221
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55984
56222
  dimColor: true,
55985
56223
  children: "Press any key to continue..."
55986
56224
  }, undefined, false, undefined, this)
55987
56225
  }, undefined, false, undefined, this)
55988
56226
  ]
55989
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56227
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55990
56228
  children: [
55991
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56229
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55992
56230
  flexDirection: "column",
55993
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56231
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55994
56232
  children: [
55995
- " Font Status: ",
55996
- powerlineFontStatus.installed ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56233
+ " Font Status: ",
56234
+ powerlineFontStatus.installed ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55997
56235
  children: [
55998
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56236
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55999
56237
  color: "green",
56000
56238
  children: "✓ Installed"
56001
56239
  }, undefined, false, undefined, this),
56002
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56240
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56003
56241
  dimColor: true,
56004
56242
  children: " - Ensure fonts are active in your terminal"
56005
56243
  }, undefined, false, undefined, this)
56006
56244
  ]
56007
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56245
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
56008
56246
  children: [
56009
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56247
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56010
56248
  color: "yellow",
56011
56249
  children: "✗ Not Installed"
56012
56250
  }, undefined, false, undefined, this),
56013
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56251
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56014
56252
  dimColor: true,
56015
56253
  children: " - Press (i) to install Powerline fonts"
56016
56254
  }, undefined, false, undefined, this)
@@ -56019,33 +56257,52 @@ var PowerlineSetup = ({
56019
56257
  ]
56020
56258
  }, undefined, true, undefined, this)
56021
56259
  }, undefined, false, undefined, this),
56022
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56260
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56023
56261
  children: [
56024
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56025
- children: "Powerline Mode: "
56262
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56263
+ children: " Powerline Mode: "
56026
56264
  }, undefined, false, undefined, this),
56027
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56265
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56028
56266
  color: powerlineConfig.enabled ? "green" : "red",
56029
56267
  children: powerlineConfig.enabled ? "✓ Enabled " : "✗ Disabled "
56030
56268
  }, undefined, false, undefined, this),
56031
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56269
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56032
56270
  dimColor: true,
56033
56271
  children: " - Press (t) to toggle"
56034
56272
  }, undefined, false, undefined, this)
56035
56273
  ]
56036
56274
  }, undefined, true, undefined, this),
56037
- powerlineConfig.enabled && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56038
- flexDirection: "column",
56039
- marginTop: 1,
56040
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56041
- dimColor: true,
56042
- children: "When enabled, global overrides are disabled and powerline separators are used"
56043
- }, undefined, false, undefined, this)
56044
- }, undefined, false, undefined, this),
56045
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56275
+ powerlineConfig.enabled && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
56276
+ children: [
56277
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56278
+ children: [
56279
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56280
+ children: " Align Widgets: "
56281
+ }, undefined, false, undefined, this),
56282
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56283
+ color: powerlineConfig.autoAlign ? "green" : "red",
56284
+ children: powerlineConfig.autoAlign ? "✓ Enabled " : "✗ Disabled "
56285
+ }, undefined, false, undefined, this),
56286
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56287
+ dimColor: true,
56288
+ children: " - Press (a) to toggle"
56289
+ }, undefined, false, undefined, this)
56290
+ ]
56291
+ }, undefined, true, undefined, this),
56292
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56293
+ flexDirection: "column",
56294
+ marginTop: 1,
56295
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56296
+ dimColor: true,
56297
+ children: "When enabled, global overrides are disabled and powerline separators are used"
56298
+ }, undefined, false, undefined, this)
56299
+ }, undefined, false, undefined, this)
56300
+ ]
56301
+ }, undefined, true, undefined, this),
56302
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56046
56303
  marginTop: 1,
56047
56304
  flexDirection: "column",
56048
- children: powerlineConfig.enabled ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56305
+ children: powerlineConfig.enabled ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
56049
56306
  children: menuItems.map((item, index) => {
56050
56307
  const isSelected = index === selectedMenuItem;
56051
56308
  let displayValue = "";
@@ -56067,9 +56324,9 @@ var PowerlineSetup = ({
56067
56324
  break;
56068
56325
  }
56069
56326
  if (item.value === "back") {
56070
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56327
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56071
56328
  marginTop: 1,
56072
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56329
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56073
56330
  color: isSelected ? "green" : undefined,
56074
56331
  children: [
56075
56332
  isSelected ? "▶ " : " ",
@@ -56078,13 +56335,13 @@ var PowerlineSetup = ({
56078
56335
  }, undefined, true, undefined, this)
56079
56336
  }, item.value, false, undefined, this);
56080
56337
  }
56081
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56082
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56338
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56339
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56083
56340
  color: isSelected ? "green" : undefined,
56084
56341
  children: [
56085
56342
  isSelected ? "▶ " : " ",
56086
56343
  item.label.padEnd(11, " "),
56087
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56344
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56088
56345
  dimColor: true,
56089
56346
  children: displayValue && `(${displayValue})`
56090
56347
  }, undefined, false, undefined, this)
@@ -56092,9 +56349,9 @@ var PowerlineSetup = ({
56092
56349
  }, undefined, true, undefined, this)
56093
56350
  }, item.value, false, undefined, this);
56094
56351
  })
56095
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56352
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56096
56353
  marginTop: 1,
56097
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56354
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56098
56355
  dimColor: true,
56099
56356
  children: "Press ESC to go back"
56100
56357
  }, undefined, false, undefined, this)
@@ -56106,29 +56363,32 @@ var PowerlineSetup = ({
56106
56363
  }, undefined, true, undefined, this);
56107
56364
  };
56108
56365
  // src/tui/components/StatusLinePreview.tsx
56109
- var import_react41 = __toESM(require_react(), 1);
56110
- var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
56111
- var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, settings, lineIndex, globalSeparatorIndex) => {
56366
+ var import_react42 = __toESM(require_react(), 1);
56367
+ var jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
56368
+ var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, settings, lineIndex, globalSeparatorIndex, allLinesWidgets) => {
56112
56369
  const context = {
56113
56370
  terminalWidth,
56114
56371
  isPreview: true,
56115
56372
  lineIndex,
56116
56373
  globalSeparatorIndex
56117
56374
  };
56118
- return renderStatusLineWithInfo(widgets, settings, context);
56375
+ return renderStatusLineWithInfo(widgets, settings, context, allLinesWidgets);
56119
56376
  };
56120
56377
  var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange }) => {
56121
- const widthDetectionAvailable = import_react41.default.useMemo(() => canDetectTerminalWidth(), []);
56122
- const { renderedLines, anyTruncated } = import_react41.default.useMemo(() => {
56378
+ const widthDetectionAvailable = import_react42.default.useMemo(() => canDetectTerminalWidth(), []);
56379
+ const { renderedLines, anyTruncated } = import_react42.default.useMemo(() => {
56123
56380
  if (!settings)
56124
56381
  return { renderedLines: [], anyTruncated: false };
56382
+ const isPowerlineMode = settings.powerline.enabled;
56383
+ const autoAlign = settings.powerline.autoAlign;
56384
+ const allLinesWidgets = isPowerlineMode && autoAlign ? lines : undefined;
56125
56385
  let globalSeparatorIndex = 0;
56126
56386
  const result = [];
56127
56387
  let truncated = false;
56128
56388
  for (let i = 0;i < lines.length; i++) {
56129
56389
  const lineItems = lines[i];
56130
56390
  if (lineItems && lineItems.length > 0) {
56131
- const renderResult = renderSingleLine(lineItems, terminalWidth, widthDetectionAvailable, settings, i, globalSeparatorIndex);
56391
+ const renderResult = renderSingleLine(lineItems, terminalWidth, widthDetectionAvailable, settings, i, globalSeparatorIndex, allLinesWidgets);
56132
56392
  result.push(renderResult.line);
56133
56393
  if (renderResult.wasTruncated) {
56134
56394
  truncated = true;
@@ -56141,29 +56401,29 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
56141
56401
  }
56142
56402
  return { renderedLines: result, anyTruncated: truncated };
56143
56403
  }, [lines, terminalWidth, widthDetectionAvailable, settings]);
56144
- import_react41.default.useEffect(() => {
56404
+ import_react42.default.useEffect(() => {
56145
56405
  onTruncationChange?.(anyTruncated);
56146
56406
  }, [anyTruncated, onTruncationChange]);
56147
- return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56407
+ return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56148
56408
  flexDirection: "column",
56149
56409
  children: [
56150
- /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56410
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56151
56411
  borderStyle: "round",
56152
56412
  borderColor: "gray",
56153
56413
  borderDimColor: true,
56154
56414
  width: "100%",
56155
56415
  paddingLeft: 1,
56156
- children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56416
+ children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56157
56417
  children: [
56158
56418
  ">",
56159
- /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56419
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56160
56420
  dimColor: true,
56161
56421
  children: " Preview (ctrl+s to save configuration at any time)"
56162
56422
  }, undefined, false, undefined, this)
56163
56423
  ]
56164
56424
  }, undefined, true, undefined, this)
56165
56425
  }, undefined, false, undefined, this),
56166
- renderedLines.map((line, index) => /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56426
+ renderedLines.map((line, index) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56167
56427
  children: [
56168
56428
  " ",
56169
56429
  line,
@@ -56174,12 +56434,12 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
56174
56434
  }, undefined, true, undefined, this);
56175
56435
  };
56176
56436
  // src/tui/components/TerminalOptionsMenu.tsx
56177
- var import_react42 = __toESM(require_react(), 1);
56178
- var jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
56437
+ var import_react43 = __toESM(require_react(), 1);
56438
+ var jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
56179
56439
  var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56180
- const [showColorWarning, setShowColorWarning] = import_react42.useState(false);
56181
- const [pendingColorLevel, setPendingColorLevel] = import_react42.useState(null);
56182
- const [selectedIndex, setSelectedIndex] = import_react42.useState(0);
56440
+ const [showColorWarning, setShowColorWarning] = import_react43.useState(false);
56441
+ const [pendingColorLevel, setPendingColorLevel] = import_react43.useState(null);
56442
+ const [selectedIndex, setSelectedIndex] = import_react43.useState(0);
56183
56443
  const handleSelect = () => {
56184
56444
  if (selectedIndex === 2) {
56185
56445
  onBack();
@@ -56283,27 +56543,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56283
56543
  }
56284
56544
  }
56285
56545
  });
56286
- return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56546
+ return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56287
56547
  flexDirection: "column",
56288
56548
  children: [
56289
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56549
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56290
56550
  bold: true,
56291
56551
  children: "Terminal Options"
56292
56552
  }, undefined, false, undefined, this),
56293
- showColorWarning ? /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56553
+ showColorWarning ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56294
56554
  flexDirection: "column",
56295
56555
  marginTop: 1,
56296
56556
  children: [
56297
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56557
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56298
56558
  color: "yellow",
56299
56559
  children: "⚠ Warning: Custom colors detected!"
56300
56560
  }, undefined, false, undefined, this),
56301
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56561
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56302
56562
  children: "Switching color modes will reset custom ansi256 or hex colors to defaults."
56303
56563
  }, undefined, false, undefined, this),
56304
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56564
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56305
56565
  marginTop: 1,
56306
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(ConfirmDialog, {
56566
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(ConfirmDialog, {
56307
56567
  message: "Continue?",
56308
56568
  onConfirm: handleColorConfirm,
56309
56569
  onCancel: handleColorCancel,
@@ -56311,18 +56571,18 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56311
56571
  }, undefined, false, undefined, this)
56312
56572
  }, undefined, false, undefined, this)
56313
56573
  ]
56314
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(jsx_dev_runtime14.Fragment, {
56574
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
56315
56575
  children: [
56316
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56576
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56317
56577
  color: "white",
56318
56578
  children: "Configure terminal-specific settings for optimal display"
56319
56579
  }, undefined, false, undefined, this),
56320
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56580
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56321
56581
  marginTop: 1,
56322
56582
  flexDirection: "column",
56323
56583
  children: [
56324
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56325
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56584
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56585
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56326
56586
  color: selectedIndex === 0 ? "green" : undefined,
56327
56587
  children: [
56328
56588
  selectedIndex === 0 ? "▶ " : " ",
@@ -56330,8 +56590,8 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56330
56590
  ]
56331
56591
  }, undefined, true, undefined, this)
56332
56592
  }, undefined, false, undefined, this),
56333
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56334
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56593
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56594
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56335
56595
  color: selectedIndex === 1 ? "green" : undefined,
56336
56596
  children: [
56337
56597
  selectedIndex === 1 ? "▶ " : " ",
@@ -56341,9 +56601,9 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56341
56601
  ]
56342
56602
  }, undefined, true, undefined, this)
56343
56603
  }, undefined, false, undefined, this),
56344
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56604
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56345
56605
  marginTop: 1,
56346
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56606
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56347
56607
  color: selectedIndex === 2 ? "green" : undefined,
56348
56608
  children: [
56349
56609
  selectedIndex === 2 ? "▶ " : " ",
@@ -56353,27 +56613,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56353
56613
  }, undefined, false, undefined, this)
56354
56614
  ]
56355
56615
  }, undefined, true, undefined, this),
56356
- selectedIndex === 1 && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56616
+ selectedIndex === 1 && /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56357
56617
  marginTop: 1,
56358
56618
  flexDirection: "column",
56359
56619
  children: [
56360
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56620
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56361
56621
  dimColor: true,
56362
56622
  children: "Color level affects how colors are rendered:"
56363
56623
  }, undefined, false, undefined, this),
56364
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56624
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56365
56625
  dimColor: true,
56366
56626
  children: "• Truecolor: Full 24-bit RGB colors (16.7M colors)"
56367
56627
  }, undefined, false, undefined, this),
56368
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56628
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56369
56629
  dimColor: true,
56370
56630
  children: "• 256 Color: Extended color palette (256 colors)"
56371
56631
  }, undefined, false, undefined, this),
56372
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56632
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56373
56633
  dimColor: true,
56374
56634
  children: "• Basic: Standard 16-color terminal palette"
56375
56635
  }, undefined, false, undefined, this),
56376
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56636
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56377
56637
  dimColor: true,
56378
56638
  children: "• No Color: Disables all color output"
56379
56639
  }, undefined, false, undefined, this)
@@ -56400,15 +56660,15 @@ var getColorLevelLabel = (level) => {
56400
56660
  }
56401
56661
  };
56402
56662
  // src/tui/components/TerminalWidthMenu.tsx
56403
- var import_react43 = __toESM(require_react(), 1);
56404
- var jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
56663
+ var import_react44 = __toESM(require_react(), 1);
56664
+ var jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
56405
56665
  var TerminalWidthMenu = ({ settings, onUpdate, onBack }) => {
56406
- const [selectedOption, setSelectedOption] = import_react43.useState(settings.flexMode);
56407
- const [compactThreshold, setCompactThreshold] = import_react43.useState(settings.compactThreshold);
56408
- const [editingThreshold, setEditingThreshold] = import_react43.useState(false);
56409
- const [thresholdInput, setThresholdInput] = import_react43.useState(String(settings.compactThreshold));
56410
- const [validationError, setValidationError] = import_react43.useState(null);
56411
- const [selectedIndex, setSelectedIndex] = import_react43.useState(() => {
56666
+ const [selectedOption, setSelectedOption] = import_react44.useState(settings.flexMode);
56667
+ const [compactThreshold, setCompactThreshold] = import_react44.useState(settings.compactThreshold);
56668
+ const [editingThreshold, setEditingThreshold] = import_react44.useState(false);
56669
+ const [thresholdInput, setThresholdInput] = import_react44.useState(String(settings.compactThreshold));
56670
+ const [validationError, setValidationError] = import_react44.useState(null);
56671
+ const [selectedIndex, setSelectedIndex] = import_react44.useState(() => {
56412
56672
  const options2 = ["full", "full-minus-40", "full-until-compact"];
56413
56673
  return options2.indexOf(settings.flexMode);
56414
56674
  });
@@ -56496,27 +56756,27 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56496
56756
  }
56497
56757
  ];
56498
56758
  const currentOption = selectedIndex < 3 ? optionDetails[selectedIndex] : null;
56499
- return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56759
+ return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56500
56760
  flexDirection: "column",
56501
56761
  children: [
56502
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56762
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56503
56763
  bold: true,
56504
56764
  children: "Terminal Width"
56505
56765
  }, undefined, false, undefined, this),
56506
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56766
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56507
56767
  color: "white",
56508
56768
  children: "These settings affect where long lines are truncated, and where right-alignment occurs when using flex separators"
56509
56769
  }, undefined, false, undefined, this),
56510
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56770
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56511
56771
  dimColor: true,
56512
56772
  wrap: "wrap",
56513
56773
  children: "Claude code does not currently provide an available width variable for the statusline and features like IDE integration, auto-compaction notices, etc all cause the statusline to wrap if we do not truncate it"
56514
56774
  }, undefined, false, undefined, this),
56515
- editingThreshold ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56775
+ editingThreshold ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56516
56776
  marginTop: 1,
56517
56777
  flexDirection: "column",
56518
56778
  children: [
56519
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56779
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56520
56780
  children: [
56521
56781
  "Enter compact threshold (1-99):",
56522
56782
  " ",
@@ -56524,22 +56784,22 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56524
56784
  "%"
56525
56785
  ]
56526
56786
  }, undefined, true, undefined, this),
56527
- validationError ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56787
+ validationError ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56528
56788
  color: "red",
56529
56789
  children: validationError
56530
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56790
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56531
56791
  dimColor: true,
56532
56792
  children: "Press Enter to confirm, ESC to cancel"
56533
56793
  }, undefined, false, undefined, this)
56534
56794
  ]
56535
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
56795
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(jsx_dev_runtime16.Fragment, {
56536
56796
  children: [
56537
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56797
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56538
56798
  marginTop: 1,
56539
56799
  flexDirection: "column",
56540
56800
  children: [
56541
- optionDetails.map((opt, index) => /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56542
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56801
+ optionDetails.map((opt, index) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56802
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56543
56803
  color: selectedIndex === index ? "green" : undefined,
56544
56804
  children: [
56545
56805
  selectedIndex === index ? "▶ " : " ",
@@ -56548,9 +56808,9 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56548
56808
  ]
56549
56809
  }, undefined, true, undefined, this)
56550
56810
  }, opt.value, false, undefined, this)),
56551
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56811
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56552
56812
  marginTop: 1,
56553
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56813
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56554
56814
  color: selectedIndex === 3 ? "green" : undefined,
56555
56815
  children: [
56556
56816
  selectedIndex === 3 ? "▶ " : " ",
@@ -56560,25 +56820,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56560
56820
  }, undefined, false, undefined, this)
56561
56821
  ]
56562
56822
  }, undefined, true, undefined, this),
56563
- currentOption && /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56823
+ currentOption && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56564
56824
  marginTop: 1,
56565
56825
  marginBottom: 1,
56566
56826
  borderStyle: "round",
56567
56827
  borderColor: "dim",
56568
56828
  paddingX: 1,
56569
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56829
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56570
56830
  flexDirection: "column",
56571
56831
  children: [
56572
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56832
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56573
56833
  children: [
56574
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56834
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56575
56835
  color: "yellow",
56576
56836
  children: currentOption.label
56577
56837
  }, undefined, false, undefined, this),
56578
56838
  currentOption.value === "full-until-compact" && ` | Current threshold: ${compactThreshold}%`
56579
56839
  ]
56580
56840
  }, undefined, true, undefined, this),
56581
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56841
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56582
56842
  dimColor: true,
56583
56843
  wrap: "wrap",
56584
56844
  children: currentOption.description
@@ -56592,25 +56852,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56592
56852
  }, undefined, true, undefined, this);
56593
56853
  };
56594
56854
  // src/tui/App.tsx
56595
- var jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
56855
+ var jsx_dev_runtime17 = __toESM(require_jsx_dev_runtime(), 1);
56596
56856
  var App2 = () => {
56597
56857
  const { exit } = use_app_default();
56598
- const [settings, setSettings] = import_react44.useState(null);
56599
- const [originalSettings, setOriginalSettings] = import_react44.useState(null);
56600
- const [hasChanges, setHasChanges] = import_react44.useState(false);
56601
- const [screen, setScreen] = import_react44.useState("main");
56602
- const [selectedLine, setSelectedLine] = import_react44.useState(0);
56603
- const [menuSelections, setMenuSelections] = import_react44.useState({});
56604
- const [confirmDialog, setConfirmDialog] = import_react44.useState(null);
56605
- const [isClaudeInstalled, setIsClaudeInstalled] = import_react44.useState(false);
56606
- const [terminalWidth, setTerminalWidth] = import_react44.useState(process.stdout.columns || 80);
56607
- const [powerlineFontStatus, setPowerlineFontStatus] = import_react44.useState({ installed: false });
56608
- const [installingFonts, setInstallingFonts] = import_react44.useState(false);
56609
- const [fontInstallMessage, setFontInstallMessage] = import_react44.useState(null);
56610
- const [existingStatusLine, setExistingStatusLine] = import_react44.useState(null);
56611
- const [saveMessage, setSaveMessage] = import_react44.useState(null);
56612
- const [previewIsTruncated, setPreviewIsTruncated] = import_react44.useState(false);
56613
- import_react44.useEffect(() => {
56858
+ const [settings, setSettings] = import_react45.useState(null);
56859
+ const [originalSettings, setOriginalSettings] = import_react45.useState(null);
56860
+ const [hasChanges, setHasChanges] = import_react45.useState(false);
56861
+ const [screen, setScreen] = import_react45.useState("main");
56862
+ const [selectedLine, setSelectedLine] = import_react45.useState(0);
56863
+ const [menuSelections, setMenuSelections] = import_react45.useState({});
56864
+ const [confirmDialog, setConfirmDialog] = import_react45.useState(null);
56865
+ const [isClaudeInstalled, setIsClaudeInstalled] = import_react45.useState(false);
56866
+ const [terminalWidth, setTerminalWidth] = import_react45.useState(process.stdout.columns || 80);
56867
+ const [powerlineFontStatus, setPowerlineFontStatus] = import_react45.useState({ installed: false });
56868
+ const [installingFonts, setInstallingFonts] = import_react45.useState(false);
56869
+ const [fontInstallMessage, setFontInstallMessage] = import_react45.useState(null);
56870
+ const [existingStatusLine, setExistingStatusLine] = import_react45.useState(null);
56871
+ const [saveMessage, setSaveMessage] = import_react45.useState(null);
56872
+ const [previewIsTruncated, setPreviewIsTruncated] = import_react45.useState(false);
56873
+ import_react45.useEffect(() => {
56614
56874
  getExistingStatusLine().then(setExistingStatusLine);
56615
56875
  loadSettings().then((loadedSettings) => {
56616
56876
  source_default.level = loadedSettings.colorLevel;
@@ -56634,13 +56894,13 @@ var App2 = () => {
56634
56894
  process.stdout.off("resize", handleResize);
56635
56895
  };
56636
56896
  }, []);
56637
- import_react44.useEffect(() => {
56897
+ import_react45.useEffect(() => {
56638
56898
  if (originalSettings) {
56639
56899
  const hasAnyChanges = JSON.stringify(settings) !== JSON.stringify(originalSettings);
56640
56900
  setHasChanges(hasAnyChanges);
56641
56901
  }
56642
56902
  }, [settings, originalSettings]);
56643
- import_react44.useEffect(() => {
56903
+ import_react45.useEffect(() => {
56644
56904
  if (saveMessage) {
56645
56905
  const timer = setTimeout(() => {
56646
56906
  setSaveMessage(null);
@@ -56664,7 +56924,7 @@ var App2 = () => {
56664
56924
  }
56665
56925
  });
56666
56926
  if (!settings) {
56667
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56927
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56668
56928
  children: "Loading settings..."
56669
56929
  }, undefined, false, undefined, this);
56670
56930
  }
@@ -56725,41 +56985,40 @@ var App2 = () => {
56725
56985
  setSelectedLine(lineIndex);
56726
56986
  setScreen("items");
56727
56987
  };
56728
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56988
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56729
56989
  flexDirection: "column",
56730
- padding: 1,
56731
56990
  children: [
56732
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56991
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56733
56992
  marginBottom: 1,
56734
56993
  children: [
56735
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56994
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56736
56995
  bold: true,
56737
- children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(dist_default4, {
56996
+ children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(dist_default4, {
56738
56997
  name: "retro",
56739
56998
  children: "CCStatusline Configuration"
56740
56999
  }, undefined, false, undefined, this)
56741
57000
  }, undefined, false, undefined, this),
56742
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
57001
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56743
57002
  bold: true,
56744
57003
  children: ` | ${getPackageVersion() && `v${getPackageVersion()}`}`
56745
57004
  }, undefined, false, undefined, this),
56746
- saveMessage && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
57005
+ saveMessage && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56747
57006
  color: "green",
56748
57007
  bold: true,
56749
57008
  children: ` ${saveMessage}`
56750
57009
  }, undefined, false, undefined, this)
56751
57010
  ]
56752
57011
  }, undefined, true, undefined, this),
56753
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(StatusLinePreview, {
57012
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(StatusLinePreview, {
56754
57013
  lines: settings.lines,
56755
57014
  terminalWidth,
56756
57015
  settings,
56757
57016
  onTruncationChange: setPreviewIsTruncated
56758
57017
  }, undefined, false, undefined, this),
56759
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
57018
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56760
57019
  marginTop: 1,
56761
57020
  children: [
56762
- screen === "main" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(MainMenu, {
57021
+ screen === "main" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(MainMenu, {
56763
57022
  onSelect: (value) => {
56764
57023
  if (value !== "save" && value !== "exit") {
56765
57024
  const menuMap = {
@@ -56781,7 +57040,7 @@ var App2 = () => {
56781
57040
  settings,
56782
57041
  previewIsTruncated
56783
57042
  }, undefined, false, undefined, this),
56784
- screen === "lines" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(LineSelector, {
57043
+ screen === "lines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
56785
57044
  lines: settings.lines,
56786
57045
  onSelect: (line) => {
56787
57046
  setMenuSelections({ ...menuSelections, lines: line });
@@ -56794,7 +57053,7 @@ var App2 = () => {
56794
57053
  initialSelection: menuSelections.lines,
56795
57054
  title: "Select Line to Edit Items"
56796
57055
  }, undefined, false, undefined, this),
56797
- screen === "items" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ItemsEditor, {
57056
+ screen === "items" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ItemsEditor, {
56798
57057
  widgets: settings.lines[selectedLine] ?? [],
56799
57058
  onUpdate: (widgets) => {
56800
57059
  updateLine(selectedLine, widgets);
@@ -56806,7 +57065,7 @@ var App2 = () => {
56806
57065
  lineNumber: selectedLine + 1,
56807
57066
  settings
56808
57067
  }, undefined, false, undefined, this),
56809
- screen === "colorLines" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(LineSelector, {
57068
+ screen === "colorLines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
56810
57069
  lines: settings.lines,
56811
57070
  onSelect: (line) => {
56812
57071
  setMenuSelections({ ...menuSelections, lines: line });
@@ -56822,7 +57081,7 @@ var App2 = () => {
56822
57081
  blockIfPowerlineActive: true,
56823
57082
  settings
56824
57083
  }, undefined, false, undefined, this),
56825
- screen === "colors" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ColorMenu, {
57084
+ screen === "colors" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ColorMenu, {
56826
57085
  widgets: settings.lines[selectedLine] ?? [],
56827
57086
  lineIndex: selectedLine,
56828
57087
  settings,
@@ -56835,7 +57094,7 @@ var App2 = () => {
56835
57094
  setScreen("colorLines");
56836
57095
  }
56837
57096
  }, undefined, false, undefined, this),
56838
- screen === "terminalConfig" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(TerminalOptionsMenu, {
57097
+ screen === "terminalConfig" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalOptionsMenu, {
56839
57098
  settings,
56840
57099
  onUpdate: (updatedSettings) => {
56841
57100
  setSettings(updatedSettings);
@@ -56849,7 +57108,7 @@ var App2 = () => {
56849
57108
  }
56850
57109
  }
56851
57110
  }, undefined, false, undefined, this),
56852
- screen === "terminalWidth" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(TerminalWidthMenu, {
57111
+ screen === "terminalWidth" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalWidthMenu, {
56853
57112
  settings,
56854
57113
  onUpdate: (updatedSettings) => {
56855
57114
  setSettings(updatedSettings);
@@ -56858,7 +57117,7 @@ var App2 = () => {
56858
57117
  setScreen("terminalConfig");
56859
57118
  }
56860
57119
  }, undefined, false, undefined, this),
56861
- screen === "globalOverrides" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(GlobalOverridesMenu, {
57120
+ screen === "globalOverrides" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(GlobalOverridesMenu, {
56862
57121
  settings,
56863
57122
  onUpdate: (updatedSettings) => {
56864
57123
  setSettings(updatedSettings);
@@ -56868,7 +57127,7 @@ var App2 = () => {
56868
57127
  setScreen("main");
56869
57128
  }
56870
57129
  }, undefined, false, undefined, this),
56871
- screen === "confirm" && confirmDialog && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ConfirmDialog, {
57130
+ screen === "confirm" && confirmDialog && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ConfirmDialog, {
56872
57131
  message: confirmDialog.message,
56873
57132
  onConfirm: () => void confirmDialog.action(),
56874
57133
  onCancel: () => {
@@ -56876,7 +57135,7 @@ var App2 = () => {
56876
57135
  setConfirmDialog(null);
56877
57136
  }
56878
57137
  }, undefined, false, undefined, this),
56879
- screen === "install" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(InstallMenu, {
57138
+ screen === "install" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(InstallMenu, {
56880
57139
  bunxAvailable: isBunxAvailable(),
56881
57140
  existingStatusLine,
56882
57141
  onSelectNpx: () => {
@@ -56941,7 +57200,7 @@ Continue?`;
56941
57200
  setScreen("main");
56942
57201
  }
56943
57202
  }, undefined, false, undefined, this),
56944
- screen === "powerline" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(PowerlineSetup, {
57203
+ screen === "powerline" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(PowerlineSetup, {
56945
57204
  settings,
56946
57205
  powerlineFontStatus,
56947
57206
  onUpdate: (updatedSettings) => {
@@ -56975,7 +57234,7 @@ Continue?`;
56975
57234
  };
56976
57235
  function runTUI() {
56977
57236
  process.stdout.write("\x1B[2J\x1B[H");
56978
- render_default(/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(App2, {}, undefined, false, undefined, this));
57237
+ render_default(/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(App2, {}, undefined, false, undefined, this));
56979
57238
  }
56980
57239
  // src/types/StatusJSON.ts
56981
57240
  var StatusJSONSchema = exports_external.looseObject({
@@ -56992,7 +57251,14 @@ var StatusJSONSchema = exports_external.looseObject({
56992
57251
  project_dir: exports_external.string().optional()
56993
57252
  }).optional(),
56994
57253
  version: exports_external.string().optional(),
56995
- output_style: exports_external.object({ name: exports_external.string().optional() }).optional()
57254
+ output_style: exports_external.object({ name: exports_external.string().optional() }).optional(),
57255
+ cost: exports_external.object({
57256
+ total_cost_usd: exports_external.number().optional(),
57257
+ total_duration_ms: exports_external.number().optional(),
57258
+ total_api_duration_ms: exports_external.number().optional(),
57259
+ total_lines_added: exports_external.number().optional(),
57260
+ total_lines_removed: exports_external.number().optional()
57261
+ }).optional()
56996
57262
  });
56997
57263
 
56998
57264
  // src/utils/jsonl.ts
@@ -58064,12 +58330,15 @@ async function renderMultipleLines(data) {
58064
58330
  blockMetrics,
58065
58331
  isPreview: false
58066
58332
  };
58333
+ const isPowerlineMode = settings.powerline.enabled;
58334
+ const autoAlign = settings.powerline.autoAlign;
58335
+ const allLinesWidgets = isPowerlineMode && autoAlign ? lines : undefined;
58067
58336
  let globalSeparatorIndex = 0;
58068
58337
  for (let i = 0;i < lines.length; i++) {
58069
58338
  const lineItems = lines[i];
58070
58339
  if (lineItems && lineItems.length > 0) {
58071
58340
  const lineContext = { ...context, lineIndex: i, globalSeparatorIndex };
58072
- const line = renderStatusLine(lineItems, settings, lineContext);
58341
+ const line = renderStatusLine(lineItems, settings, lineContext, allLinesWidgets);
58073
58342
  const strippedLine = line.replace(/\x1b\[[0-9;]*m/g, "").trim();
58074
58343
  if (strippedLine.length > 0) {
58075
58344
  const nonMergedWidgets = lineItems.filter((_, idx) => idx === lineItems.length - 1 || !lineItems[idx]?.merge);