ccstatusline 2.0.6 → 2.0.7

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";
@@ -51035,7 +51035,7 @@ import { execSync as execSync3 } from "child_process";
51035
51035
  import * as fs5 from "fs";
51036
51036
  import * as path4 from "path";
51037
51037
  var __dirname = "/Users/sirmalloc/Projects/Personal/ccstatusline/src/utils";
51038
- var PACKAGE_VERSION = "2.0.6";
51038
+ var PACKAGE_VERSION = "2.0.7";
51039
51039
  function getPackageVersion() {
51040
51040
  if (/^\d+\.\d+\.\d+/.test(PACKAGE_VERSION)) {
51041
51041
  return PACKAGE_VERSION;
@@ -51517,7 +51517,7 @@ function SelectInput({ items = [], isFocused = true, initialIndex = 0, indicator
51517
51517
  }
51518
51518
  var SelectInput_default = SelectInput;
51519
51519
  // src/tui/components/ColorMenu.tsx
51520
- var import_react32 = __toESM(require_react(), 1);
51520
+ var import_react33 = __toESM(require_react(), 1);
51521
51521
 
51522
51522
  // src/utils/colors.ts
51523
51523
  function createColorMap() {
@@ -52066,24 +52066,24 @@ function renderPowerlineStatusLine(widgets, settings, context, lineIndex = 0, gl
52066
52066
  const flexMode = settings.flexMode;
52067
52067
  if (context.isPreview) {
52068
52068
  if (flexMode === "full") {
52069
- terminalWidth = detectedWidth - 8;
52069
+ terminalWidth = detectedWidth - 6;
52070
52070
  } else if (flexMode === "full-minus-40") {
52071
- terminalWidth = detectedWidth - 43;
52071
+ terminalWidth = detectedWidth - 40;
52072
52072
  } else if (flexMode === "full-until-compact") {
52073
- terminalWidth = detectedWidth - 8;
52073
+ terminalWidth = detectedWidth - 6;
52074
52074
  }
52075
52075
  } else {
52076
52076
  if (flexMode === "full") {
52077
- terminalWidth = detectedWidth - 4;
52077
+ terminalWidth = detectedWidth - 6;
52078
52078
  } else if (flexMode === "full-minus-40") {
52079
- terminalWidth = detectedWidth - 41;
52079
+ terminalWidth = detectedWidth - 40;
52080
52080
  } else if (flexMode === "full-until-compact") {
52081
52081
  const threshold = settings.compactThreshold;
52082
52082
  const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
52083
52083
  if (contextPercentage >= threshold) {
52084
52084
  terminalWidth = detectedWidth - 40;
52085
52085
  } else {
52086
- terminalWidth = detectedWidth - 4;
52086
+ terminalWidth = detectedWidth - 6;
52087
52087
  }
52088
52088
  }
52089
52089
  }
@@ -52335,22 +52335,22 @@ function renderStatusLine(widgets, settings, context) {
52335
52335
  if (flexMode === "full") {
52336
52336
  terminalWidth = detectedWidth - 6;
52337
52337
  } else if (flexMode === "full-minus-40") {
52338
- terminalWidth = detectedWidth - 43;
52338
+ terminalWidth = detectedWidth - 40;
52339
52339
  } else if (flexMode === "full-until-compact") {
52340
52340
  terminalWidth = detectedWidth - 6;
52341
52341
  }
52342
52342
  } else {
52343
52343
  if (flexMode === "full") {
52344
- terminalWidth = detectedWidth - 4;
52344
+ terminalWidth = detectedWidth - 6;
52345
52345
  } else if (flexMode === "full-minus-40") {
52346
- terminalWidth = detectedWidth - 41;
52346
+ terminalWidth = detectedWidth - 40;
52347
52347
  } else if (flexMode === "full-until-compact") {
52348
52348
  const threshold = settings.compactThreshold;
52349
52349
  const contextPercentage = context.tokenMetrics ? Math.min(100, context.tokenMetrics.contextLength / 200000 * 100) : 0;
52350
52350
  if (contextPercentage >= threshold) {
52351
52351
  terminalWidth = detectedWidth - 40;
52352
52352
  } else {
52353
- terminalWidth = detectedWidth - 4;
52353
+ terminalWidth = detectedWidth - 6;
52354
52354
  }
52355
52355
  }
52356
52356
  }
@@ -52804,6 +52804,38 @@ class SessionClockWidget {
52804
52804
  return true;
52805
52805
  }
52806
52806
  }
52807
+ // src/widgets/SessionCost.ts
52808
+ class SessionCostWidget {
52809
+ getDefaultColor() {
52810
+ return "green";
52811
+ }
52812
+ getDescription() {
52813
+ return "Shows the total session cost in USD";
52814
+ }
52815
+ getDisplayName() {
52816
+ return "Session Cost";
52817
+ }
52818
+ getEditorDisplay(item) {
52819
+ return { displayText: this.getDisplayName() };
52820
+ }
52821
+ render(item, context, settings) {
52822
+ if (context.isPreview) {
52823
+ return item.rawValue ? "$2.45" : "Cost: $2.45";
52824
+ }
52825
+ const totalCost = context.data?.cost?.total_cost_usd;
52826
+ if (totalCost === undefined) {
52827
+ return null;
52828
+ }
52829
+ const formattedCost = `$${totalCost.toFixed(2)}`;
52830
+ return item.rawValue ? formattedCost : `Cost: ${formattedCost}`;
52831
+ }
52832
+ supportsRawValue() {
52833
+ return true;
52834
+ }
52835
+ supportsColors(item) {
52836
+ return true;
52837
+ }
52838
+ }
52807
52839
  // src/widgets/TerminalWidth.ts
52808
52840
  class TerminalWidthWidget {
52809
52841
  getDefaultColor() {
@@ -53160,11 +53192,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
53160
53192
  return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53161
53193
  flexDirection: "column",
53162
53194
  children: [
53163
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53195
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53164
53196
  children: [
53165
- "Enter max width (blank for no limit):",
53166
- " ",
53167
- widthInput
53197
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53198
+ children: "Enter max width (blank for no limit): "
53199
+ }, undefined, false, undefined, this),
53200
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53201
+ children: widthInput
53202
+ }, undefined, false, undefined, this),
53203
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53204
+ backgroundColor: "gray",
53205
+ color: "black",
53206
+ children: " "
53207
+ }, undefined, false, undefined, this)
53168
53208
  ]
53169
53209
  }, undefined, true, undefined, this),
53170
53210
  /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
@@ -53177,11 +53217,19 @@ var CustomCommandEditor = ({ widget, onComplete, onCancel, action }) => {
53177
53217
  return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53178
53218
  flexDirection: "column",
53179
53219
  children: [
53180
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53220
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
53181
53221
  children: [
53182
- "Enter timeout in milliseconds (default 1000):",
53183
- " ",
53184
- timeoutInput
53222
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53223
+ children: "Enter timeout in milliseconds (default 1000): "
53224
+ }, undefined, false, undefined, this),
53225
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53226
+ children: timeoutInput
53227
+ }, undefined, false, undefined, this),
53228
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
53229
+ backgroundColor: "gray",
53230
+ color: "black",
53231
+ children: " "
53232
+ }, undefined, false, undefined, this)
53185
53233
  ]
53186
53234
  }, undefined, true, undefined, this),
53187
53235
  /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
@@ -53304,12 +53352,146 @@ class BlockTimerWidget {
53304
53352
  return true;
53305
53353
  }
53306
53354
  }
53355
+ // src/widgets/CurrentWorkingDir.tsx
53356
+ var import_react31 = __toESM(require_react(), 1);
53357
+ var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
53358
+
53359
+ class CurrentWorkingDirWidget {
53360
+ getDefaultColor() {
53361
+ return "blue";
53362
+ }
53363
+ getDescription() {
53364
+ return "Shows the current working directory";
53365
+ }
53366
+ getDisplayName() {
53367
+ return "Current Working Dir";
53368
+ }
53369
+ getEditorDisplay(item) {
53370
+ const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53371
+ const modifiers = [];
53372
+ if (segments && segments > 0) {
53373
+ modifiers.push(`segments: ${segments}`);
53374
+ }
53375
+ return {
53376
+ displayText: this.getDisplayName(),
53377
+ modifierText: modifiers.length > 0 ? `(${modifiers.join(", ")})` : undefined
53378
+ };
53379
+ }
53380
+ render(item, context, settings) {
53381
+ if (context.isPreview) {
53382
+ const segments2 = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53383
+ let previewPath;
53384
+ if (segments2 && segments2 > 0) {
53385
+ if (segments2 === 1) {
53386
+ previewPath = ".../project";
53387
+ } else {
53388
+ previewPath = ".../example/project";
53389
+ }
53390
+ } else {
53391
+ previewPath = "/Users/example/project";
53392
+ }
53393
+ return item.rawValue ? previewPath : `cwd: ${previewPath}`;
53394
+ }
53395
+ const cwd2 = context.data?.cwd;
53396
+ if (!cwd2) {
53397
+ return null;
53398
+ }
53399
+ const segments = item.metadata?.segments ? parseInt(item.metadata.segments, 10) : undefined;
53400
+ let displayPath = cwd2;
53401
+ if (segments && segments > 0) {
53402
+ const pathParts = cwd2.split("/");
53403
+ const filteredParts = pathParts.filter((part) => part !== "");
53404
+ if (filteredParts.length > segments) {
53405
+ const selectedSegments = filteredParts.slice(-segments);
53406
+ displayPath = ".../" + selectedSegments.join("/");
53407
+ }
53408
+ }
53409
+ return item.rawValue ? displayPath : `cwd: ${displayPath}`;
53410
+ }
53411
+ getCustomKeybinds() {
53412
+ return [
53413
+ { key: "s", label: "(s)egments", action: "edit-segments" }
53414
+ ];
53415
+ }
53416
+ renderEditor(props) {
53417
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(CurrentWorkingDirEditor, {
53418
+ ...props
53419
+ }, undefined, false, undefined, this);
53420
+ }
53421
+ supportsRawValue() {
53422
+ return true;
53423
+ }
53424
+ supportsColors(item) {
53425
+ return true;
53426
+ }
53427
+ }
53428
+ var CurrentWorkingDirEditor = ({ widget, onComplete, onCancel, action }) => {
53429
+ const [segmentsInput, setSegmentsInput] = import_react31.useState(widget.metadata?.segments ?? "");
53430
+ use_input_default((input, key) => {
53431
+ if (action === "edit-segments") {
53432
+ if (key.return) {
53433
+ const segments = parseInt(segmentsInput, 10);
53434
+ if (!isNaN(segments) && segments > 0) {
53435
+ onComplete({
53436
+ ...widget,
53437
+ metadata: {
53438
+ ...widget.metadata,
53439
+ segments: segments.toString()
53440
+ }
53441
+ });
53442
+ } else {
53443
+ const { segments: segments2, ...restMetadata } = widget.metadata ?? {};
53444
+ onComplete({
53445
+ ...widget,
53446
+ metadata: Object.keys(restMetadata).length > 0 ? restMetadata : undefined
53447
+ });
53448
+ }
53449
+ } else if (key.escape) {
53450
+ onCancel();
53451
+ } else if (key.backspace) {
53452
+ setSegmentsInput(segmentsInput.slice(0, -1));
53453
+ } else if (input && /\d/.test(input) && !key.ctrl) {
53454
+ setSegmentsInput(segmentsInput + input);
53455
+ }
53456
+ }
53457
+ });
53458
+ if (action === "edit-segments") {
53459
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53460
+ flexDirection: "column",
53461
+ children: [
53462
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53463
+ children: [
53464
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53465
+ children: "Enter number of segments to display (blank for full path): "
53466
+ }, undefined, false, undefined, this),
53467
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53468
+ children: segmentsInput
53469
+ }, undefined, false, undefined, this),
53470
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53471
+ backgroundColor: "gray",
53472
+ color: "black",
53473
+ children: " "
53474
+ }, undefined, false, undefined, this)
53475
+ ]
53476
+ }, undefined, true, undefined, this),
53477
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53478
+ dimColor: true,
53479
+ children: "Press Enter to save, ESC to cancel"
53480
+ }, undefined, false, undefined, this)
53481
+ ]
53482
+ }, undefined, true, undefined, this);
53483
+ }
53484
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53485
+ children: "Unknown editor mode"
53486
+ }, undefined, false, undefined, this);
53487
+ };
53307
53488
  // src/utils/widgets.ts
53308
53489
  var widgetRegistry = new Map([
53309
53490
  ["model", new ModelWidget],
53310
53491
  ["output-style", new OutputStyleWidget],
53311
53492
  ["git-branch", new GitBranchWidget],
53312
53493
  ["git-changes", new GitChangesWidget],
53494
+ ["current-working-dir", new CurrentWorkingDirWidget],
53313
53495
  ["tokens-input", new TokensInputWidget],
53314
53496
  ["tokens-output", new TokensOutputWidget],
53315
53497
  ["tokens-cached", new TokensCachedWidget],
@@ -53318,6 +53500,7 @@ var widgetRegistry = new Map([
53318
53500
  ["context-percentage", new ContextPercentageWidget],
53319
53501
  ["context-percentage-usable", new ContextPercentageUsableWidget],
53320
53502
  ["session-clock", new SessionClockWidget],
53503
+ ["session-cost", new SessionCostWidget],
53321
53504
  ["block-timer", new BlockTimerWidget],
53322
53505
  ["terminal-width", new TerminalWidthWidget],
53323
53506
  ["version", new VersionWidget],
@@ -53343,10 +53526,10 @@ function getAllWidgetTypes(settings) {
53343
53526
  }
53344
53527
 
53345
53528
  // src/tui/components/ConfirmDialog.tsx
53346
- var import_react31 = __toESM(require_react(), 1);
53347
- var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
53529
+ var import_react32 = __toESM(require_react(), 1);
53530
+ var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
53348
53531
  var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53349
- const [selectedIndex, setSelectedIndex] = import_react31.useState(0);
53532
+ const [selectedIndex, setSelectedIndex] = import_react32.useState(0);
53350
53533
  use_input_default((input, key) => {
53351
53534
  if (key.upArrow) {
53352
53535
  setSelectedIndex(Math.max(0, selectedIndex - 1));
@@ -53365,17 +53548,17 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53365
53548
  const renderOptions = () => {
53366
53549
  const yesStyle = selectedIndex === 0 ? { color: "cyan" } : {};
53367
53550
  const noStyle = selectedIndex === 1 ? { color: "cyan" } : {};
53368
- return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53551
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53369
53552
  flexDirection: "column",
53370
53553
  children: [
53371
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53554
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53372
53555
  ...yesStyle,
53373
53556
  children: [
53374
53557
  selectedIndex === 0 ? "▶ " : " ",
53375
53558
  "Yes"
53376
53559
  ]
53377
53560
  }, undefined, true, undefined, this),
53378
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53561
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53379
53562
  ...noStyle,
53380
53563
  children: [
53381
53564
  selectedIndex === 1 ? "▶ " : " ",
@@ -53388,13 +53571,13 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53388
53571
  if (inline) {
53389
53572
  return renderOptions();
53390
53573
  }
53391
- return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53574
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53392
53575
  flexDirection: "column",
53393
53576
  children: [
53394
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Text, {
53577
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53395
53578
  children: message
53396
53579
  }, undefined, false, undefined, this),
53397
- /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Box_default, {
53580
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53398
53581
  marginTop: 1,
53399
53582
  children: renderOptions()
53400
53583
  }, undefined, false, undefined, this)
@@ -53403,14 +53586,14 @@ var ConfirmDialog = ({ message, onConfirm, onCancel, inline = false }) => {
53403
53586
  };
53404
53587
 
53405
53588
  // src/tui/components/ColorMenu.tsx
53406
- var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
53589
+ var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
53407
53590
  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);
53591
+ const [showSeparators, setShowSeparators] = import_react33.useState(false);
53592
+ const [hexInputMode, setHexInputMode] = import_react33.useState(false);
53593
+ const [hexInput, setHexInput] = import_react33.useState("");
53594
+ const [ansi256InputMode, setAnsi256InputMode] = import_react33.useState(false);
53595
+ const [ansi256Input, setAnsi256Input] = import_react33.useState("");
53596
+ const [showClearConfirm, setShowClearConfirm] = import_react33.useState(false);
53414
53597
  const powerlineEnabled = settings.powerline.enabled;
53415
53598
  const colorableWidgets = widgets.filter((widget) => {
53416
53599
  if (widget.type === "separator") {
@@ -53423,8 +53606,8 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53423
53606
  return false;
53424
53607
  }
53425
53608
  });
53426
- const [highlightedItemId, setHighlightedItemId] = import_react32.useState(colorableWidgets[0]?.id ?? null);
53427
- const [editingBackground, setEditingBackground] = import_react32.useState(false);
53609
+ const [highlightedItemId, setHighlightedItemId] = import_react33.useState(colorableWidgets[0]?.id ?? null);
53610
+ const [editingBackground, setEditingBackground] = import_react33.useState(false);
53428
53611
  const hasNoItems = colorableWidgets.length === 0;
53429
53612
  use_input_default((input, key) => {
53430
53613
  if (hasNoItems) {
@@ -53618,30 +53801,30 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53618
53801
  }
53619
53802
  });
53620
53803
  if (hasNoItems) {
53621
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53804
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53622
53805
  flexDirection: "column",
53623
53806
  children: [
53624
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53807
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53625
53808
  bold: true,
53626
53809
  children: [
53627
53810
  "Configure Colors",
53628
53811
  lineIndex !== undefined ? ` - Line ${lineIndex + 1}` : ""
53629
53812
  ]
53630
53813
  }, undefined, true, undefined, this),
53631
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53814
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53632
53815
  marginTop: 1,
53633
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53816
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53634
53817
  dimColor: true,
53635
53818
  children: "No colorable items in the status line."
53636
53819
  }, undefined, false, undefined, this)
53637
53820
  }, undefined, false, undefined, this),
53638
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53821
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53639
53822
  dimColor: true,
53640
53823
  children: "Add a Model or Git Branch item first."
53641
53824
  }, undefined, false, undefined, this),
53642
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53825
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53643
53826
  marginTop: 1,
53644
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53827
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53645
53828
  children: "Press any key to go back..."
53646
53829
  }, undefined, false, undefined, this)
53647
53830
  }, undefined, false, undefined, this)
@@ -53732,36 +53915,36 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53732
53915
  }
53733
53916
  }
53734
53917
  if (showClearConfirm) {
53735
- return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53918
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53736
53919
  flexDirection: "column",
53737
53920
  children: [
53738
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53921
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53739
53922
  bold: true,
53740
53923
  color: "yellow",
53741
53924
  children: "⚠ Confirm Clear All Colors"
53742
53925
  }, undefined, false, undefined, this),
53743
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53926
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53744
53927
  marginTop: 1,
53745
53928
  flexDirection: "column",
53746
53929
  children: [
53747
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53930
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53748
53931
  children: "This will reset all colors for all widgets to their defaults."
53749
53932
  }, undefined, false, undefined, this),
53750
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53933
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53751
53934
  color: "red",
53752
53935
  children: "This action cannot be undone!"
53753
53936
  }, undefined, false, undefined, this)
53754
53937
  ]
53755
53938
  }, undefined, true, undefined, this),
53756
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53939
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53757
53940
  marginTop: 2,
53758
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53941
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53759
53942
  children: "Continue?"
53760
53943
  }, undefined, false, undefined, this)
53761
53944
  }, undefined, false, undefined, this),
53762
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53945
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53763
53946
  marginTop: 1,
53764
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfirmDialog, {
53947
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ConfirmDialog, {
53765
53948
  inline: true,
53766
53949
  onConfirm: () => {
53767
53950
  const newItems = widgets.map((widget) => {
@@ -53782,12 +53965,12 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53782
53965
  const hasGlobalFgOverride = !!settings.overrideForegroundColor;
53783
53966
  const hasGlobalBgOverride = !!settings.overrideBackgroundColor && !powerlineEnabled;
53784
53967
  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, {
53968
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53786
53969
  flexDirection: "column",
53787
53970
  children: [
53788
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53971
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53789
53972
  children: [
53790
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53973
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53791
53974
  bold: true,
53792
53975
  children: [
53793
53976
  "Configure Colors",
@@ -53795,7 +53978,7 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53795
53978
  editingBackground && source_default.yellow(" [Background Mode]")
53796
53979
  ]
53797
53980
  }, undefined, true, undefined, this),
53798
- globalOverrideMessage && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53981
+ globalOverrideMessage && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53799
53982
  color: "yellow",
53800
53983
  dimColor: true,
53801
53984
  children: [
@@ -53805,56 +53988,56 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53805
53988
  }, undefined, true, undefined, this)
53806
53989
  ]
53807
53990
  }, undefined, true, undefined, this),
53808
- hexInputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
53991
+ hexInputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53809
53992
  flexDirection: "column",
53810
53993
  children: [
53811
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53994
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53812
53995
  children: "Enter 6-digit hex color code (without #):"
53813
53996
  }, undefined, false, undefined, this),
53814
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
53997
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53815
53998
  children: [
53816
53999
  "#",
53817
54000
  hexInput,
53818
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54001
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53819
54002
  dimColor: true,
53820
54003
  children: hexInput.length < 6 ? "_".repeat(6 - hexInput.length) : ""
53821
54004
  }, undefined, false, undefined, this)
53822
54005
  ]
53823
54006
  }, undefined, true, undefined, this),
53824
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54007
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53825
54008
  children: " "
53826
54009
  }, undefined, false, undefined, this),
53827
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54010
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53828
54011
  dimColor: true,
53829
54012
  children: "Press Enter when done, ESC to cancel"
53830
54013
  }, undefined, false, undefined, this)
53831
54014
  ]
53832
- }, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54015
+ }, undefined, true, undefined, this) : ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53833
54016
  flexDirection: "column",
53834
54017
  children: [
53835
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54018
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53836
54019
  children: "Enter ANSI 256 color code (0-255):"
53837
54020
  }, undefined, false, undefined, this),
53838
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54021
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53839
54022
  children: [
53840
54023
  ansi256Input,
53841
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54024
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53842
54025
  dimColor: true,
53843
54026
  children: ansi256Input.length === 0 ? "___" : ansi256Input.length === 1 ? "__" : ansi256Input.length === 2 ? "_" : ""
53844
54027
  }, undefined, false, undefined, this)
53845
54028
  ]
53846
54029
  }, undefined, true, undefined, this),
53847
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54030
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53848
54031
  children: " "
53849
54032
  }, undefined, false, undefined, this),
53850
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54033
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53851
54034
  dimColor: true,
53852
54035
  children: "Press Enter when done, ESC to cancel"
53853
54036
  }, undefined, false, undefined, this)
53854
54037
  ]
53855
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
54038
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
53856
54039
  children: [
53857
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54040
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53858
54041
  dimColor: true,
53859
54042
  children: [
53860
54043
  "↑↓ to select, ←→ to cycle",
@@ -53866,16 +54049,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53866
54049
  "(r)eset, (c)lear all, ESC to go back"
53867
54050
  ]
53868
54051
  }, undefined, true, undefined, this),
53869
- !settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54052
+ !settings.powerline.enabled && !settings.defaultSeparator && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53870
54053
  dimColor: true,
53871
54054
  children: [
53872
54055
  "(s)how separators:",
53873
54056
  showSeparators ? source_default.green("ON") : source_default.gray("OFF")
53874
54057
  ]
53875
54058
  }, undefined, true, undefined, this),
53876
- selectedWidget ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54059
+ selectedWidget ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53877
54060
  marginTop: 1,
53878
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54061
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53879
54062
  children: [
53880
54063
  "Current",
53881
54064
  " ",
@@ -53889,19 +54072,19 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53889
54072
  selectedWidget.bold && source_default.bold(" [BOLD]")
53890
54073
  ]
53891
54074
  }, undefined, true, undefined, this)
53892
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54075
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53893
54076
  marginTop: 1,
53894
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54077
+ children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53895
54078
  children: " "
53896
54079
  }, undefined, false, undefined, this)
53897
54080
  }, undefined, false, undefined, this)
53898
54081
  ]
53899
54082
  }, undefined, true, undefined, this),
53900
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54083
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53901
54084
  marginTop: 1,
53902
- children: hexInputMode || ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54085
+ children: hexInputMode || ansi256InputMode ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53903
54086
  flexDirection: "column",
53904
- children: menuItems.map((item) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54087
+ children: menuItems.map((item) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53905
54088
  color: item.value === highlightedItemId ? "cyan" : "white",
53906
54089
  bold: item.value === highlightedItemId,
53907
54090
  children: [
@@ -53909,28 +54092,28 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53909
54092
  item.label
53910
54093
  ]
53911
54094
  }, item.value, true, undefined, this))
53912
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(SelectInput_default, {
54095
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(SelectInput_default, {
53913
54096
  items: menuItems,
53914
54097
  onSelect: handleSelect,
53915
54098
  onHighlight: handleHighlight,
53916
54099
  initialIndex: Math.max(0, menuItems.findIndex((item) => item.value === highlightedItemId)),
53917
- indicatorComponent: ({ isSelected }) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54100
+ indicatorComponent: ({ isSelected }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53918
54101
  children: isSelected ? "▶" : " "
53919
54102
  }, undefined, false, undefined, this),
53920
- itemComponent: ({ isSelected, label }) => /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54103
+ itemComponent: ({ isSelected, label }) => /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53921
54104
  children: ` ${label}`
53922
54105
  }, undefined, false, undefined, this)
53923
54106
  }, `${showSeparators}-${highlightedItemId}`, false, undefined, this)
53924
54107
  }, undefined, false, undefined, this),
53925
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
54108
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
53926
54109
  marginTop: 1,
53927
54110
  flexDirection: "column",
53928
54111
  children: [
53929
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54112
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53930
54113
  color: "yellow",
53931
54114
  children: "⚠ VSCode Users: "
53932
54115
  }, undefined, false, undefined, this),
53933
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
54116
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
53934
54117
  dimColor: true,
53935
54118
  wrap: "wrap",
53936
54119
  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 +54124,16 @@ var ColorMenu = ({ widgets, lineIndex, settings, onUpdate, onBack }) => {
53941
54124
  }, undefined, true, undefined, this);
53942
54125
  };
53943
54126
  // src/tui/components/GlobalOverridesMenu.tsx
53944
- var import_react33 = __toESM(require_react(), 1);
53945
- var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
54127
+ var import_react34 = __toESM(require_react(), 1);
54128
+ var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
53946
54129
  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);
54130
+ const [editingPadding, setEditingPadding] = import_react34.useState(false);
54131
+ const [editingSeparator, setEditingSeparator] = import_react34.useState(false);
54132
+ const [confirmingSeparator, setConfirmingSeparator] = import_react34.useState(false);
54133
+ const [paddingInput, setPaddingInput] = import_react34.useState(settings.defaultPadding ?? "");
54134
+ const [separatorInput, setSeparatorInput] = import_react34.useState(settings.defaultSeparator ?? "");
54135
+ const [inheritColors, setInheritColors] = import_react34.useState(settings.inheritSeparatorColors);
54136
+ const [globalBold, setGlobalBold] = import_react34.useState(settings.globalBold);
53954
54137
  const isPowerlineEnabled = settings.powerline.enabled;
53955
54138
  const hasManualSeparators = settings.lines.some((line) => line.some((item) => item.type === "separator"));
53956
54139
  const bgColors = ["none", ...COLOR_MAP.filter((c) => c.isBackground).map((c) => c.name)];
@@ -54052,95 +54235,95 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54052
54235
  }
54053
54236
  }
54054
54237
  });
54055
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54238
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54056
54239
  flexDirection: "column",
54057
54240
  children: [
54058
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54241
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54059
54242
  bold: true,
54060
54243
  children: "Global Overrides"
54061
54244
  }, undefined, false, undefined, this),
54062
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54245
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54063
54246
  dimColor: true,
54064
54247
  children: "Configure automatic padding and separators between items"
54065
54248
  }, undefined, false, undefined, this),
54066
- isPowerlineEnabled && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54249
+ isPowerlineEnabled && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54067
54250
  marginTop: 1,
54068
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54251
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54069
54252
  color: "yellow",
54070
54253
  children: "⚠ Some options are disabled while Powerline mode is active"
54071
54254
  }, undefined, false, undefined, this)
54072
54255
  }, undefined, false, undefined, this),
54073
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54256
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54074
54257
  marginTop: 1
54075
54258
  }, undefined, false, undefined, this),
54076
- editingPadding ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54259
+ editingPadding ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54077
54260
  flexDirection: "column",
54078
54261
  children: [
54079
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54262
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54080
54263
  children: [
54081
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54264
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54082
54265
  children: "Enter default padding (applied to left and right of each item): "
54083
54266
  }, undefined, false, undefined, this),
54084
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54267
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54085
54268
  color: "cyan",
54086
54269
  children: paddingInput ? `"${paddingInput}"` : "(empty)"
54087
54270
  }, undefined, false, undefined, this)
54088
54271
  ]
54089
54272
  }, undefined, true, undefined, this),
54090
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54273
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54091
54274
  dimColor: true,
54092
54275
  children: "Press Enter to save, ESC to cancel"
54093
54276
  }, undefined, false, undefined, this)
54094
54277
  ]
54095
- }, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54278
+ }, undefined, true, undefined, this) : editingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54096
54279
  flexDirection: "column",
54097
54280
  children: [
54098
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54281
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54099
54282
  children: [
54100
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54283
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54101
54284
  children: "Enter default separator (placed between items): "
54102
54285
  }, undefined, false, undefined, this),
54103
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54286
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54104
54287
  color: "cyan",
54105
54288
  children: separatorInput ? `"${separatorInput}"` : "(empty - no separator will be added)"
54106
54289
  }, undefined, false, undefined, this)
54107
54290
  ]
54108
54291
  }, undefined, true, undefined, this),
54109
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54292
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54110
54293
  dimColor: true,
54111
54294
  children: "Press Enter to save, ESC to cancel"
54112
54295
  }, undefined, false, undefined, this)
54113
54296
  ]
54114
- }, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54297
+ }, undefined, true, undefined, this) : confirmingSeparator ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54115
54298
  flexDirection: "column",
54116
54299
  children: [
54117
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54300
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54118
54301
  marginBottom: 1,
54119
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54302
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54120
54303
  color: "yellow",
54121
54304
  children: "⚠ Warning: Setting a default separator will remove all existing manual separators from your status lines."
54122
54305
  }, undefined, false, undefined, this)
54123
54306
  }, undefined, false, undefined, this),
54124
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54307
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54125
54308
  children: [
54126
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54309
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54127
54310
  children: "New default separator: "
54128
54311
  }, undefined, false, undefined, this),
54129
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54312
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54130
54313
  color: "cyan",
54131
54314
  children: separatorInput ? `"${separatorInput}"` : "(empty)"
54132
54315
  }, undefined, false, undefined, this)
54133
54316
  ]
54134
54317
  }, undefined, true, undefined, this),
54135
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54318
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54136
54319
  marginTop: 1,
54137
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54320
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54138
54321
  children: "Do you want to continue? "
54139
54322
  }, undefined, false, undefined, this)
54140
54323
  }, undefined, false, undefined, this),
54141
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54324
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54142
54325
  marginTop: 1,
54143
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ConfirmDialog, {
54326
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ConfirmDialog, {
54144
54327
  inline: true,
54145
54328
  onConfirm: () => {
54146
54329
  const updatedSettings = {
@@ -54158,47 +54341,47 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54158
54341
  }, undefined, false, undefined, this)
54159
54342
  }, undefined, false, undefined, this)
54160
54343
  ]
54161
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54344
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54162
54345
  children: [
54163
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54346
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54164
54347
  children: [
54165
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54348
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54166
54349
  children: " Global Bold: "
54167
54350
  }, undefined, false, undefined, this),
54168
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54351
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54169
54352
  color: globalBold ? "green" : "red",
54170
54353
  children: globalBold ? "✓ Enabled" : "✗ Disabled"
54171
54354
  }, undefined, false, undefined, this),
54172
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54355
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54173
54356
  dimColor: true,
54174
54357
  children: " - Press (o) to toggle"
54175
54358
  }, undefined, false, undefined, this)
54176
54359
  ]
54177
54360
  }, undefined, true, undefined, this),
54178
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54361
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54179
54362
  children: [
54180
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54363
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54181
54364
  children: " Default Padding: "
54182
54365
  }, undefined, false, undefined, this),
54183
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54366
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54184
54367
  color: "cyan",
54185
54368
  children: settings.defaultPadding ? `"${settings.defaultPadding}"` : "(none)"
54186
54369
  }, undefined, false, undefined, this),
54187
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54370
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54188
54371
  dimColor: true,
54189
54372
  children: " - Press (p) to edit"
54190
54373
  }, undefined, false, undefined, this)
54191
54374
  ]
54192
54375
  }, undefined, true, undefined, this),
54193
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54376
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54194
54377
  children: [
54195
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54378
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54196
54379
  children: "Override FG Color: "
54197
54380
  }, undefined, false, undefined, this),
54198
54381
  (() => {
54199
54382
  const fgColor = settings.overrideForegroundColor ?? "none";
54200
54383
  if (fgColor === "none") {
54201
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54384
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54202
54385
  color: "gray",
54203
54386
  children: "(none)"
54204
54387
  }, undefined, false, undefined, this);
@@ -54206,31 +54389,31 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54206
54389
  const displayName = getColorDisplayName(fgColor);
54207
54390
  const fgChalk = getChalkColor(fgColor, "ansi16", false);
54208
54391
  const display = fgChalk ? fgChalk(displayName) : displayName;
54209
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54392
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54210
54393
  children: display
54211
54394
  }, undefined, false, undefined, this);
54212
54395
  }
54213
54396
  })(),
54214
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54397
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54215
54398
  dimColor: true,
54216
54399
  children: " - (f) cycle, (g) clear"
54217
54400
  }, undefined, false, undefined, this)
54218
54401
  ]
54219
54402
  }, undefined, true, undefined, this),
54220
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54403
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54221
54404
  children: [
54222
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54405
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54223
54406
  children: "Override BG Color: "
54224
54407
  }, undefined, false, undefined, this),
54225
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54408
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54226
54409
  dimColor: true,
54227
54410
  children: "[disabled - Powerline active]"
54228
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54411
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54229
54412
  children: [
54230
54413
  (() => {
54231
54414
  const bgColor = settings.overrideBackgroundColor ?? "none";
54232
54415
  if (bgColor === "none") {
54233
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54416
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54234
54417
  color: "gray",
54235
54418
  children: "(none)"
54236
54419
  }, undefined, false, undefined, this);
@@ -54238,12 +54421,12 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54238
54421
  const displayName = getColorDisplayName(bgColor);
54239
54422
  const bgChalk = getChalkColor(bgColor, "ansi16", true);
54240
54423
  const display = bgChalk ? bgChalk(` ${displayName} `) : displayName;
54241
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54424
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54242
54425
  children: display
54243
54426
  }, undefined, false, undefined, this);
54244
54427
  }
54245
54428
  })(),
54246
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54429
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54247
54430
  dimColor: true,
54248
54431
  children: " - (b) cycle, (c) clear"
54249
54432
  }, undefined, false, undefined, this)
@@ -54251,21 +54434,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54251
54434
  }, undefined, true, undefined, this)
54252
54435
  ]
54253
54436
  }, undefined, true, undefined, this),
54254
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54437
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54255
54438
  children: [
54256
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54439
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54257
54440
  children: " Inherit Colors: "
54258
54441
  }, undefined, false, undefined, this),
54259
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54442
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54260
54443
  dimColor: true,
54261
54444
  children: "[disabled - Powerline active]"
54262
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54445
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54263
54446
  children: [
54264
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54447
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54265
54448
  color: inheritColors ? "green" : "red",
54266
54449
  children: inheritColors ? "✓ Enabled" : "✗ Disabled"
54267
54450
  }, undefined, false, undefined, this),
54268
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54451
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54269
54452
  dimColor: true,
54270
54453
  children: " - Press (i) to toggle"
54271
54454
  }, undefined, false, undefined, this)
@@ -54273,21 +54456,21 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54273
54456
  }, undefined, true, undefined, this)
54274
54457
  ]
54275
54458
  }, undefined, true, undefined, this),
54276
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54459
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54277
54460
  children: [
54278
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54461
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54279
54462
  children: "Default Separator: "
54280
54463
  }, undefined, false, undefined, this),
54281
- isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54464
+ isPowerlineEnabled ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54282
54465
  dimColor: true,
54283
54466
  children: "[disabled - Powerline active]"
54284
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
54467
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
54285
54468
  children: [
54286
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54469
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54287
54470
  color: "cyan",
54288
54471
  children: settings.defaultSeparator ? `"${settings.defaultSeparator}"` : "(none)"
54289
54472
  }, undefined, false, undefined, this),
54290
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54473
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54291
54474
  dimColor: true,
54292
54475
  children: " - Press (s) to edit"
54293
54476
  }, undefined, false, undefined, this)
@@ -54295,33 +54478,33 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54295
54478
  }, undefined, true, undefined, this)
54296
54479
  ]
54297
54480
  }, undefined, true, undefined, this),
54298
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54481
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54299
54482
  marginTop: 2,
54300
- children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54483
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54301
54484
  dimColor: true,
54302
54485
  children: "Press ESC to go back"
54303
54486
  }, undefined, false, undefined, this)
54304
54487
  }, undefined, false, undefined, this),
54305
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Box_default, {
54488
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54306
54489
  marginTop: 1,
54307
54490
  flexDirection: "column",
54308
54491
  children: [
54309
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54492
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54310
54493
  dimColor: true,
54311
54494
  wrap: "wrap",
54312
54495
  children: "Note: These settings are applied during rendering and don't add items to your widget list."
54313
54496
  }, undefined, false, undefined, this),
54314
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54497
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54315
54498
  dimColor: true,
54316
54499
  wrap: "wrap",
54317
54500
  children: "• Inherit colors: Separators will use colors from the preceding widget"
54318
54501
  }, undefined, false, undefined, this),
54319
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54502
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54320
54503
  dimColor: true,
54321
54504
  wrap: "wrap",
54322
54505
  children: "• Global Bold: Makes all text bold regardless of individual settings"
54323
54506
  }, undefined, false, undefined, this),
54324
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Text, {
54507
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54325
54508
  dimColor: true,
54326
54509
  wrap: "wrap",
54327
54510
  children: "• Override colors: All items will use these colors instead of their configured colors"
@@ -54334,8 +54517,8 @@ var GlobalOverridesMenu = ({ settings, onUpdate, onBack }) => {
54334
54517
  }, undefined, true, undefined, this);
54335
54518
  };
54336
54519
  // src/tui/components/InstallMenu.tsx
54337
- var import_react34 = __toESM(require_react(), 1);
54338
- var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
54520
+ var import_react35 = __toESM(require_react(), 1);
54521
+ var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
54339
54522
  var InstallMenu = ({
54340
54523
  bunxAvailable,
54341
54524
  existingStatusLine,
@@ -54343,7 +54526,7 @@ var InstallMenu = ({
54343
54526
  onSelectBunx,
54344
54527
  onCancel
54345
54528
  }) => {
54346
- const [selectedIndex, setSelectedIndex] = import_react34.useState(0);
54529
+ const [selectedIndex, setSelectedIndex] = import_react35.useState(0);
54347
54530
  const maxIndex = 2;
54348
54531
  use_input_default((input, key) => {
54349
54532
  if (key.escape) {
@@ -54372,16 +54555,16 @@ var InstallMenu = ({
54372
54555
  }
54373
54556
  }
54374
54557
  });
54375
- return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54558
+ return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54376
54559
  flexDirection: "column",
54377
54560
  children: [
54378
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54561
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54379
54562
  bold: true,
54380
54563
  children: "Install ccstatusline to Claude Code"
54381
54564
  }, undefined, false, undefined, this),
54382
- existingStatusLine && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54565
+ existingStatusLine && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54383
54566
  marginBottom: 1,
54384
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54567
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54385
54568
  color: "yellow",
54386
54569
  children: [
54387
54570
  '⚠ Current status line: "',
@@ -54390,18 +54573,18 @@ var InstallMenu = ({
54390
54573
  ]
54391
54574
  }, undefined, true, undefined, this)
54392
54575
  }, undefined, false, undefined, this),
54393
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54394
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54576
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54577
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54395
54578
  dimColor: true,
54396
54579
  children: "Select package manager to use:"
54397
54580
  }, undefined, false, undefined, this)
54398
54581
  }, undefined, false, undefined, this),
54399
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54582
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54400
54583
  marginTop: 1,
54401
54584
  flexDirection: "column",
54402
54585
  children: [
54403
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54404
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54586
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54587
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54405
54588
  color: selectedIndex === 0 ? "blue" : undefined,
54406
54589
  children: [
54407
54590
  selectedIndex === 0 ? "▶ " : " ",
@@ -54409,8 +54592,8 @@ var InstallMenu = ({
54409
54592
  ]
54410
54593
  }, undefined, true, undefined, this)
54411
54594
  }, undefined, false, undefined, this),
54412
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54413
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54595
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54596
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54414
54597
  color: selectedIndex === 1 && bunxAvailable ? "blue" : undefined,
54415
54598
  dimColor: !bunxAvailable,
54416
54599
  children: [
@@ -54420,9 +54603,9 @@ var InstallMenu = ({
54420
54603
  ]
54421
54604
  }, undefined, true, undefined, this)
54422
54605
  }, undefined, false, undefined, this),
54423
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54606
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54424
54607
  marginTop: 1,
54425
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54608
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54426
54609
  color: selectedIndex === 2 ? "blue" : undefined,
54427
54610
  children: [
54428
54611
  selectedIndex === 2 ? "▶ " : " ",
@@ -54432,16 +54615,16 @@ var InstallMenu = ({
54432
54615
  }, undefined, false, undefined, this)
54433
54616
  ]
54434
54617
  }, undefined, true, undefined, this),
54435
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54618
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54436
54619
  marginTop: 2,
54437
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54620
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54438
54621
  dimColor: true,
54439
54622
  children: "The selected command will be written to ~/.claude/settings.json"
54440
54623
  }, undefined, false, undefined, this)
54441
54624
  }, undefined, false, undefined, this),
54442
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
54625
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54443
54626
  marginTop: 1,
54444
- children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
54627
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54445
54628
  dimColor: true,
54446
54629
  children: "Press Enter to select, ESC to cancel"
54447
54630
  }, undefined, false, undefined, this)
@@ -54450,12 +54633,12 @@ var InstallMenu = ({
54450
54633
  }, undefined, true, undefined, this);
54451
54634
  };
54452
54635
  // src/tui/components/ItemsEditor.tsx
54453
- var import_react35 = __toESM(require_react(), 1);
54454
- var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
54636
+ var import_react36 = __toESM(require_react(), 1);
54637
+ var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
54455
54638
  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);
54639
+ const [selectedIndex, setSelectedIndex] = import_react36.useState(0);
54640
+ const [moveMode, setMoveMode] = import_react36.useState(false);
54641
+ const [customEditorWidget, setCustomEditorWidget] = import_react36.useState(null);
54459
54642
  const separatorChars = ["|", "-", ",", " "];
54460
54643
  const getAllowedTypes = () => {
54461
54644
  let allowedTypes = getAllWidgetTypes(settings);
@@ -54642,7 +54825,7 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54642
54825
  if (widgetImpl.getCustomKeybinds) {
54643
54826
  const customKeybinds2 = widgetImpl.getCustomKeybinds();
54644
54827
  const matchedKeybind = customKeybinds2.find((kb) => kb.key === input);
54645
- if (matchedKeybind) {
54828
+ if (matchedKeybind && !key.ctrl) {
54646
54829
  if (widgetImpl.handleEditorAction) {
54647
54830
  const updatedWidget = widgetImpl.handleEditorAction(matchedKeybind.action, currentWidget2);
54648
54831
  if (updatedWidget) {
@@ -54715,12 +54898,12 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54715
54898
  action: customEditorWidget.action
54716
54899
  });
54717
54900
  }
54718
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54901
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54719
54902
  flexDirection: "column",
54720
54903
  children: [
54721
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54904
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54722
54905
  children: [
54723
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54906
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54724
54907
  bold: true,
54725
54908
  children: [
54726
54909
  "Edit Line",
@@ -54729,13 +54912,13 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54729
54912
  " "
54730
54913
  ]
54731
54914
  }, undefined, true, undefined, this),
54732
- moveMode && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54915
+ moveMode && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54733
54916
  color: "blue",
54734
54917
  children: "[MOVE MODE]"
54735
54918
  }, undefined, false, undefined, this),
54736
- (settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54919
+ (settings.powerline.enabled || Boolean(settings.defaultSeparator)) && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54737
54920
  marginLeft: 2,
54738
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54921
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54739
54922
  color: "yellow",
54740
54923
  children: [
54741
54924
  "⚠",
@@ -54746,92 +54929,92 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54746
54929
  }, undefined, false, undefined, this)
54747
54930
  ]
54748
54931
  }, undefined, true, undefined, this),
54749
- moveMode ? /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54932
+ moveMode ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54750
54933
  flexDirection: "column",
54751
54934
  marginBottom: 1,
54752
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54935
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54753
54936
  dimColor: true,
54754
54937
  children: "↑↓ to move item, ESC or Enter to exit move mode"
54755
54938
  }, undefined, false, undefined, this)
54756
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54939
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54757
54940
  flexDirection: "column",
54758
54941
  children: [
54759
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54942
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54760
54943
  dimColor: true,
54761
54944
  children: helpText
54762
54945
  }, undefined, false, undefined, this),
54763
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54946
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54764
54947
  dimColor: true,
54765
54948
  children: customKeybindsText || " "
54766
54949
  }, undefined, false, undefined, this)
54767
54950
  ]
54768
54951
  }, undefined, true, undefined, this),
54769
- hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54952
+ hasFlexSeparator && !widthDetectionAvailable && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54770
54953
  marginTop: 1,
54771
54954
  children: [
54772
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54955
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54773
54956
  color: "yellow",
54774
54957
  children: "⚠ Note: Terminal width detection is currently unavailable in your environment."
54775
54958
  }, undefined, false, undefined, this),
54776
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54959
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54777
54960
  dimColor: true,
54778
54961
  children: " Flex separators will act as normal separators until width detection is available."
54779
54962
  }, undefined, false, undefined, this)
54780
54963
  ]
54781
54964
  }, undefined, true, undefined, this),
54782
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54965
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54783
54966
  marginTop: 1,
54784
54967
  flexDirection: "column",
54785
- children: widgets.length === 0 ? /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54968
+ children: widgets.length === 0 ? /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54786
54969
  dimColor: true,
54787
54970
  children: "No items. Press 'a' to add one."
54788
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(jsx_dev_runtime7.Fragment, {
54971
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(jsx_dev_runtime8.Fragment, {
54789
54972
  children: [
54790
54973
  widgets.map((widget, index) => {
54791
54974
  const isSelected = index === selectedIndex;
54792
54975
  const widgetImpl = widget.type !== "separator" && widget.type !== "flex-separator" ? getWidget(widget.type) : null;
54793
54976
  const { displayText, modifierText } = widgetImpl?.getEditorDisplay(widget) ?? { displayText: getWidgetDisplay(widget) };
54794
- return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54977
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54795
54978
  flexDirection: "row",
54796
54979
  flexWrap: "nowrap",
54797
54980
  children: [
54798
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
54981
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54799
54982
  width: 3,
54800
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54983
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54801
54984
  color: isSelected ? moveMode ? "blue" : "green" : undefined,
54802
54985
  children: isSelected ? moveMode ? "◆ " : "▶ " : " "
54803
54986
  }, undefined, false, undefined, this)
54804
54987
  }, undefined, false, undefined, this),
54805
- /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54988
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54806
54989
  color: isSelected ? moveMode ? "blue" : "green" : undefined,
54807
54990
  children: `${index + 1}. ${displayText || getWidgetDisplay(widget)}`
54808
54991
  }, undefined, false, undefined, this),
54809
- modifierText && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54992
+ modifierText && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54810
54993
  dimColor: true,
54811
54994
  children: [
54812
54995
  " ",
54813
54996
  modifierText
54814
54997
  ]
54815
54998
  }, undefined, true, undefined, this),
54816
- widget.rawValue && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
54999
+ widget.rawValue && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54817
55000
  dimColor: true,
54818
55001
  children: " (raw value)"
54819
55002
  }, undefined, false, undefined, this),
54820
- widget.merge === true && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55003
+ widget.merge === true && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54821
55004
  dimColor: true,
54822
55005
  children: " (merged→)"
54823
55006
  }, undefined, false, undefined, this),
54824
- widget.merge === "no-padding" && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55007
+ widget.merge === "no-padding" && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54825
55008
  dimColor: true,
54826
55009
  children: " (merged-no-pad→)"
54827
55010
  }, undefined, false, undefined, this)
54828
55011
  ]
54829
55012
  }, widget.id, true, undefined, this);
54830
55013
  }),
54831
- currentWidget && /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Box_default, {
55014
+ currentWidget && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54832
55015
  marginTop: 1,
54833
55016
  paddingLeft: 2,
54834
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Text, {
55017
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
54835
55018
  dimColor: true,
54836
55019
  children: (() => {
54837
55020
  if (currentWidget.type === "separator") {
@@ -54856,10 +55039,10 @@ var ItemsEditor = ({ widgets, onUpdate, onBack, lineNumber, settings }) => {
54856
55039
  }, undefined, true, undefined, this);
54857
55040
  };
54858
55041
  // src/tui/components/LineSelector.tsx
54859
- var import_react36 = __toESM(require_react(), 1);
54860
- var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
55042
+ var import_react37 = __toESM(require_react(), 1);
55043
+ var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
54861
55044
  var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, blockIfPowerlineActive = false, settings }) => {
54862
- const [selectedIndex, setSelectedIndex] = import_react36.useState(initialSelection);
55045
+ const [selectedIndex, setSelectedIndex] = import_react37.useState(initialSelection);
54863
55046
  const powerlineEnabled = settings ? settings.powerline.enabled : false;
54864
55047
  const powerlineTheme = settings ? settings.powerline.theme : undefined;
54865
55048
  const isThemeManaged = blockIfPowerlineActive && powerlineEnabled && powerlineTheme && powerlineTheme !== "custom";
@@ -54883,16 +55066,16 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54883
55066
  }
54884
55067
  });
54885
55068
  if (isThemeManaged) {
54886
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55069
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54887
55070
  flexDirection: "column",
54888
55071
  children: [
54889
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55072
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54890
55073
  bold: true,
54891
55074
  children: title ?? "Select Line"
54892
55075
  }, undefined, false, undefined, this),
54893
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55076
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54894
55077
  marginTop: 1,
54895
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55078
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54896
55079
  color: "yellow",
54897
55080
  children: [
54898
55081
  "⚠ Colors are currently managed by the Powerline theme:",
@@ -54900,57 +55083,57 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54900
55083
  ]
54901
55084
  }, undefined, true, undefined, this)
54902
55085
  }, undefined, false, undefined, this),
54903
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55086
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54904
55087
  marginTop: 1,
54905
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55088
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54906
55089
  dimColor: true,
54907
55090
  children: "To customize colors, either:"
54908
55091
  }, undefined, false, undefined, this)
54909
55092
  }, undefined, false, undefined, this),
54910
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55093
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54911
55094
  marginLeft: 2,
54912
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55095
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54913
55096
  dimColor: true,
54914
55097
  children: "• Change to 'Custom' theme in Powerline Configuration → Themes"
54915
55098
  }, undefined, false, undefined, this)
54916
55099
  }, undefined, false, undefined, this),
54917
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55100
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54918
55101
  marginLeft: 2,
54919
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55102
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54920
55103
  dimColor: true,
54921
55104
  children: "• Disable Powerline mode in Powerline Configuration"
54922
55105
  }, undefined, false, undefined, this)
54923
55106
  }, undefined, false, undefined, this),
54924
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55107
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54925
55108
  marginTop: 2,
54926
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55109
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54927
55110
  children: "Press any key to go back..."
54928
55111
  }, undefined, false, undefined, this)
54929
55112
  }, undefined, false, undefined, this)
54930
55113
  ]
54931
55114
  }, undefined, true, undefined, this);
54932
55115
  }
54933
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55116
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54934
55117
  flexDirection: "column",
54935
55118
  children: [
54936
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55119
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54937
55120
  bold: true,
54938
55121
  children: title ?? "Select Line to Edit"
54939
55122
  }, undefined, false, undefined, this),
54940
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55123
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54941
55124
  dimColor: true,
54942
55125
  children: "Choose which status line to configure (up to 3 lines supported)"
54943
55126
  }, undefined, false, undefined, this),
54944
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55127
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54945
55128
  dimColor: true,
54946
55129
  children: "Press ESC to go back"
54947
55130
  }, undefined, false, undefined, this),
54948
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55131
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54949
55132
  marginTop: 1,
54950
55133
  flexDirection: "column",
54951
55134
  children: [
54952
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54953
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55135
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55136
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54954
55137
  color: selectedIndex === 0 ? "green" : undefined,
54955
55138
  children: [
54956
55139
  selectedIndex === 0 ? "▶ " : " ",
@@ -54959,8 +55142,8 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54959
55142
  ]
54960
55143
  }, undefined, true, undefined, this)
54961
55144
  }, undefined, false, undefined, this),
54962
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54963
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55145
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55146
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54964
55147
  color: selectedIndex === 1 ? "green" : undefined,
54965
55148
  children: [
54966
55149
  selectedIndex === 1 ? "▶ " : " ",
@@ -54969,8 +55152,8 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54969
55152
  ]
54970
55153
  }, undefined, true, undefined, this)
54971
55154
  }, undefined, false, undefined, this),
54972
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
54973
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55155
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55156
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54974
55157
  color: selectedIndex === 2 ? "green" : undefined,
54975
55158
  children: [
54976
55159
  selectedIndex === 2 ? "▶ " : " ",
@@ -54979,9 +55162,9 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54979
55162
  ]
54980
55163
  }, undefined, true, undefined, this)
54981
55164
  }, undefined, false, undefined, this),
54982
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
55165
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
54983
55166
  marginTop: 1,
54984
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
55167
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
54985
55168
  color: selectedIndex === 3 ? "green" : undefined,
54986
55169
  children: [
54987
55170
  selectedIndex === 3 ? "▶ " : " ",
@@ -54995,10 +55178,10 @@ var LineSelector = ({ lines, onSelect, onBack, initialSelection = 0, title, bloc
54995
55178
  }, undefined, true, undefined, this);
54996
55179
  };
54997
55180
  // src/tui/components/MainMenu.tsx
54998
- var import_react37 = __toESM(require_react(), 1);
54999
- var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
55181
+ var import_react38 = __toESM(require_react(), 1);
55182
+ var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
55000
55183
  var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0, powerlineFontStatus, settings, previewIsTruncated }) => {
55001
- const [selectedIndex, setSelectedIndex] = import_react37.useState(initialSelection);
55184
+ const [selectedIndex, setSelectedIndex] = import_react38.useState(initialSelection);
55002
55185
  const menuItems = [
55003
55186
  { label: "\uD83D\uDCDD Edit Lines", value: "lines", selectable: true },
55004
55187
  { label: "\uD83C\uDFA8 Edit Colors", value: "colors", selectable: true },
@@ -55043,32 +55226,32 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55043
55226
  const selectedItem = selectableItems[selectedIndex];
55044
55227
  const description = selectedItem ? getDescription(selectedItem.value) : "";
55045
55228
  const showTruncationWarning = previewIsTruncated && settings?.flexMode === "full-minus-40";
55046
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55229
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55047
55230
  flexDirection: "column",
55048
55231
  children: [
55049
- showTruncationWarning && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55232
+ showTruncationWarning && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55050
55233
  marginBottom: 1,
55051
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55234
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55052
55235
  color: "yellow",
55053
55236
  children: "⚠ Some lines are truncated, see Terminal Options → Terminal Width for info"
55054
55237
  }, undefined, false, undefined, this)
55055
55238
  }, undefined, false, undefined, this),
55056
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55239
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55057
55240
  bold: true,
55058
55241
  children: "Main Menu"
55059
55242
  }, undefined, false, undefined, this),
55060
- /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55243
+ /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55061
55244
  marginTop: 1,
55062
55245
  flexDirection: "column",
55063
55246
  children: menuItems.map((item, idx) => {
55064
55247
  if (!item.selectable && item.value.startsWith("_gap")) {
55065
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55248
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55066
55249
  children: " "
55067
55250
  }, item.value, false, undefined, this);
55068
55251
  }
55069
55252
  const selectableIdx = selectableItems.indexOf(item);
55070
55253
  const isSelected = selectableIdx === selectedIndex;
55071
- return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55254
+ return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55072
55255
  color: isSelected ? "green" : undefined,
55073
55256
  children: [
55074
55257
  isSelected ? "▶ " : " ",
@@ -55077,10 +55260,10 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55077
55260
  }, item.value, true, undefined, this);
55078
55261
  })
55079
55262
  }, undefined, false, undefined, this),
55080
- description && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
55263
+ description && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55081
55264
  marginTop: 1,
55082
55265
  paddingLeft: 2,
55083
- children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
55266
+ children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55084
55267
  dimColor: true,
55085
55268
  wrap: "wrap",
55086
55269
  children: description
@@ -55090,12 +55273,12 @@ var MainMenu = ({ onSelect, isClaudeInstalled, hasChanges, initialSelection = 0,
55090
55273
  }, undefined, true, undefined, this);
55091
55274
  };
55092
55275
  // src/tui/components/PowerlineSetup.tsx
55093
- var import_react40 = __toESM(require_react(), 1);
55276
+ var import_react41 = __toESM(require_react(), 1);
55094
55277
  import * as os5 from "os";
55095
55278
 
55096
55279
  // src/tui/components/PowerlineSeparatorEditor.tsx
55097
- var import_react38 = __toESM(require_react(), 1);
55098
- var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
55280
+ var import_react39 = __toESM(require_react(), 1);
55281
+ var jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
55099
55282
  var PowerlineSeparatorEditor = ({
55100
55283
  settings,
55101
55284
  mode,
@@ -55115,10 +55298,10 @@ var PowerlineSeparatorEditor = ({
55115
55298
  };
55116
55299
  const separators = getItems();
55117
55300
  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);
55301
+ const [selectedIndex, setSelectedIndex] = import_react39.useState(0);
55302
+ const [hexInputMode, setHexInputMode] = import_react39.useState(false);
55303
+ const [hexInput, setHexInput] = import_react39.useState("");
55304
+ const [cursorPos, setCursorPos] = import_react39.useState(0);
55122
55305
  const getPresets = () => {
55123
55306
  if (mode === "separator") {
55124
55307
  return [
@@ -55307,18 +55490,18 @@ var PowerlineSeparatorEditor = ({
55307
55490
  };
55308
55491
  const canAdd = mode === "separator" || separators.length < 3;
55309
55492
  const canDelete = mode !== "separator" || separators.length > 1;
55310
- return /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55493
+ return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55311
55494
  flexDirection: "column",
55312
55495
  children: [
55313
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55496
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55314
55497
  bold: true,
55315
55498
  children: getTitle()
55316
55499
  }, undefined, false, undefined, this),
55317
- hexInputMode ? /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55500
+ hexInputMode ? /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55318
55501
  marginTop: 2,
55319
55502
  flexDirection: "column",
55320
55503
  children: [
55321
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55504
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55322
55505
  children: [
55323
55506
  "Enter 4-digit hex code for",
55324
55507
  " ",
@@ -55327,47 +55510,47 @@ var PowerlineSeparatorEditor = ({
55327
55510
  ":"
55328
55511
  ]
55329
55512
  }, undefined, true, undefined, this),
55330
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55513
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55331
55514
  children: [
55332
55515
  "\\u",
55333
55516
  hexInput.slice(0, cursorPos),
55334
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55517
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55335
55518
  backgroundColor: "gray",
55336
55519
  color: "black",
55337
55520
  children: hexInput[cursorPos] ?? "_"
55338
55521
  }, undefined, false, undefined, this),
55339
55522
  hexInput.slice(cursorPos + 1),
55340
- hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55523
+ hexInput.length < 4 && hexInput.length === cursorPos && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55341
55524
  dimColor: true,
55342
55525
  children: "_".repeat(4 - hexInput.length - 1)
55343
55526
  }, undefined, false, undefined, this)
55344
55527
  ]
55345
55528
  }, undefined, true, undefined, this),
55346
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55529
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55347
55530
  dimColor: true,
55348
55531
  children: "Enter 4 hex digits (0-9, A-F), then press Enter. ESC to cancel."
55349
55532
  }, undefined, false, undefined, this)
55350
55533
  ]
55351
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(jsx_dev_runtime10.Fragment, {
55534
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(jsx_dev_runtime11.Fragment, {
55352
55535
  children: [
55353
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55354
- children: /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55536
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55537
+ children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55355
55538
  dimColor: true,
55356
55539
  children: `↑↓ select, ← → cycle${canAdd ? ", (a)dd, (i)nsert" : ""}${canDelete ? ", (d)elete" : ""}, (c)lear, (h)ex${mode === "separator" ? ", (t)oggle invert" : ""}, ESC back`
55357
55540
  }, undefined, false, undefined, this)
55358
55541
  }, undefined, false, undefined, this),
55359
- /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Box_default, {
55542
+ /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55360
55543
  marginTop: 2,
55361
55544
  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, {
55545
+ children: separators.length > 0 ? separators.map((sep, index) => /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55546
+ children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55364
55547
  color: index === selectedIndex ? "green" : undefined,
55365
55548
  children: [
55366
55549
  index === selectedIndex ? "▶ " : " ",
55367
55550
  `${index + 1}: ${getSeparatorDisplay(sep, index)}`
55368
55551
  ]
55369
55552
  }, undefined, true, undefined, this)
55370
- }, index, false, undefined, this)) : /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
55553
+ }, index, false, undefined, this)) : /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55371
55554
  dimColor: true,
55372
55555
  children: "(none configured - press 'a' to add)"
55373
55556
  }, undefined, false, undefined, this)
@@ -55379,8 +55562,8 @@ var PowerlineSeparatorEditor = ({
55379
55562
  };
55380
55563
 
55381
55564
  // src/tui/components/PowerlineThemeSelector.tsx
55382
- var import_react39 = __toESM(require_react(), 1);
55383
- var jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
55565
+ var import_react40 = __toESM(require_react(), 1);
55566
+ var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
55384
55567
  var PowerlineThemeSelector = ({
55385
55568
  settings,
55386
55569
  onUpdate,
@@ -55388,10 +55571,10 @@ var PowerlineThemeSelector = ({
55388
55571
  }) => {
55389
55572
  const themes = getPowerlineThemes();
55390
55573
  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);
55574
+ const [selectedIndex, setSelectedIndex] = import_react40.useState(Math.max(0, themes.indexOf(currentTheme)));
55575
+ const [showCustomizeConfirm, setShowCustomizeConfirm] = import_react40.useState(false);
55576
+ const originalThemeRef = import_react40.useRef(currentTheme);
55577
+ const originalSettingsRef = import_react40.useRef(settings);
55395
55578
  const applyTheme = (themeName) => {
55396
55579
  const updatedSettings = {
55397
55580
  ...settings,
@@ -55479,39 +55662,39 @@ var PowerlineThemeSelector = ({
55479
55662
  const selectedThemeName = themes[selectedIndex];
55480
55663
  const selectedTheme = selectedThemeName ? getPowerlineTheme(selectedThemeName) : undefined;
55481
55664
  if (showCustomizeConfirm) {
55482
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55665
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55483
55666
  flexDirection: "column",
55484
55667
  children: [
55485
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55668
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55486
55669
  bold: true,
55487
55670
  color: "yellow",
55488
55671
  children: "⚠ Confirm Customization"
55489
55672
  }, undefined, false, undefined, this),
55490
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55673
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55491
55674
  marginTop: 1,
55492
55675
  flexDirection: "column",
55493
55676
  children: [
55494
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55677
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55495
55678
  children: "This will copy the current theme colors to your widgets"
55496
55679
  }, undefined, false, undefined, this),
55497
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55680
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55498
55681
  children: "and switch to Custom theme mode."
55499
55682
  }, undefined, false, undefined, this),
55500
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55683
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55501
55684
  color: "red",
55502
55685
  children: "This will overwrite any existing custom colors!"
55503
55686
  }, undefined, false, undefined, this)
55504
55687
  ]
55505
55688
  }, undefined, true, undefined, this),
55506
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55689
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55507
55690
  marginTop: 2,
55508
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55691
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55509
55692
  children: "Continue?"
55510
55693
  }, undefined, false, undefined, this)
55511
55694
  }, undefined, false, undefined, this),
55512
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55695
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55513
55696
  marginTop: 1,
55514
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(ConfirmDialog, {
55697
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
55515
55698
  inline: true,
55516
55699
  onConfirm: () => {
55517
55700
  customizeTheme();
@@ -55525,39 +55708,39 @@ var PowerlineThemeSelector = ({
55525
55708
  ]
55526
55709
  }, undefined, true, undefined, this);
55527
55710
  }
55528
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55711
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55529
55712
  flexDirection: "column",
55530
55713
  children: [
55531
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55714
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55532
55715
  bold: true,
55533
55716
  children: [
55534
55717
  `Powerline Theme Selection | `,
55535
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55718
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55536
55719
  dimColor: true,
55537
55720
  children: `Original: ${originalThemeRef.current}`
55538
55721
  }, undefined, false, undefined, this)
55539
55722
  ]
55540
55723
  }, undefined, true, undefined, this),
55541
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55542
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55724
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55725
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55543
55726
  dimColor: true,
55544
55727
  children: `↑↓ navigate, Enter apply${selectedThemeName && selectedThemeName !== "custom" ? ", (c)ustomize theme" : ""}, ESC cancel`
55545
55728
  }, undefined, false, undefined, this)
55546
55729
  }, undefined, false, undefined, this),
55547
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55730
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55548
55731
  marginTop: 1,
55549
55732
  flexDirection: "column",
55550
55733
  children: themes.map((themeName, index) => {
55551
55734
  const theme = getPowerlineTheme(themeName);
55552
55735
  const isSelected = index === selectedIndex;
55553
55736
  const isOriginal = themeName === originalThemeRef.current;
55554
- return /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55555
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55737
+ return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55738
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55556
55739
  color: isSelected ? "green" : undefined,
55557
55740
  children: [
55558
55741
  isSelected ? "▶ " : " ",
55559
55742
  theme?.name ?? themeName,
55560
- isOriginal && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55743
+ isOriginal && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55561
55744
  dimColor: true,
55562
55745
  children: " (original)"
55563
55746
  }, undefined, false, undefined, this)
@@ -55566,29 +55749,29 @@ var PowerlineThemeSelector = ({
55566
55749
  }, themeName, false, undefined, this);
55567
55750
  })
55568
55751
  }, undefined, false, undefined, this),
55569
- selectedTheme && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55752
+ selectedTheme && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55570
55753
  marginTop: 2,
55571
55754
  flexDirection: "column",
55572
55755
  children: [
55573
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55756
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55574
55757
  dimColor: true,
55575
55758
  children: "Description:"
55576
55759
  }, undefined, false, undefined, this),
55577
- /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55760
+ /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55578
55761
  marginLeft: 2,
55579
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55762
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55580
55763
  children: selectedTheme.description
55581
55764
  }, undefined, false, undefined, this)
55582
55765
  }, undefined, false, undefined, this),
55583
- selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55766
+ selectedThemeName && selectedThemeName !== "custom" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55584
55767
  marginTop: 1,
55585
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55768
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55586
55769
  dimColor: true,
55587
55770
  children: "Press (c) to customize this theme - copies colors to widgets"
55588
55771
  }, undefined, false, undefined, this)
55589
55772
  }, undefined, false, undefined, this),
55590
- settings.colorLevel === 1 && /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Box_default, {
55591
- children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
55773
+ settings.colorLevel === 1 && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55774
+ children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55592
55775
  color: "yellow",
55593
55776
  children: "⚠ 16 color mode themes have a very limited palette, we recommend switching color level in Terminal Options"
55594
55777
  }, undefined, false, undefined, this)
@@ -55600,7 +55783,7 @@ var PowerlineThemeSelector = ({
55600
55783
  };
55601
55784
 
55602
55785
  // src/tui/components/PowerlineSetup.tsx
55603
- var jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
55786
+ var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
55604
55787
  var PowerlineSetup = ({
55605
55788
  settings,
55606
55789
  powerlineFontStatus,
@@ -55612,10 +55795,10 @@ var PowerlineSetup = ({
55612
55795
  onClearMessage
55613
55796
  }) => {
55614
55797
  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);
55798
+ const [screen, setScreen] = import_react41.useState("menu");
55799
+ const [selectedMenuItem, setSelectedMenuItem] = import_react41.useState(0);
55800
+ const [confirmingEnable, setConfirmingEnable] = import_react41.useState(false);
55801
+ const [confirmingFontInstall, setConfirmingFontInstall] = import_react41.useState(false);
55619
55802
  const hasSeparatorItems = settings.lines.some((line) => line.some((item) => item.type === "separator" || item.type === "flex-separator"));
55620
55803
  const menuItems = [
55621
55804
  { label: "Separator", value: "separator" },
@@ -55729,7 +55912,7 @@ var PowerlineSetup = ({
55729
55912
  }
55730
55913
  });
55731
55914
  if (screen === "separator") {
55732
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55915
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55733
55916
  settings,
55734
55917
  mode: "separator",
55735
55918
  onUpdate,
@@ -55739,7 +55922,7 @@ var PowerlineSetup = ({
55739
55922
  }, undefined, false, undefined, this);
55740
55923
  }
55741
55924
  if (screen === "startCap") {
55742
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55925
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55743
55926
  settings,
55744
55927
  mode: "startCap",
55745
55928
  onUpdate,
@@ -55749,7 +55932,7 @@ var PowerlineSetup = ({
55749
55932
  }, undefined, false, undefined, this);
55750
55933
  }
55751
55934
  if (screen === "endCap") {
55752
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineSeparatorEditor, {
55935
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineSeparatorEditor, {
55753
55936
  settings,
55754
55937
  mode: "endCap",
55755
55938
  onUpdate,
@@ -55759,7 +55942,7 @@ var PowerlineSetup = ({
55759
55942
  }, undefined, false, undefined, this);
55760
55943
  }
55761
55944
  if (screen === "themes") {
55762
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(PowerlineThemeSelector, {
55945
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(PowerlineThemeSelector, {
55763
55946
  settings,
55764
55947
  onUpdate,
55765
55948
  onBack: () => {
@@ -55767,140 +55950,140 @@ var PowerlineSetup = ({
55767
55950
  }
55768
55951
  }, undefined, false, undefined, this);
55769
55952
  }
55770
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55953
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55771
55954
  flexDirection: "column",
55772
55955
  children: [
55773
- !confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55956
+ !confirmingFontInstall && !installingFonts && !fontInstallMessage && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55774
55957
  bold: true,
55775
55958
  children: "Powerline Setup"
55776
55959
  }, undefined, false, undefined, this),
55777
- confirmingFontInstall ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55960
+ confirmingFontInstall ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55778
55961
  flexDirection: "column",
55779
55962
  children: [
55780
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55963
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55781
55964
  marginBottom: 1,
55782
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55965
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55783
55966
  color: "cyan",
55784
55967
  bold: true,
55785
55968
  children: "Font Installation"
55786
55969
  }, undefined, false, undefined, this)
55787
55970
  }, undefined, false, undefined, this),
55788
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55971
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55789
55972
  marginBottom: 1,
55790
55973
  flexDirection: "column",
55791
55974
  children: [
55792
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55975
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55793
55976
  bold: true,
55794
55977
  children: "What will happen:"
55795
55978
  }, undefined, false, undefined, this),
55796
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55979
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55797
55980
  children: [
55798
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55981
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55799
55982
  dimColor: true,
55800
55983
  children: "• Clone fonts from "
55801
55984
  }, undefined, false, undefined, this),
55802
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55985
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55803
55986
  color: "blue",
55804
55987
  children: "https://github.com/powerline/fonts"
55805
55988
  }, undefined, false, undefined, this)
55806
55989
  ]
55807
55990
  }, undefined, true, undefined, this),
55808
- os5.platform() === "darwin" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
55991
+ os5.platform() === "darwin" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55809
55992
  children: [
55810
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55993
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55811
55994
  dimColor: true,
55812
55995
  children: "• Run install.sh script which will:"
55813
55996
  }, undefined, false, undefined, this),
55814
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
55997
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55815
55998
  dimColor: true,
55816
55999
  children: " - Copy all .ttf/.otf files to ~/Library/Fonts"
55817
56000
  }, undefined, false, undefined, this),
55818
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56001
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55819
56002
  dimColor: true,
55820
56003
  children: " - Register fonts with macOS"
55821
56004
  }, undefined, false, undefined, this)
55822
56005
  ]
55823
56006
  }, undefined, true, undefined, this),
55824
- os5.platform() === "linux" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56007
+ os5.platform() === "linux" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55825
56008
  children: [
55826
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56009
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55827
56010
  dimColor: true,
55828
56011
  children: "• Run install.sh script which will:"
55829
56012
  }, undefined, false, undefined, this),
55830
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56013
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55831
56014
  dimColor: true,
55832
56015
  children: " - Copy all .ttf/.otf files to ~/.local/share/fonts"
55833
56016
  }, undefined, false, undefined, this),
55834
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56017
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55835
56018
  dimColor: true,
55836
56019
  children: " - Run fc-cache to update font cache"
55837
56020
  }, undefined, false, undefined, this)
55838
56021
  ]
55839
56022
  }, undefined, true, undefined, this),
55840
- os5.platform() === "win32" && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56023
+ os5.platform() === "win32" && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55841
56024
  children: [
55842
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56025
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55843
56026
  dimColor: true,
55844
56027
  children: "• Copy Powerline .ttf/.otf files to:"
55845
56028
  }, undefined, false, undefined, this),
55846
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56029
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55847
56030
  dimColor: true,
55848
56031
  children: " AppData\\Local\\Microsoft\\Windows\\Fonts"
55849
56032
  }, undefined, false, undefined, this)
55850
56033
  ]
55851
56034
  }, undefined, true, undefined, this),
55852
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56035
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55853
56036
  dimColor: true,
55854
56037
  children: "• Clean up temporary files"
55855
56038
  }, undefined, false, undefined, this)
55856
56039
  ]
55857
56040
  }, undefined, true, undefined, this),
55858
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56041
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55859
56042
  marginBottom: 1,
55860
56043
  children: [
55861
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56044
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55862
56045
  color: "yellow",
55863
56046
  bold: true,
55864
56047
  children: "Requirements: "
55865
56048
  }, undefined, false, undefined, this),
55866
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56049
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55867
56050
  dimColor: true,
55868
56051
  children: "Git installed, Internet connection, Write permissions"
55869
56052
  }, undefined, false, undefined, this)
55870
56053
  ]
55871
56054
  }, undefined, true, undefined, this),
55872
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56055
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55873
56056
  marginBottom: 1,
55874
56057
  flexDirection: "column",
55875
56058
  children: [
55876
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56059
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55877
56060
  color: "green",
55878
56061
  bold: true,
55879
56062
  children: "After install:"
55880
56063
  }, undefined, false, undefined, this),
55881
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56064
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55882
56065
  dimColor: true,
55883
56066
  children: "• Restart terminal"
55884
56067
  }, undefined, false, undefined, this),
55885
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56068
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55886
56069
  dimColor: true,
55887
56070
  children: "• Select a Powerline font"
55888
56071
  }, undefined, false, undefined, this),
55889
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56072
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55890
56073
  dimColor: true,
55891
56074
  children: ' (e.g. "Meslo LG S for Powerline")'
55892
56075
  }, undefined, false, undefined, this)
55893
56076
  ]
55894
56077
  }, undefined, true, undefined, this),
55895
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56078
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55896
56079
  marginTop: 1,
55897
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56080
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55898
56081
  children: "Proceed? "
55899
56082
  }, undefined, false, undefined, this)
55900
56083
  }, undefined, false, undefined, this),
55901
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56084
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55902
56085
  marginTop: 1,
55903
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
56086
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
55904
56087
  inline: true,
55905
56088
  onConfirm: () => {
55906
56089
  setConfirmingFontInstall(false);
@@ -55912,36 +56095,36 @@ var PowerlineSetup = ({
55912
56095
  }, undefined, false, undefined, this)
55913
56096
  }, undefined, false, undefined, this)
55914
56097
  ]
55915
- }, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56098
+ }, undefined, true, undefined, this) : confirmingEnable ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55916
56099
  flexDirection: "column",
55917
56100
  marginTop: 1,
55918
56101
  children: [
55919
- hasSeparatorItems && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56102
+ hasSeparatorItems && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55920
56103
  children: [
55921
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55922
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56104
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56105
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55923
56106
  color: "yellow",
55924
56107
  children: "⚠ Warning: Enabling Powerline mode will remove all existing separators and flex-separators from your status lines."
55925
56108
  }, undefined, false, undefined, this)
55926
56109
  }, undefined, false, undefined, this),
55927
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56110
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55928
56111
  marginBottom: 1,
55929
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56112
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55930
56113
  dimColor: true,
55931
56114
  children: "Powerline mode uses its own separator system and is incompatible with manual separators."
55932
56115
  }, undefined, false, undefined, this)
55933
56116
  }, undefined, false, undefined, this)
55934
56117
  ]
55935
56118
  }, undefined, true, undefined, this),
55936
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56119
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55937
56120
  marginTop: hasSeparatorItems ? 1 : 0,
55938
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56121
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55939
56122
  children: "Do you want to continue? "
55940
56123
  }, undefined, false, undefined, this)
55941
56124
  }, undefined, false, undefined, this),
55942
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56125
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55943
56126
  marginTop: 1,
55944
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(ConfirmDialog, {
56127
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(ConfirmDialog, {
55945
56128
  inline: true,
55946
56129
  onConfirm: () => {
55947
56130
  const theme = !powerlineConfig.theme || powerlineConfig.theme === "custom" ? getDefaultPowerlineTheme() : powerlineConfig.theme;
@@ -55966,51 +56149,51 @@ var PowerlineSetup = ({
55966
56149
  }, undefined, false, undefined, this)
55967
56150
  }, undefined, false, undefined, this)
55968
56151
  ]
55969
- }, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
55970
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56152
+ }, undefined, true, undefined, this) : installingFonts ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56153
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55971
56154
  color: "yellow",
55972
56155
  children: "Installing Powerline fonts... This may take a moment."
55973
56156
  }, undefined, false, undefined, this)
55974
- }, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56157
+ }, undefined, false, undefined, this) : fontInstallMessage ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55975
56158
  flexDirection: "column",
55976
56159
  children: [
55977
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56160
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55978
56161
  color: fontInstallMessage.includes("success") ? "green" : "red",
55979
56162
  children: fontInstallMessage
55980
56163
  }, undefined, false, undefined, this),
55981
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56164
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55982
56165
  marginTop: 1,
55983
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56166
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55984
56167
  dimColor: true,
55985
56168
  children: "Press any key to continue..."
55986
56169
  }, undefined, false, undefined, this)
55987
56170
  }, undefined, false, undefined, this)
55988
56171
  ]
55989
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56172
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55990
56173
  children: [
55991
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56174
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
55992
56175
  flexDirection: "column",
55993
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56176
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55994
56177
  children: [
55995
56178
  " Font Status: ",
55996
- powerlineFontStatus.installed ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56179
+ powerlineFontStatus.installed ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
55997
56180
  children: [
55998
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56181
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
55999
56182
  color: "green",
56000
56183
  children: "✓ Installed"
56001
56184
  }, undefined, false, undefined, this),
56002
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56185
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56003
56186
  dimColor: true,
56004
56187
  children: " - Ensure fonts are active in your terminal"
56005
56188
  }, undefined, false, undefined, this)
56006
56189
  ]
56007
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56190
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
56008
56191
  children: [
56009
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56192
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56010
56193
  color: "yellow",
56011
56194
  children: "✗ Not Installed"
56012
56195
  }, undefined, false, undefined, this),
56013
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56196
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56014
56197
  dimColor: true,
56015
56198
  children: " - Press (i) to install Powerline fonts"
56016
56199
  }, undefined, false, undefined, this)
@@ -56019,33 +56202,33 @@ var PowerlineSetup = ({
56019
56202
  ]
56020
56203
  }, undefined, true, undefined, this)
56021
56204
  }, undefined, false, undefined, this),
56022
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56205
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56023
56206
  children: [
56024
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56207
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56025
56208
  children: "Powerline Mode: "
56026
56209
  }, undefined, false, undefined, this),
56027
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56210
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56028
56211
  color: powerlineConfig.enabled ? "green" : "red",
56029
56212
  children: powerlineConfig.enabled ? "✓ Enabled " : "✗ Disabled "
56030
56213
  }, undefined, false, undefined, this),
56031
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56214
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56032
56215
  dimColor: true,
56033
56216
  children: " - Press (t) to toggle"
56034
56217
  }, undefined, false, undefined, this)
56035
56218
  ]
56036
56219
  }, undefined, true, undefined, this),
56037
- powerlineConfig.enabled && /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56220
+ powerlineConfig.enabled && /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56038
56221
  flexDirection: "column",
56039
56222
  marginTop: 1,
56040
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56223
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56041
56224
  dimColor: true,
56042
56225
  children: "When enabled, global overrides are disabled and powerline separators are used"
56043
56226
  }, undefined, false, undefined, this)
56044
56227
  }, undefined, false, undefined, this),
56045
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56228
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56046
56229
  marginTop: 1,
56047
56230
  flexDirection: "column",
56048
- children: powerlineConfig.enabled ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(jsx_dev_runtime12.Fragment, {
56231
+ children: powerlineConfig.enabled ? /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(jsx_dev_runtime13.Fragment, {
56049
56232
  children: menuItems.map((item, index) => {
56050
56233
  const isSelected = index === selectedMenuItem;
56051
56234
  let displayValue = "";
@@ -56067,9 +56250,9 @@ var PowerlineSetup = ({
56067
56250
  break;
56068
56251
  }
56069
56252
  if (item.value === "back") {
56070
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56253
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56071
56254
  marginTop: 1,
56072
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56255
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56073
56256
  color: isSelected ? "green" : undefined,
56074
56257
  children: [
56075
56258
  isSelected ? "▶ " : " ",
@@ -56078,13 +56261,13 @@ var PowerlineSetup = ({
56078
56261
  }, undefined, true, undefined, this)
56079
56262
  }, item.value, false, undefined, this);
56080
56263
  }
56081
- return /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56082
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56264
+ return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56265
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56083
56266
  color: isSelected ? "green" : undefined,
56084
56267
  children: [
56085
56268
  isSelected ? "▶ " : " ",
56086
56269
  item.label.padEnd(11, " "),
56087
- /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56270
+ /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56088
56271
  dimColor: true,
56089
56272
  children: displayValue && `(${displayValue})`
56090
56273
  }, undefined, false, undefined, this)
@@ -56092,9 +56275,9 @@ var PowerlineSetup = ({
56092
56275
  }, undefined, true, undefined, this)
56093
56276
  }, item.value, false, undefined, this);
56094
56277
  })
56095
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
56278
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56096
56279
  marginTop: 1,
56097
- children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
56280
+ children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56098
56281
  dimColor: true,
56099
56282
  children: "Press ESC to go back"
56100
56283
  }, undefined, false, undefined, this)
@@ -56106,8 +56289,8 @@ var PowerlineSetup = ({
56106
56289
  }, undefined, true, undefined, this);
56107
56290
  };
56108
56291
  // src/tui/components/StatusLinePreview.tsx
56109
- var import_react41 = __toESM(require_react(), 1);
56110
- var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
56292
+ var import_react42 = __toESM(require_react(), 1);
56293
+ var jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
56111
56294
  var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, settings, lineIndex, globalSeparatorIndex) => {
56112
56295
  const context = {
56113
56296
  terminalWidth,
@@ -56118,8 +56301,8 @@ var renderSingleLine = (widgets, terminalWidth, widthDetectionAvailable, setting
56118
56301
  return renderStatusLineWithInfo(widgets, settings, context);
56119
56302
  };
56120
56303
  var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange }) => {
56121
- const widthDetectionAvailable = import_react41.default.useMemo(() => canDetectTerminalWidth(), []);
56122
- const { renderedLines, anyTruncated } = import_react41.default.useMemo(() => {
56304
+ const widthDetectionAvailable = import_react42.default.useMemo(() => canDetectTerminalWidth(), []);
56305
+ const { renderedLines, anyTruncated } = import_react42.default.useMemo(() => {
56123
56306
  if (!settings)
56124
56307
  return { renderedLines: [], anyTruncated: false };
56125
56308
  let globalSeparatorIndex = 0;
@@ -56141,29 +56324,29 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
56141
56324
  }
56142
56325
  return { renderedLines: result, anyTruncated: truncated };
56143
56326
  }, [lines, terminalWidth, widthDetectionAvailable, settings]);
56144
- import_react41.default.useEffect(() => {
56327
+ import_react42.default.useEffect(() => {
56145
56328
  onTruncationChange?.(anyTruncated);
56146
56329
  }, [anyTruncated, onTruncationChange]);
56147
- return /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56330
+ return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56148
56331
  flexDirection: "column",
56149
56332
  children: [
56150
- /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
56333
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56151
56334
  borderStyle: "round",
56152
56335
  borderColor: "gray",
56153
56336
  borderDimColor: true,
56154
56337
  width: "100%",
56155
56338
  paddingLeft: 1,
56156
- children: /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56339
+ children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56157
56340
  children: [
56158
56341
  ">",
56159
- /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56342
+ /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56160
56343
  dimColor: true,
56161
56344
  children: " Preview (ctrl+s to save configuration at any time)"
56162
56345
  }, undefined, false, undefined, this)
56163
56346
  ]
56164
56347
  }, undefined, true, undefined, this)
56165
56348
  }, undefined, false, undefined, this),
56166
- renderedLines.map((line, index) => /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Text, {
56349
+ renderedLines.map((line, index) => /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56167
56350
  children: [
56168
56351
  " ",
56169
56352
  line,
@@ -56174,12 +56357,12 @@ var StatusLinePreview = ({ lines, terminalWidth, settings, onTruncationChange })
56174
56357
  }, undefined, true, undefined, this);
56175
56358
  };
56176
56359
  // src/tui/components/TerminalOptionsMenu.tsx
56177
- var import_react42 = __toESM(require_react(), 1);
56178
- var jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
56360
+ var import_react43 = __toESM(require_react(), 1);
56361
+ var jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
56179
56362
  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);
56363
+ const [showColorWarning, setShowColorWarning] = import_react43.useState(false);
56364
+ const [pendingColorLevel, setPendingColorLevel] = import_react43.useState(null);
56365
+ const [selectedIndex, setSelectedIndex] = import_react43.useState(0);
56183
56366
  const handleSelect = () => {
56184
56367
  if (selectedIndex === 2) {
56185
56368
  onBack();
@@ -56283,27 +56466,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56283
56466
  }
56284
56467
  }
56285
56468
  });
56286
- return /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56469
+ return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56287
56470
  flexDirection: "column",
56288
56471
  children: [
56289
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56472
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56290
56473
  bold: true,
56291
56474
  children: "Terminal Options"
56292
56475
  }, undefined, false, undefined, this),
56293
- showColorWarning ? /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56476
+ showColorWarning ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56294
56477
  flexDirection: "column",
56295
56478
  marginTop: 1,
56296
56479
  children: [
56297
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56480
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56298
56481
  color: "yellow",
56299
56482
  children: "⚠ Warning: Custom colors detected!"
56300
56483
  }, undefined, false, undefined, this),
56301
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56484
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56302
56485
  children: "Switching color modes will reset custom ansi256 or hex colors to defaults."
56303
56486
  }, undefined, false, undefined, this),
56304
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56487
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56305
56488
  marginTop: 1,
56306
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(ConfirmDialog, {
56489
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(ConfirmDialog, {
56307
56490
  message: "Continue?",
56308
56491
  onConfirm: handleColorConfirm,
56309
56492
  onCancel: handleColorCancel,
@@ -56311,18 +56494,18 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56311
56494
  }, undefined, false, undefined, this)
56312
56495
  }, undefined, false, undefined, this)
56313
56496
  ]
56314
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(jsx_dev_runtime14.Fragment, {
56497
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
56315
56498
  children: [
56316
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56499
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56317
56500
  color: "white",
56318
56501
  children: "Configure terminal-specific settings for optimal display"
56319
56502
  }, undefined, false, undefined, this),
56320
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56503
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56321
56504
  marginTop: 1,
56322
56505
  flexDirection: "column",
56323
56506
  children: [
56324
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56325
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56507
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56508
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56326
56509
  color: selectedIndex === 0 ? "green" : undefined,
56327
56510
  children: [
56328
56511
  selectedIndex === 0 ? "▶ " : " ",
@@ -56330,8 +56513,8 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56330
56513
  ]
56331
56514
  }, undefined, true, undefined, this)
56332
56515
  }, undefined, false, undefined, this),
56333
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56334
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56516
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56517
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56335
56518
  color: selectedIndex === 1 ? "green" : undefined,
56336
56519
  children: [
56337
56520
  selectedIndex === 1 ? "▶ " : " ",
@@ -56341,9 +56524,9 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56341
56524
  ]
56342
56525
  }, undefined, true, undefined, this)
56343
56526
  }, undefined, false, undefined, this),
56344
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56527
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56345
56528
  marginTop: 1,
56346
- children: /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56529
+ children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56347
56530
  color: selectedIndex === 2 ? "green" : undefined,
56348
56531
  children: [
56349
56532
  selectedIndex === 2 ? "▶ " : " ",
@@ -56353,27 +56536,27 @@ var TerminalOptionsMenu = ({ settings, onUpdate, onBack }) => {
56353
56536
  }, undefined, false, undefined, this)
56354
56537
  ]
56355
56538
  }, undefined, true, undefined, this),
56356
- selectedIndex === 1 && /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Box_default, {
56539
+ selectedIndex === 1 && /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56357
56540
  marginTop: 1,
56358
56541
  flexDirection: "column",
56359
56542
  children: [
56360
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56543
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56361
56544
  dimColor: true,
56362
56545
  children: "Color level affects how colors are rendered:"
56363
56546
  }, undefined, false, undefined, this),
56364
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56547
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56365
56548
  dimColor: true,
56366
56549
  children: "• Truecolor: Full 24-bit RGB colors (16.7M colors)"
56367
56550
  }, undefined, false, undefined, this),
56368
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56551
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56369
56552
  dimColor: true,
56370
56553
  children: "• 256 Color: Extended color palette (256 colors)"
56371
56554
  }, undefined, false, undefined, this),
56372
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56555
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56373
56556
  dimColor: true,
56374
56557
  children: "• Basic: Standard 16-color terminal palette"
56375
56558
  }, undefined, false, undefined, this),
56376
- /* @__PURE__ */ jsx_dev_runtime14.jsxDEV(Text, {
56559
+ /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56377
56560
  dimColor: true,
56378
56561
  children: "• No Color: Disables all color output"
56379
56562
  }, undefined, false, undefined, this)
@@ -56400,15 +56583,15 @@ var getColorLevelLabel = (level) => {
56400
56583
  }
56401
56584
  };
56402
56585
  // src/tui/components/TerminalWidthMenu.tsx
56403
- var import_react43 = __toESM(require_react(), 1);
56404
- var jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
56586
+ var import_react44 = __toESM(require_react(), 1);
56587
+ var jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
56405
56588
  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(() => {
56589
+ const [selectedOption, setSelectedOption] = import_react44.useState(settings.flexMode);
56590
+ const [compactThreshold, setCompactThreshold] = import_react44.useState(settings.compactThreshold);
56591
+ const [editingThreshold, setEditingThreshold] = import_react44.useState(false);
56592
+ const [thresholdInput, setThresholdInput] = import_react44.useState(String(settings.compactThreshold));
56593
+ const [validationError, setValidationError] = import_react44.useState(null);
56594
+ const [selectedIndex, setSelectedIndex] = import_react44.useState(() => {
56412
56595
  const options2 = ["full", "full-minus-40", "full-until-compact"];
56413
56596
  return options2.indexOf(settings.flexMode);
56414
56597
  });
@@ -56496,27 +56679,27 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56496
56679
  }
56497
56680
  ];
56498
56681
  const currentOption = selectedIndex < 3 ? optionDetails[selectedIndex] : null;
56499
- return /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56682
+ return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56500
56683
  flexDirection: "column",
56501
56684
  children: [
56502
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56685
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56503
56686
  bold: true,
56504
56687
  children: "Terminal Width"
56505
56688
  }, undefined, false, undefined, this),
56506
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56689
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56507
56690
  color: "white",
56508
56691
  children: "These settings affect where long lines are truncated, and where right-alignment occurs when using flex separators"
56509
56692
  }, undefined, false, undefined, this),
56510
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56693
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56511
56694
  dimColor: true,
56512
56695
  wrap: "wrap",
56513
56696
  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
56697
  }, undefined, false, undefined, this),
56515
- editingThreshold ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56698
+ editingThreshold ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56516
56699
  marginTop: 1,
56517
56700
  flexDirection: "column",
56518
56701
  children: [
56519
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56702
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56520
56703
  children: [
56521
56704
  "Enter compact threshold (1-99):",
56522
56705
  " ",
@@ -56524,22 +56707,22 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56524
56707
  "%"
56525
56708
  ]
56526
56709
  }, undefined, true, undefined, this),
56527
- validationError ? /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56710
+ validationError ? /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56528
56711
  color: "red",
56529
56712
  children: validationError
56530
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56713
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56531
56714
  dimColor: true,
56532
56715
  children: "Press Enter to confirm, ESC to cancel"
56533
56716
  }, undefined, false, undefined, this)
56534
56717
  ]
56535
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(jsx_dev_runtime15.Fragment, {
56718
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(jsx_dev_runtime16.Fragment, {
56536
56719
  children: [
56537
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56720
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56538
56721
  marginTop: 1,
56539
56722
  flexDirection: "column",
56540
56723
  children: [
56541
- optionDetails.map((opt, index) => /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56542
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56724
+ optionDetails.map((opt, index) => /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56725
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56543
56726
  color: selectedIndex === index ? "green" : undefined,
56544
56727
  children: [
56545
56728
  selectedIndex === index ? "▶ " : " ",
@@ -56548,9 +56731,9 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56548
56731
  ]
56549
56732
  }, undefined, true, undefined, this)
56550
56733
  }, opt.value, false, undefined, this)),
56551
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56734
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56552
56735
  marginTop: 1,
56553
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56736
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56554
56737
  color: selectedIndex === 3 ? "green" : undefined,
56555
56738
  children: [
56556
56739
  selectedIndex === 3 ? "▶ " : " ",
@@ -56560,25 +56743,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56560
56743
  }, undefined, false, undefined, this)
56561
56744
  ]
56562
56745
  }, undefined, true, undefined, this),
56563
- currentOption && /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56746
+ currentOption && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56564
56747
  marginTop: 1,
56565
56748
  marginBottom: 1,
56566
56749
  borderStyle: "round",
56567
56750
  borderColor: "dim",
56568
56751
  paddingX: 1,
56569
- children: /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
56752
+ children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56570
56753
  flexDirection: "column",
56571
56754
  children: [
56572
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56755
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56573
56756
  children: [
56574
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56757
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56575
56758
  color: "yellow",
56576
56759
  children: currentOption.label
56577
56760
  }, undefined, false, undefined, this),
56578
56761
  currentOption.value === "full-until-compact" && ` | Current threshold: ${compactThreshold}%`
56579
56762
  ]
56580
56763
  }, undefined, true, undefined, this),
56581
- /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Text, {
56764
+ /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56582
56765
  dimColor: true,
56583
56766
  wrap: "wrap",
56584
56767
  children: currentOption.description
@@ -56592,25 +56775,25 @@ NOTE: If /ide integration is enabled, it's not recommended to use this mode.`
56592
56775
  }, undefined, true, undefined, this);
56593
56776
  };
56594
56777
  // src/tui/App.tsx
56595
- var jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
56778
+ var jsx_dev_runtime17 = __toESM(require_jsx_dev_runtime(), 1);
56596
56779
  var App2 = () => {
56597
56780
  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(() => {
56781
+ const [settings, setSettings] = import_react45.useState(null);
56782
+ const [originalSettings, setOriginalSettings] = import_react45.useState(null);
56783
+ const [hasChanges, setHasChanges] = import_react45.useState(false);
56784
+ const [screen, setScreen] = import_react45.useState("main");
56785
+ const [selectedLine, setSelectedLine] = import_react45.useState(0);
56786
+ const [menuSelections, setMenuSelections] = import_react45.useState({});
56787
+ const [confirmDialog, setConfirmDialog] = import_react45.useState(null);
56788
+ const [isClaudeInstalled, setIsClaudeInstalled] = import_react45.useState(false);
56789
+ const [terminalWidth, setTerminalWidth] = import_react45.useState(process.stdout.columns || 80);
56790
+ const [powerlineFontStatus, setPowerlineFontStatus] = import_react45.useState({ installed: false });
56791
+ const [installingFonts, setInstallingFonts] = import_react45.useState(false);
56792
+ const [fontInstallMessage, setFontInstallMessage] = import_react45.useState(null);
56793
+ const [existingStatusLine, setExistingStatusLine] = import_react45.useState(null);
56794
+ const [saveMessage, setSaveMessage] = import_react45.useState(null);
56795
+ const [previewIsTruncated, setPreviewIsTruncated] = import_react45.useState(false);
56796
+ import_react45.useEffect(() => {
56614
56797
  getExistingStatusLine().then(setExistingStatusLine);
56615
56798
  loadSettings().then((loadedSettings) => {
56616
56799
  source_default.level = loadedSettings.colorLevel;
@@ -56634,13 +56817,13 @@ var App2 = () => {
56634
56817
  process.stdout.off("resize", handleResize);
56635
56818
  };
56636
56819
  }, []);
56637
- import_react44.useEffect(() => {
56820
+ import_react45.useEffect(() => {
56638
56821
  if (originalSettings) {
56639
56822
  const hasAnyChanges = JSON.stringify(settings) !== JSON.stringify(originalSettings);
56640
56823
  setHasChanges(hasAnyChanges);
56641
56824
  }
56642
56825
  }, [settings, originalSettings]);
56643
- import_react44.useEffect(() => {
56826
+ import_react45.useEffect(() => {
56644
56827
  if (saveMessage) {
56645
56828
  const timer = setTimeout(() => {
56646
56829
  setSaveMessage(null);
@@ -56664,7 +56847,7 @@ var App2 = () => {
56664
56847
  }
56665
56848
  });
56666
56849
  if (!settings) {
56667
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56850
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56668
56851
  children: "Loading settings..."
56669
56852
  }, undefined, false, undefined, this);
56670
56853
  }
@@ -56725,41 +56908,40 @@ var App2 = () => {
56725
56908
  setSelectedLine(lineIndex);
56726
56909
  setScreen("items");
56727
56910
  };
56728
- return /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56911
+ return /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56729
56912
  flexDirection: "column",
56730
- padding: 1,
56731
56913
  children: [
56732
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56914
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56733
56915
  marginBottom: 1,
56734
56916
  children: [
56735
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56917
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56736
56918
  bold: true,
56737
- children: /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(dist_default4, {
56919
+ children: /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(dist_default4, {
56738
56920
  name: "retro",
56739
56921
  children: "CCStatusline Configuration"
56740
56922
  }, undefined, false, undefined, this)
56741
56923
  }, undefined, false, undefined, this),
56742
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56924
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56743
56925
  bold: true,
56744
56926
  children: ` | ${getPackageVersion() && `v${getPackageVersion()}`}`
56745
56927
  }, undefined, false, undefined, this),
56746
- saveMessage && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Text, {
56928
+ saveMessage && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Text, {
56747
56929
  color: "green",
56748
56930
  bold: true,
56749
56931
  children: ` ${saveMessage}`
56750
56932
  }, undefined, false, undefined, this)
56751
56933
  ]
56752
56934
  }, undefined, true, undefined, this),
56753
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(StatusLinePreview, {
56935
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(StatusLinePreview, {
56754
56936
  lines: settings.lines,
56755
56937
  terminalWidth,
56756
56938
  settings,
56757
56939
  onTruncationChange: setPreviewIsTruncated
56758
56940
  }, undefined, false, undefined, this),
56759
- /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(Box_default, {
56941
+ /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
56760
56942
  marginTop: 1,
56761
56943
  children: [
56762
- screen === "main" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(MainMenu, {
56944
+ screen === "main" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(MainMenu, {
56763
56945
  onSelect: (value) => {
56764
56946
  if (value !== "save" && value !== "exit") {
56765
56947
  const menuMap = {
@@ -56781,7 +56963,7 @@ var App2 = () => {
56781
56963
  settings,
56782
56964
  previewIsTruncated
56783
56965
  }, undefined, false, undefined, this),
56784
- screen === "lines" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(LineSelector, {
56966
+ screen === "lines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
56785
56967
  lines: settings.lines,
56786
56968
  onSelect: (line) => {
56787
56969
  setMenuSelections({ ...menuSelections, lines: line });
@@ -56794,7 +56976,7 @@ var App2 = () => {
56794
56976
  initialSelection: menuSelections.lines,
56795
56977
  title: "Select Line to Edit Items"
56796
56978
  }, undefined, false, undefined, this),
56797
- screen === "items" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ItemsEditor, {
56979
+ screen === "items" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ItemsEditor, {
56798
56980
  widgets: settings.lines[selectedLine] ?? [],
56799
56981
  onUpdate: (widgets) => {
56800
56982
  updateLine(selectedLine, widgets);
@@ -56806,7 +56988,7 @@ var App2 = () => {
56806
56988
  lineNumber: selectedLine + 1,
56807
56989
  settings
56808
56990
  }, undefined, false, undefined, this),
56809
- screen === "colorLines" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(LineSelector, {
56991
+ screen === "colorLines" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(LineSelector, {
56810
56992
  lines: settings.lines,
56811
56993
  onSelect: (line) => {
56812
56994
  setMenuSelections({ ...menuSelections, lines: line });
@@ -56822,7 +57004,7 @@ var App2 = () => {
56822
57004
  blockIfPowerlineActive: true,
56823
57005
  settings
56824
57006
  }, undefined, false, undefined, this),
56825
- screen === "colors" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ColorMenu, {
57007
+ screen === "colors" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ColorMenu, {
56826
57008
  widgets: settings.lines[selectedLine] ?? [],
56827
57009
  lineIndex: selectedLine,
56828
57010
  settings,
@@ -56835,7 +57017,7 @@ var App2 = () => {
56835
57017
  setScreen("colorLines");
56836
57018
  }
56837
57019
  }, undefined, false, undefined, this),
56838
- screen === "terminalConfig" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(TerminalOptionsMenu, {
57020
+ screen === "terminalConfig" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalOptionsMenu, {
56839
57021
  settings,
56840
57022
  onUpdate: (updatedSettings) => {
56841
57023
  setSettings(updatedSettings);
@@ -56849,7 +57031,7 @@ var App2 = () => {
56849
57031
  }
56850
57032
  }
56851
57033
  }, undefined, false, undefined, this),
56852
- screen === "terminalWidth" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(TerminalWidthMenu, {
57034
+ screen === "terminalWidth" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(TerminalWidthMenu, {
56853
57035
  settings,
56854
57036
  onUpdate: (updatedSettings) => {
56855
57037
  setSettings(updatedSettings);
@@ -56858,7 +57040,7 @@ var App2 = () => {
56858
57040
  setScreen("terminalConfig");
56859
57041
  }
56860
57042
  }, undefined, false, undefined, this),
56861
- screen === "globalOverrides" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(GlobalOverridesMenu, {
57043
+ screen === "globalOverrides" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(GlobalOverridesMenu, {
56862
57044
  settings,
56863
57045
  onUpdate: (updatedSettings) => {
56864
57046
  setSettings(updatedSettings);
@@ -56868,7 +57050,7 @@ var App2 = () => {
56868
57050
  setScreen("main");
56869
57051
  }
56870
57052
  }, undefined, false, undefined, this),
56871
- screen === "confirm" && confirmDialog && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(ConfirmDialog, {
57053
+ screen === "confirm" && confirmDialog && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(ConfirmDialog, {
56872
57054
  message: confirmDialog.message,
56873
57055
  onConfirm: () => void confirmDialog.action(),
56874
57056
  onCancel: () => {
@@ -56876,7 +57058,7 @@ var App2 = () => {
56876
57058
  setConfirmDialog(null);
56877
57059
  }
56878
57060
  }, undefined, false, undefined, this),
56879
- screen === "install" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(InstallMenu, {
57061
+ screen === "install" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(InstallMenu, {
56880
57062
  bunxAvailable: isBunxAvailable(),
56881
57063
  existingStatusLine,
56882
57064
  onSelectNpx: () => {
@@ -56941,7 +57123,7 @@ Continue?`;
56941
57123
  setScreen("main");
56942
57124
  }
56943
57125
  }, undefined, false, undefined, this),
56944
- screen === "powerline" && /* @__PURE__ */ jsx_dev_runtime16.jsxDEV(PowerlineSetup, {
57126
+ screen === "powerline" && /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(PowerlineSetup, {
56945
57127
  settings,
56946
57128
  powerlineFontStatus,
56947
57129
  onUpdate: (updatedSettings) => {
@@ -56975,7 +57157,7 @@ Continue?`;
56975
57157
  };
56976
57158
  function runTUI() {
56977
57159
  process.stdout.write("\x1B[2J\x1B[H");
56978
- render_default(/* @__PURE__ */ jsx_dev_runtime16.jsxDEV(App2, {}, undefined, false, undefined, this));
57160
+ render_default(/* @__PURE__ */ jsx_dev_runtime17.jsxDEV(App2, {}, undefined, false, undefined, this));
56979
57161
  }
56980
57162
  // src/types/StatusJSON.ts
56981
57163
  var StatusJSONSchema = exports_external.looseObject({
@@ -56992,7 +57174,14 @@ var StatusJSONSchema = exports_external.looseObject({
56992
57174
  project_dir: exports_external.string().optional()
56993
57175
  }).optional(),
56994
57176
  version: exports_external.string().optional(),
56995
- output_style: exports_external.object({ name: exports_external.string().optional() }).optional()
57177
+ output_style: exports_external.object({ name: exports_external.string().optional() }).optional(),
57178
+ cost: exports_external.object({
57179
+ total_cost_usd: exports_external.number().optional(),
57180
+ total_duration_ms: exports_external.number().optional(),
57181
+ total_api_duration_ms: exports_external.number().optional(),
57182
+ total_lines_added: exports_external.number().optional(),
57183
+ total_lines_removed: exports_external.number().optional()
57184
+ }).optional()
56996
57185
  });
56997
57186
 
56998
57187
  // src/utils/jsonl.ts