@outfitter/cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/box/index.js +4 -4
  2. package/dist/cli.d.ts +33 -2
  3. package/dist/colors/index.d.ts +1 -1
  4. package/dist/colors/index.js +2 -2
  5. package/dist/command.d.ts +6 -3
  6. package/dist/command.js +22 -2
  7. package/dist/demo/index.d.ts +5 -5
  8. package/dist/demo/index.js +21 -21
  9. package/dist/demo/registry.d.ts +3 -3
  10. package/dist/demo/registry.js +1 -1
  11. package/dist/demo/renderers/borders.d.ts +2 -2
  12. package/dist/demo/renderers/borders.js +8 -8
  13. package/dist/demo/renderers/box.d.ts +2 -2
  14. package/dist/demo/renderers/box.js +8 -8
  15. package/dist/demo/renderers/colors.d.ts +2 -2
  16. package/dist/demo/renderers/colors.js +8 -8
  17. package/dist/demo/renderers/indicators.d.ts +2 -2
  18. package/dist/demo/renderers/indicators.js +8 -8
  19. package/dist/demo/renderers/list.d.ts +2 -2
  20. package/dist/demo/renderers/list.js +8 -8
  21. package/dist/demo/renderers/markdown.d.ts +2 -2
  22. package/dist/demo/renderers/markdown.js +8 -8
  23. package/dist/demo/renderers/progress.d.ts +2 -2
  24. package/dist/demo/renderers/progress.js +7 -7
  25. package/dist/demo/renderers/spinner.d.ts +2 -2
  26. package/dist/demo/renderers/spinner.js +8 -8
  27. package/dist/demo/renderers/table.d.ts +2 -2
  28. package/dist/demo/renderers/table.js +9 -9
  29. package/dist/demo/renderers/text.d.ts +2 -2
  30. package/dist/demo/renderers/text.js +7 -7
  31. package/dist/demo/renderers/tree.d.ts +2 -2
  32. package/dist/demo/renderers/tree.js +7 -7
  33. package/dist/demo/section.d.ts +2 -2
  34. package/dist/demo/section.js +6 -6
  35. package/dist/demo/templates.d.ts +3 -3
  36. package/dist/demo/types.d.ts +2 -2
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +3 -3
  39. package/dist/output.js +1 -1
  40. package/dist/preset/full.d.ts +1 -1
  41. package/dist/preset/full.js +6 -6
  42. package/dist/preset/standard.d.ts +1 -1
  43. package/dist/preset/standard.js +6 -6
  44. package/dist/prompt/confirm.d.ts +2 -2
  45. package/dist/prompt/group.d.ts +2 -2
  46. package/dist/prompt/index.d.ts +5 -5
  47. package/dist/prompt/index.js +1 -1
  48. package/dist/prompt/select.d.ts +2 -2
  49. package/dist/prompt/select.js +1 -1
  50. package/dist/prompt/text.d.ts +2 -2
  51. package/dist/prompt/types.d.ts +1 -1
  52. package/dist/render/box.js +3 -3
  53. package/dist/render/colors.d.ts +1 -1
  54. package/dist/render/colors.js +1 -1
  55. package/dist/render/heading.js +5 -5
  56. package/dist/render/index.d.ts +10 -10
  57. package/dist/render/index.js +18 -18
  58. package/dist/render/indicators.d.ts +2 -2
  59. package/dist/render/indicators.js +3 -1
  60. package/dist/render/layout.js +4 -4
  61. package/dist/render/markdown.js +2 -2
  62. package/dist/render/separator.js +5 -5
  63. package/dist/render/shapes.js +5 -5
  64. package/dist/render/stack.js +6 -6
  65. package/dist/render/table.js +3 -3
  66. package/dist/render/text.js +2 -2
  67. package/dist/shared/@outfitter/{cli-f75h8e94.js → cli-0djg8q91.js} +1 -1
  68. package/dist/shared/@outfitter/{cli-y25tt8nc.d.ts → cli-0w242qtv.d.ts} +1 -1
  69. package/dist/shared/@outfitter/{cli-sx67mmfx.d.ts → cli-1g8tt31a.d.ts} +22 -1
  70. package/dist/shared/@outfitter/{cli-j4n8gaf3.js → cli-1sb3xvnw.js} +1 -1
  71. package/dist/shared/@outfitter/{cli-jhcdwvpn.js → cli-1vy0vtga.js} +2 -2
  72. package/dist/shared/@outfitter/{cli-xvqtqjxk.js → cli-3hk2xf3c.js} +1 -1
  73. package/dist/shared/@outfitter/{cli-0psys2vm.js → cli-47yw5h6a.js} +1 -1
  74. package/dist/shared/@outfitter/{cli-tqewy503.d.ts → cli-4b6tbp68.d.ts} +1 -1
  75. package/dist/shared/@outfitter/{cli-qp4cbhqr.js → cli-4fcz51qa.js} +2 -2
  76. package/dist/shared/@outfitter/{cli-6m988kh0.d.ts → cli-4zk2y4a2.d.ts} +1 -1
  77. package/dist/shared/@outfitter/{cli-9nbyj2bt.js → cli-5g6rkv3d.js} +7 -3
  78. package/dist/shared/@outfitter/{cli-p9j1phge.js → cli-60b5xh1r.js} +1 -1
  79. package/dist/shared/@outfitter/{cli-e73v3qqy.d.ts → cli-6hg0sg2d.d.ts} +1 -1
  80. package/dist/shared/@outfitter/{cli-pkxmzavm.js → cli-6r3m2knf.js} +2 -2
  81. package/dist/shared/@outfitter/{cli-p1m5dhrs.js → cli-6ty1nvws.js} +11 -1
  82. package/dist/shared/@outfitter/{cli-8a8xrzhy.js → cli-7n610r63.js} +1 -1
  83. package/dist/shared/@outfitter/{cli-7nm6edvh.d.ts → cli-83jwvj1t.d.ts} +1 -1
  84. package/dist/shared/@outfitter/{cli-zact3325.js → cli-8gg0hck1.js} +15 -2
  85. package/dist/shared/@outfitter/{cli-s0kkx9m1.d.ts → cli-8hngbjyr.d.ts} +1 -1
  86. package/dist/shared/@outfitter/{cli-w5y3xepp.js → cli-914d47mt.js} +1 -1
  87. package/dist/shared/@outfitter/{cli-3f12z5kf.d.ts → cli-9bcm4zhf.d.ts} +4 -0
  88. package/dist/shared/@outfitter/{cli-671sxkhj.js → cli-aem6v4c8.js} +1 -1
  89. package/dist/shared/@outfitter/{cli-96b2p4td.d.ts → cli-bv09nme3.d.ts} +2 -2
  90. package/dist/shared/@outfitter/{cli-qjfc3j11.d.ts → cli-c6pbxpw0.d.ts} +1 -1
  91. package/dist/shared/@outfitter/{cli-an9j0h80.js → cli-c8fqdaes.js} +1 -1
  92. package/dist/shared/@outfitter/{cli-7gnrb8cr.js → cli-cwgj6mcs.js} +3 -3
  93. package/dist/shared/@outfitter/{cli-kc84wmch.js → cli-d8ahdd9d.js} +5 -0
  94. package/dist/shared/@outfitter/{cli-swwxvjvm.d.ts → cli-dbyteh27.d.ts} +1 -1
  95. package/dist/shared/@outfitter/{cli-feb5j90n.js → cli-f6fsaayd.js} +3 -3
  96. package/dist/shared/@outfitter/{cli-ay411nbr.js → cli-ffa0jwb7.js} +1 -1
  97. package/dist/shared/@outfitter/{cli-ep2cvtk8.js → cli-h3jz0bxz.js} +1 -1
  98. package/dist/shared/@outfitter/{cli-9mtjjykw.js → cli-h4wpzb3f.js} +2 -2
  99. package/dist/shared/@outfitter/{cli-thvzhjd1.js → cli-hda6mc28.js} +2 -2
  100. package/dist/shared/@outfitter/{cli-vp88gxev.js → cli-jp0k3qd9.js} +1 -1
  101. package/dist/shared/@outfitter/{cli-nvvc92c8.js → cli-k76e7173.js} +2 -2
  102. package/dist/shared/@outfitter/{cli-4w2a1rfy.d.ts → cli-kc3ffp1v.d.ts} +1 -1
  103. package/dist/shared/@outfitter/{cli-d7jpshq5.d.ts → cli-kk5hnndk.d.ts} +1 -1
  104. package/dist/shared/@outfitter/{cli-jjemfdta.js → cli-mwxsh3sr.js} +1 -1
  105. package/dist/shared/@outfitter/{cli-p38sfxyk.js → cli-n0c33vba.js} +1 -1
  106. package/dist/shared/@outfitter/{cli-afhjqmg3.js → cli-ndem6tz8.js} +1 -1
  107. package/dist/shared/@outfitter/{cli-q8r6jarq.d.ts → cli-nj4nqy1h.d.ts} +1 -1
  108. package/dist/shared/@outfitter/{cli-daw296mv.js → cli-nkns8p4r.js} +1 -1
  109. package/dist/shared/@outfitter/{cli-6j9qynm8.js → cli-pndwprz8.js} +2 -2
  110. package/dist/shared/@outfitter/{cli-1bghjef6.js → cli-pvrwv6rb.js} +4 -4
  111. package/dist/shared/@outfitter/{cli-3dxmmy4c.d.ts → cli-py02m79x.d.ts} +1 -1
  112. package/dist/shared/@outfitter/{cli-mymyavvj.d.ts → cli-regjbef6.d.ts} +1 -1
  113. package/dist/shared/@outfitter/{cli-3t2zaenc.d.ts → cli-s1tx5kha.d.ts} +1 -1
  114. package/dist/shared/@outfitter/{cli-34fqr7bp.js → cli-sam2sq50.js} +2 -2
  115. package/dist/shared/@outfitter/{cli-0ggcy7fa.js → cli-symyxb0z.js} +1 -1
  116. package/dist/shared/@outfitter/{cli-8rx4g3s5.d.ts → cli-vfcrskfj.d.ts} +1 -1
  117. package/dist/shared/@outfitter/{cli-tarpsa8a.js → cli-y7k1t81k.js} +1 -1
  118. package/dist/shared/@outfitter/{cli-bf3vma4q.js → cli-yfyzy95c.js} +6 -0
  119. package/dist/shared/@outfitter/{cli-xsaheemc.d.ts → cli-ykxn7rb2.d.ts} +5 -0
  120. package/dist/shared/@outfitter/{cli-cs45xd6q.js → cli-z78mkrc7.js} +1 -1
  121. package/dist/shared/@outfitter/{cli-74ba31gz.js → cli-znc47004.js} +3 -3
  122. package/dist/streaming/index.js +2 -2
  123. package/dist/streaming/spinner.js +2 -2
  124. package/dist/table/index.js +3 -3
  125. package/dist/theme/context.d.ts +3 -3
  126. package/dist/theme/context.js +3 -3
  127. package/dist/theme/create.d.ts +3 -3
  128. package/dist/theme/create.js +3 -3
  129. package/dist/theme/index.d.ts +9 -9
  130. package/dist/theme/index.js +9 -9
  131. package/dist/theme/presets/bold.d.ts +3 -3
  132. package/dist/theme/presets/bold.js +3 -3
  133. package/dist/theme/presets/default.d.ts +3 -3
  134. package/dist/theme/presets/default.js +2 -2
  135. package/dist/theme/presets/index.d.ts +6 -6
  136. package/dist/theme/presets/index.js +5 -5
  137. package/dist/theme/presets/minimal.d.ts +3 -3
  138. package/dist/theme/presets/minimal.js +3 -3
  139. package/dist/theme/presets/rounded.d.ts +3 -3
  140. package/dist/theme/presets/rounded.js +3 -3
  141. package/dist/theme/resolve.d.ts +3 -3
  142. package/dist/theme/resolve.js +2 -2
  143. package/dist/theme/types.d.ts +2 -2
  144. package/package.json +4 -4
  145. package/dist/shared/@outfitter/cli-mhamvbty.d.ts +0 -34
@@ -9,8 +9,8 @@ import {
9
9
  stripAnsi,
10
10
  truncateText,
11
11
  wrapText
12
- } from "../shared/@outfitter/cli-jjemfdta.js";
13
- import"../shared/@outfitter/cli-9nbyj2bt.js";
12
+ } from "../shared/@outfitter/cli-mwxsh3sr.js";
13
+ import"../shared/@outfitter/cli-5g6rkv3d.js";
14
14
  import"../shared/@outfitter/cli-d9ad0rqj.js";
15
15
  import"../shared/@outfitter/cli-v1tzwxkt.js";
16
16
  init_text();
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  init_box
4
- } from "./cli-vp88gxev.js";
4
+ } from "./cli-jp0k3qd9.js";
5
5
 
6
6
  // packages/cli/src/box/index.ts
7
7
  init_box();
@@ -1,4 +1,4 @@
1
- import { MultiSelectPromptOptions, PromptResult, SelectPromptOptions } from "./cli-3f12z5kf";
1
+ import { MultiSelectPromptOptions, PromptResult, SelectPromptOptions } from "./cli-9bcm4zhf";
2
2
  /**
3
3
  * Prompts for single selection with Result wrapping.
4
4
  *
@@ -95,4 +95,25 @@ type ProgressStyle = "circle" | "vertical" | "horizontal" | "shade";
95
95
  * ```
96
96
  */
97
97
  declare function getProgressIndicator(style: ProgressStyle, current: number, max: number, forceUnicode?: boolean): string;
98
- export { IndicatorCategory, IndicatorSet, INDICATORS, isUnicodeSupported, getIndicator, ProgressStyle, getProgressIndicator };
98
+ /**
99
+ * Severity levels for escalating indicators.
100
+ *
101
+ * Uses the diamond family: ◇ (minor) → ◆ (moderate) → ◈ (severe)
102
+ */
103
+ type SeverityLevel = "minor" | "moderate" | "severe";
104
+ /**
105
+ * Gets a severity indicator for the given level.
106
+ *
107
+ * @param level - The severity level
108
+ * @param forceUnicode - Override unicode detection
109
+ * @returns The appropriate severity indicator character
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * getSeverityIndicator("minor"); // "◇"
114
+ * getSeverityIndicator("moderate"); // "◆"
115
+ * getSeverityIndicator("severe"); // "◈"
116
+ * ```
117
+ */
118
+ declare function getSeverityIndicator(level: SeverityLevel, forceUnicode?: boolean): string;
119
+ export { IndicatorCategory, IndicatorSet, INDICATORS, isUnicodeSupported, getIndicator, ProgressStyle, getProgressIndicator, SeverityLevel, getSeverityIndicator };
@@ -4,7 +4,7 @@ import {
4
4
  } from "./cli-p3dqm1vd.js";
5
5
  import {
6
6
  getIndicator
7
- } from "./cli-p1m5dhrs.js";
7
+ } from "./cli-6ty1nvws.js";
8
8
 
9
9
  // packages/cli/src/streaming/spinner.ts
10
10
  var SPINNER_FRAMES = {
@@ -11,10 +11,10 @@ import {
11
11
  } from "./cli-xg5y5fhk.js";
12
12
  import {
13
13
  renderTable
14
- } from "./cli-an9j0h80.js";
14
+ } from "./cli-c8fqdaes.js";
15
15
  import {
16
16
  renderMarkdown
17
- } from "./cli-afhjqmg3.js";
17
+ } from "./cli-ndem6tz8.js";
18
18
 
19
19
  // packages/cli/src/render/shapes.ts
20
20
  function isCollection(shape) {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  getTerminalWidth
4
- } from "./cli-671sxkhj.js";
4
+ } from "./cli-aem6v4c8.js";
5
5
 
6
6
  // packages/cli/src/render/heading.ts
7
7
  var ANSI_PATTERN = /\x1b\[[0-9;]*m/g;
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  init_colors
4
- } from "./cli-9nbyj2bt.js";
4
+ } from "./cli-5g6rkv3d.js";
5
5
 
6
6
  // packages/cli/src/colors/index.ts
7
7
  init_colors();
@@ -1,4 +1,4 @@
1
- import { CancelledError, PromptResult } from "./cli-3f12z5kf";
1
+ import { CancelledError, PromptResult } from "./cli-9bcm4zhf";
2
2
  import { Result } from "better-result";
3
3
  /**
4
4
  * A step in a prompt group.
@@ -1,13 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  renderMarkdown
4
- } from "./cli-afhjqmg3.js";
4
+ } from "./cli-ndem6tz8.js";
5
5
  import {
6
6
  getExample
7
7
  } from "./cli-xep6v2c0.js";
8
8
  import {
9
9
  demoSection
10
- } from "./cli-34fqr7bp.js";
10
+ } from "./cli-sam2sq50.js";
11
11
 
12
12
  // packages/cli/src/demo/renderers/markdown.ts
13
13
  function renderMarkdownDemo(config, theme) {
@@ -1,4 +1,4 @@
1
- import { PartialVisualTheme, VisualTheme } from "./cli-s0kkx9m1";
1
+ import { PartialVisualTheme, VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Options for creating a visual theme.
4
4
  */
@@ -33,7 +33,8 @@ function createTheme() {
33
33
  bold: colorFn(ANSI.bold),
34
34
  italic: colorFn(ANSI.italic),
35
35
  underline: colorFn(ANSI.underline),
36
- dim: colorFn(ANSI.dim)
36
+ dim: colorFn(ANSI.dim),
37
+ inverse: colorFn(ANSI.inverse)
37
38
  };
38
39
  }
39
40
  function resolveTokenColorEnabled(options) {
@@ -71,7 +72,8 @@ function createTokens(options) {
71
72
  bold: "",
72
73
  italic: "",
73
74
  underline: "",
74
- dim: ""
75
+ dim: "",
76
+ inverse: ""
75
77
  };
76
78
  }
77
79
  return {
@@ -90,7 +92,8 @@ function createTokens(options) {
90
92
  bold: ANSI.bold,
91
93
  italic: ANSI.italic,
92
94
  underline: ANSI.underline,
93
- dim: ANSI.dim
95
+ dim: ANSI.dim,
96
+ inverse: ANSI.inverse
94
97
  };
95
98
  }
96
99
  function applyColor(text, color) {
@@ -109,6 +112,7 @@ var init_colors = __esm(() => {
109
112
  dim: "\x1B[2m",
110
113
  italic: "\x1B[3m",
111
114
  underline: "\x1B[4m",
115
+ inverse: "\x1B[7m",
112
116
  green: "\x1B[32m",
113
117
  yellow: "\x1B[33m",
114
118
  red: "\x1B[31m",
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  defaultTheme
4
- } from "./cli-cs45xd6q.js";
4
+ } from "./cli-z78mkrc7.js";
5
5
 
6
6
  // packages/cli/src/theme/context.ts
7
7
  function createThemedContext(options) {
@@ -1,4 +1,4 @@
1
- import { VisualTheme } from "./cli-s0kkx9m1";
1
+ import { VisualTheme } from "./cli-8hngbjyr";
2
2
  import { LayoutContext } from "./cli-2g8bx1aq";
3
3
  /**
4
4
  * Layout context extended with theme information.
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  BORDER_STYLE_META,
4
4
  getBorderStyles
5
- } from "./cli-kc84wmch.js";
5
+ } from "./cli-d8ahdd9d.js";
6
6
  import {
7
7
  demoSection
8
- } from "./cli-34fqr7bp.js";
8
+ } from "./cli-sam2sq50.js";
9
9
  import {
10
10
  BORDERS,
11
11
  drawHorizontalLine,
@@ -20,6 +20,7 @@ var INDICATORS = {
20
20
  squareSmallOutline: { unicode: "\u25FB", fallback: "[ ]" },
21
21
  lozenge: { unicode: "\u25C6", fallback: "\u2666" },
22
22
  lozengeOutline: { unicode: "\u25C7", fallback: "\u25CA" },
23
+ lozengeDot: { unicode: "\u25C8", fallback: "\u2666\u2666" },
23
24
  dash: { unicode: "\u2013", fallback: "-" },
24
25
  pointer: { unicode: "\u276F", fallback: ">" },
25
26
  pointerSmall: { unicode: "\u203A", fallback: ">" },
@@ -165,5 +166,14 @@ function getProgressIndicator(style, current, max, forceUnicode) {
165
166
  }
166
167
  return getIndicator("progress", name, forceUnicode);
167
168
  }
169
+ var SEVERITY_MARKERS = {
170
+ minor: "lozengeOutline",
171
+ moderate: "lozenge",
172
+ severe: "lozengeDot"
173
+ };
174
+ function getSeverityIndicator(level, forceUnicode) {
175
+ const name = SEVERITY_MARKERS[level];
176
+ return getIndicator("marker", name, forceUnicode);
177
+ }
168
178
 
169
- export { INDICATORS, isUnicodeSupported, getIndicator, getProgressIndicator };
179
+ export { INDICATORS, isUnicodeSupported, getIndicator, getProgressIndicator, getSeverityIndicator };
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  defaultTheme
4
- } from "./cli-cs45xd6q.js";
4
+ } from "./cli-z78mkrc7.js";
5
5
  import {
6
6
  BORDERS,
7
7
  init_borders
@@ -1,4 +1,4 @@
1
- import { ExampleTexts } from "./cli-qjfc3j11";
1
+ import { ExampleTexts } from "./cli-c6pbxpw0";
2
2
  /**
3
3
  * Default example texts used when no custom examples are provided.
4
4
  *
@@ -19,6 +19,14 @@ function writeWithBackpressure(stream, data) {
19
19
  }
20
20
  });
21
21
  }
22
+ function getStreamIsTTY(stream) {
23
+ if (!stream)
24
+ return;
25
+ if ("isTTY" in stream) {
26
+ return Boolean(stream.isTTY);
27
+ }
28
+ return;
29
+ }
22
30
  function detectMode(options) {
23
31
  if (options?.mode) {
24
32
  return options.mode;
@@ -31,7 +39,9 @@ function detectMode(options) {
31
39
  return "json";
32
40
  if (envJsonl === "0" || envJson === "0")
33
41
  return "human";
34
- return process.stdout.isTTY ? "human" : "json";
42
+ const streamIsTTY = getStreamIsTTY(options?.stream);
43
+ const isTTY = streamIsTTY ?? process.stdout.isTTY;
44
+ return isTTY ? "human" : "json";
35
45
  }
36
46
  function isValidCategory(category) {
37
47
  return category in exitCodeMap;
@@ -137,7 +147,10 @@ async function output(data, options) {
137
147
  }
138
148
  function exitWithError(error, options) {
139
149
  const exitCode = getExitCode(error);
140
- const mode = detectMode(options);
150
+ const mode = detectMode({
151
+ ...options,
152
+ stream: options?.stream ?? process.stderr
153
+ });
141
154
  const isJsonMode = mode === "json" || mode === "jsonl";
142
155
  if (isJsonMode) {
143
156
  process.stderr.write(`${serializeErrorToJson(error)}
@@ -1,4 +1,4 @@
1
- import { IndicatorCategory } from "./cli-sx67mmfx";
1
+ import { IndicatorCategory } from "./cli-1g8tt31a";
2
2
  import { DelimiterName } from "./cli-hnpbqmc8";
3
3
  import { TreeGuideStyle } from "./cli-3b7ed3rm";
4
4
  import { SpinnerStyle } from "./cli-e5ms1y0x";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  defaultTheme
4
- } from "./cli-cs45xd6q.js";
4
+ } from "./cli-z78mkrc7.js";
5
5
  import {
6
6
  BORDERS,
7
7
  init_borders
@@ -49,6 +49,8 @@ interface SelectPromptOptions<T> {
49
49
  }>;
50
50
  /** Initial selected index */
51
51
  initialValue?: T;
52
+ /** Maximum number of items to display at once */
53
+ pageSize?: number;
52
54
  }
53
55
  /**
54
56
  * Options for multi-select prompts.
@@ -66,6 +68,8 @@ interface MultiSelectPromptOptions<T> {
66
68
  initialValues?: T[];
67
69
  /** Require at least one selection */
68
70
  required?: boolean;
71
+ /** Maximum number of items to display at once */
72
+ pageSize?: number;
69
73
  }
70
74
  /**
71
75
  * Options for confirm prompts.
@@ -3,7 +3,7 @@ import {
3
3
  init_box,
4
4
  normalizeBorders,
5
5
  normalizePadding
6
- } from "./cli-vp88gxev.js";
6
+ } from "./cli-jp0k3qd9.js";
7
7
 
8
8
  // packages/cli/src/render/layout.ts
9
9
  init_box();
@@ -1,8 +1,8 @@
1
1
  import { SpinnerStyle } from "./cli-e5ms1y0x";
2
2
  import { ListStyle } from "./cli-b0tzqgnf";
3
3
  import { BorderStyle } from "./cli-fakncnjp";
4
- import { PrimitiveId, PrimitiveMeta, ThemeMethodMeta, VariantMeta } from "./cli-qjfc3j11";
5
- import { Theme } from "./cli-xsaheemc";
4
+ import { PrimitiveId, PrimitiveMeta, ThemeMethodMeta, VariantMeta } from "./cli-c6pbxpw0";
5
+ import { Theme } from "./cli-ykxn7rb2";
6
6
  /**
7
7
  * Type-safe metadata for all theme methods.
8
8
  *
@@ -1,4 +1,4 @@
1
- import { Theme } from "./cli-xsaheemc";
1
+ import { Theme } from "./cli-ykxn7rb2";
2
2
  /**
3
3
  * Available primitive types for demos.
4
4
  */
@@ -4,7 +4,7 @@ import {
4
4
  init_text,
5
5
  padText,
6
6
  truncateText
7
- } from "./cli-jjemfdta.js";
7
+ } from "./cli-mwxsh3sr.js";
8
8
  import {
9
9
  getBorderCharacters,
10
10
  init_borders
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  BORDER_STYLE_META,
4
4
  getBorderStyles
5
- } from "./cli-kc84wmch.js";
5
+ } from "./cli-d8ahdd9d.js";
6
6
  import {
7
7
  getExample
8
8
  } from "./cli-xep6v2c0.js";
9
9
  import {
10
10
  demoSection
11
- } from "./cli-34fqr7bp.js";
11
+ } from "./cli-sam2sq50.js";
12
12
  import {
13
13
  createBox,
14
14
  init_box,
15
15
  renderBox
16
- } from "./cli-vp88gxev.js";
16
+ } from "./cli-jp0k3qd9.js";
17
17
 
18
18
  // packages/cli/src/demo/renderers/box.ts
19
19
  init_box();
@@ -80,6 +80,11 @@ var THEME_METHOD_META = {
80
80
  category: "utility",
81
81
  description: "Dim styling",
82
82
  defaultExample: "De-emphasized"
83
+ },
84
+ inverse: {
85
+ category: "utility",
86
+ description: "Inverse styling (swap fg/bg)",
87
+ defaultExample: "Inverted text"
83
88
  }
84
89
  };
85
90
  function getThemeMethodsByCategory() {
@@ -1,4 +1,4 @@
1
- import { VisualTheme } from "./cli-s0kkx9m1";
1
+ import { VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Rounded visual theme.
4
4
  *
@@ -1,17 +1,17 @@
1
1
  // @bun
2
2
  import {
3
3
  renderTable
4
- } from "./cli-an9j0h80.js";
4
+ } from "./cli-c8fqdaes.js";
5
5
  import {
6
6
  BORDER_STYLE_META,
7
7
  getBorderStyles
8
- } from "./cli-kc84wmch.js";
8
+ } from "./cli-d8ahdd9d.js";
9
9
  import {
10
10
  getExample
11
11
  } from "./cli-xep6v2c0.js";
12
12
  import {
13
13
  demoSection
14
- } from "./cli-34fqr7bp.js";
14
+ } from "./cli-sam2sq50.js";
15
15
 
16
16
  // packages/cli/src/demo/renderers/table.ts
17
17
  function renderTableDemo(config, theme) {
@@ -8,7 +8,7 @@ import {
8
8
  } from "./cli-xep6v2c0.js";
9
9
  import {
10
10
  demoSection
11
- } from "./cli-34fqr7bp.js";
11
+ } from "./cli-sam2sq50.js";
12
12
 
13
13
  // packages/cli/src/demo/renderers/tree.ts
14
14
  function renderTreeDemo(config, _theme) {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  defaultTheme
4
- } from "./cli-cs45xd6q.js";
4
+ } from "./cli-z78mkrc7.js";
5
5
  import {
6
6
  BORDERS,
7
7
  init_borders
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  SPINNER_STYLE_META,
9
9
  getSpinnerStyles
10
- } from "./cli-kc84wmch.js";
10
+ } from "./cli-d8ahdd9d.js";
11
11
  import {
12
12
  getExample
13
13
  } from "./cli-xep6v2c0.js";
14
14
  import {
15
15
  demoSection
16
- } from "./cli-34fqr7bp.js";
16
+ } from "./cli-sam2sq50.js";
17
17
 
18
18
  // packages/cli/src/demo/renderers/spinner.ts
19
19
  function renderSpinnerDemo(config, theme) {
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  LIST_STYLE_META,
7
7
  getListStyles
8
- } from "./cli-kc84wmch.js";
8
+ } from "./cli-d8ahdd9d.js";
9
9
  import {
10
10
  getExample
11
11
  } from "./cli-xep6v2c0.js";
12
12
  import {
13
13
  demoSection
14
- } from "./cli-34fqr7bp.js";
14
+ } from "./cli-sam2sq50.js";
15
15
 
16
16
  // packages/cli/src/demo/renderers/list.ts
17
17
  function renderListDemo(config, theme) {
@@ -4,7 +4,7 @@ import {
4
4
  init_text,
5
5
  truncateText,
6
6
  wrapText
7
- } from "./cli-jjemfdta.js";
7
+ } from "./cli-mwxsh3sr.js";
8
8
  import {
9
9
  getBorderCharacters,
10
10
  init_borders
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  demoSection
4
- } from "./cli-34fqr7bp.js";
4
+ } from "./cli-sam2sq50.js";
5
5
  import {
6
6
  getStringWidth,
7
7
  init_text,
@@ -10,7 +10,7 @@ import {
10
10
  slugify,
11
11
  truncateText,
12
12
  wrapText
13
- } from "./cli-jjemfdta.js";
13
+ } from "./cli-mwxsh3sr.js";
14
14
 
15
15
  // packages/cli/src/demo/renderers/text.ts
16
16
  init_text();
@@ -1,4 +1,4 @@
1
- import { ConfirmPromptOptions, PromptResult } from "./cli-3f12z5kf";
1
+ import { ConfirmPromptOptions, PromptResult } from "./cli-9bcm4zhf";
2
2
  /**
3
3
  * Prompts for yes/no confirmation with Result wrapping.
4
4
  *
@@ -1,5 +1,5 @@
1
1
  import { CaseMode, SeparatorStyle } from "./cli-6bztk73z";
2
- import { Theme } from "./cli-xsaheemc";
2
+ import { Theme } from "./cli-ykxn7rb2";
3
3
  /**
4
4
  * Options for creating a demo section.
5
5
  */
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ANSI,
4
4
  init_colors
5
- } from "./cli-9nbyj2bt.js";
5
+ } from "./cli-5g6rkv3d.js";
6
6
  import {
7
7
  __esm
8
8
  } from "./cli-v1tzwxkt.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  getTerminalWidth
4
- } from "./cli-671sxkhj.js";
4
+ } from "./cli-aem6v4c8.js";
5
5
 
6
6
  // packages/cli/src/render/separator.ts
7
7
  function renderSeparator(options) {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ANSI,
4
4
  init_colors
5
- } from "./cli-9nbyj2bt.js";
5
+ } from "./cli-5g6rkv3d.js";
6
6
  import {
7
7
  init_detection,
8
8
  supportsColor
@@ -1,4 +1,4 @@
1
- import { VisualTheme } from "./cli-s0kkx9m1";
1
+ import { VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Bold visual theme.
4
4
  *
@@ -4,7 +4,7 @@ import {
4
4
  } from "./cli-bc17qeh2.js";
5
5
  import {
6
6
  demoSection
7
- } from "./cli-34fqr7bp.js";
7
+ } from "./cli-sam2sq50.js";
8
8
 
9
9
  // packages/cli/src/demo/renderers/progress.ts
10
10
  function renderProgressDemo(config, _theme) {
@@ -3,11 +3,11 @@ import {
3
3
  INDICATORS,
4
4
  getIndicator,
5
5
  getProgressIndicator
6
- } from "./cli-p1m5dhrs.js";
6
+ } from "./cli-6ty1nvws.js";
7
7
  import {
8
8
  demoSection,
9
9
  demoSubsection
10
- } from "./cli-34fqr7bp.js";
10
+ } from "./cli-sam2sq50.js";
11
11
 
12
12
  // packages/cli/src/demo/renderers/indicators.ts
13
13
  function renderIndicatorsDemo(config, _theme) {
@@ -5,20 +5,20 @@ import {
5
5
  import {
6
6
  getIndicator,
7
7
  isUnicodeSupported
8
- } from "./cli-p1m5dhrs.js";
8
+ } from "./cli-6ty1nvws.js";
9
9
  import {
10
10
  joinHorizontal,
11
11
  joinVertical
12
- } from "./cli-671sxkhj.js";
12
+ } from "./cli-aem6v4c8.js";
13
13
  import {
14
14
  exports_box,
15
15
  init_box,
16
16
  renderBox
17
- } from "./cli-vp88gxev.js";
17
+ } from "./cli-jp0k3qd9.js";
18
18
  import {
19
19
  getStringWidth,
20
20
  init_text
21
- } from "./cli-jjemfdta.js";
21
+ } from "./cli-mwxsh3sr.js";
22
22
  import {
23
23
  __toCommonJS
24
24
  } from "./cli-v1tzwxkt.js";
@@ -1,4 +1,4 @@
1
- import { VisualTheme } from "./cli-s0kkx9m1";
1
+ import { VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Default visual theme.
4
4
  *
@@ -1,4 +1,4 @@
1
- import { VisualTheme } from "./cli-s0kkx9m1";
1
+ import { VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Minimal visual theme.
4
4
  *
@@ -1,4 +1,4 @@
1
- import { GlyphPair, SemanticState, VisualTheme } from "./cli-s0kkx9m1";
1
+ import { GlyphPair, SemanticState, VisualTheme } from "./cli-8hngbjyr";
2
2
  /**
3
3
  * Resolves a glyph pair to a single character based on terminal capability.
4
4
  *
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  renderHeading
4
- } from "./cli-xvqtqjxk.js";
4
+ } from "./cli-3hk2xf3c.js";
5
5
  import {
6
6
  joinVertical
7
- } from "./cli-671sxkhj.js";
7
+ } from "./cli-aem6v4c8.js";
8
8
 
9
9
  // packages/cli/src/demo/section.ts
10
10
  function demoSection(title, options) {