@silvery/examples 0.17.4 → 0.17.5

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 (62) hide show
  1. package/dist/_banner-A70_y2Vi.mjs +43 -0
  2. package/dist/{ansi-CCE2pVS0.mjs → ansi-0VXlUmNn.mjs} +7 -7
  3. package/dist/apng-B0gRaDVT.mjs +3 -0
  4. package/dist/{apng-HhhBjRGt.mjs → apng-BTRDTfDW.mjs} +2 -2
  5. package/dist/apps/aichat/index.mjs +69 -70
  6. package/dist/apps/app-todo.mjs +19 -20
  7. package/dist/apps/async-data.mjs +40 -41
  8. package/dist/apps/cli-wizard.mjs +51 -52
  9. package/dist/apps/clipboard.mjs +26 -27
  10. package/dist/apps/components.mjs +189 -190
  11. package/dist/apps/data-explorer.mjs +52 -53
  12. package/dist/apps/dev-tools.mjs +39 -40
  13. package/dist/apps/explorer.mjs +73 -74
  14. package/dist/apps/gallery.mjs +61 -62
  15. package/dist/apps/inline-bench.mjs +1 -1
  16. package/dist/apps/kanban.mjs +22 -23
  17. package/dist/apps/layout-ref.mjs +27 -28
  18. package/dist/apps/outline.mjs +35 -36
  19. package/dist/apps/paste-demo.mjs +33 -34
  20. package/dist/apps/scroll.mjs +11 -12
  21. package/dist/apps/search-filter.mjs +23 -24
  22. package/dist/apps/selection.mjs +30 -31
  23. package/dist/apps/spatial-focus-demo.mjs +32 -33
  24. package/dist/apps/task-list.mjs +25 -26
  25. package/dist/apps/terminal-caps-demo.mjs +30 -31
  26. package/dist/apps/terminal.mjs +157 -158
  27. package/dist/apps/text-selection-demo.mjs +62 -63
  28. package/dist/apps/textarea.mjs +21 -22
  29. package/dist/apps/theme.mjs +142 -143
  30. package/dist/apps/transform.mjs +25 -26
  31. package/dist/apps/virtual-10k.mjs +52 -53
  32. package/dist/{backends-Bahh9mKN.mjs → backends-Dj-11kZF.mjs} +1 -1
  33. package/dist/backends-U3QwStfO.mjs +3 -0
  34. package/dist/components/counter.mjs +6 -7
  35. package/dist/components/hello.mjs +5 -6
  36. package/dist/components/progress-bar.mjs +10 -11
  37. package/dist/components/select-list.mjs +8 -9
  38. package/dist/components/spinner.mjs +10 -11
  39. package/dist/components/text-input.mjs +8 -9
  40. package/dist/components/virtual-list.mjs +7 -8
  41. package/dist/{flexily-zero-adapter-UB-ra8fR.mjs → flexily-zero-adapter-ByVzLTFP.mjs} +1 -1
  42. package/dist/gif-B6NGH5gs.mjs +3 -0
  43. package/dist/{gif-BtnXuxLF.mjs → gif-CfkOF-iG.mjs} +2 -2
  44. package/dist/layout/dashboard.mjs +197 -198
  45. package/dist/layout/live-resize.mjs +44 -45
  46. package/dist/layout/overflow.mjs +16 -17
  47. package/dist/layout/text-layout.mjs +67 -68
  48. package/dist/{plugins-D1KtkT4a.mjs → plugins-CT0DdV_E.mjs} +12 -13
  49. package/dist/{src-BTEVGpd9.mjs → src-jO3Zuzjj.mjs} +3 -3
  50. package/dist/{yoga-adapter-BVtQ5OJR.mjs → yoga-adapter-BSQHuMV9.mjs} +1 -1
  51. package/package.json +4 -2
  52. package/dist/_banner-DLPxCqVy.mjs +0 -44
  53. package/dist/apng-mwUQbTTF.mjs +0 -3
  54. package/dist/backends-CCtCDQ94.mjs +0 -3
  55. package/dist/gif-BZaqPPVX.mjs +0 -3
  56. package/dist/jsx-runtime-dMs_8fNu.mjs +0 -241
  57. /package/dist/{UPNG-Cy7ViL8f.mjs → UPNG-ShUlaTDh.mjs} +0 -0
  58. /package/dist/{__vite-browser-external-2447137e-BML7CYau.mjs → __vite-browser-external-2447137e-Bopa5BFR.mjs} +0 -0
  59. /package/dist/{gifenc-CLRW41dk.mjs → gifenc-BI4ihP_T.mjs} +0 -0
  60. /package/dist/{node-NuJ94BWl.mjs → node-nsrAOjH4.mjs} +0 -0
  61. /package/dist/{resvg-js-C_8Wps1F.mjs → resvg-js-Cnk2o49d.mjs} +0 -0
  62. /package/dist/{src-CzfRafCQ.mjs → src-9ZhfQyzD.mjs} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { t as _usingCtx } from "../usingCtx-CsEf0xO3.mjs";
2
- import { t as require_jsx_runtime } from "../jsx-runtime-dMs_8fNu.mjs";
3
- import { t as ExampleBanner } from "../_banner-DLPxCqVy.mjs";
2
+ import { t as ExampleBanner } from "../_banner-A70_y2Vi.mjs";
4
3
  import { useCallback, useDeferredValue, useEffect, useMemo, useRef, useState } from "react";
5
4
  import { Box, Divider, Kbd, ListView, Muted, Tab, TabList, Tabs, Text, TextInput, createTerm, render, useApp, useBoxRect, useInput } from "silvery";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region apps/explorer.tsx
7
7
  /**
8
8
  * Explorer — Log Viewer & Process Explorer
@@ -26,7 +26,6 @@ import { Box, Divider, Kbd, ListView, Muted, Tab, TabList, Tabs, Text, TextInput
26
26
  * Esc - Exit search / quit
27
27
  * q - Quit (when not searching)
28
28
  */
29
- var import_jsx_runtime = require_jsx_runtime();
30
29
  const meta = {
31
30
  name: "Explorer",
32
31
  description: "Log viewer and process explorer with ListView search",
@@ -243,41 +242,41 @@ const SORT_COLUMNS = [
243
242
  "status"
244
243
  ];
245
244
  function LogRow({ entry, isSelected }) {
246
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
245
+ return /* @__PURE__ */ jsxs(Box, {
247
246
  paddingX: 1,
248
247
  backgroundColor: isSelected ? "$mutedbg" : void 0,
249
248
  children: [
250
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [entry.timestamp, " "] }),
251
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
249
+ /* @__PURE__ */ jsxs(Muted, { children: [entry.timestamp, " "] }),
250
+ /* @__PURE__ */ jsx(Text, {
252
251
  color: LEVEL_COLORS[entry.level],
253
252
  bold: true,
254
253
  children: LEVEL_BADGES[entry.level]
255
254
  }),
256
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
255
+ /* @__PURE__ */ jsxs(Muted, { children: [
257
256
  " [",
258
257
  entry.service.padEnd(9),
259
258
  "] "
260
259
  ] }),
261
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: entry.message })
260
+ /* @__PURE__ */ jsx(Text, { children: entry.message })
262
261
  ]
263
262
  });
264
263
  }
265
264
  function LogListArea({ entries, cursor }) {
266
265
  const { height } = useBoxRect();
267
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListView, {
266
+ return /* @__PURE__ */ jsx(ListView, {
268
267
  items: entries,
269
268
  height,
270
269
  estimateHeight: 1,
271
270
  scrollTo: cursor,
272
271
  overscan: 5,
273
- renderItem: (entry, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LogRow, {
272
+ renderItem: (entry, index) => /* @__PURE__ */ jsx(LogRow, {
274
273
  entry,
275
274
  isSelected: index === cursor
276
275
  }, entry.id)
277
276
  });
278
277
  }
279
278
  function LevelToggles({ levels, onToggle }) {
280
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
279
+ return /* @__PURE__ */ jsx(Box, {
281
280
  gap: 1,
282
281
  children: [
283
282
  "DEBUG",
@@ -286,13 +285,13 @@ function LevelToggles({ levels, onToggle }) {
286
285
  "ERROR"
287
286
  ].map((level, i) => {
288
287
  const active = levels[level];
289
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
288
+ return /* @__PURE__ */ jsxs(Box, {
290
289
  gap: 0,
291
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
290
+ children: [/* @__PURE__ */ jsxs(Text, {
292
291
  color: "$muted",
293
292
  dim: true,
294
293
  children: [i + 1, ":"]
295
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
294
+ }), /* @__PURE__ */ jsx(Text, {
296
295
  color: active ? LEVEL_COLORS[level] : "$muted",
297
296
  bold: active,
298
297
  dim: !active,
@@ -321,9 +320,9 @@ function useColumns(totalWidth) {
321
320
  }
322
321
  function ProcessHeader({ width }) {
323
322
  const cols = useColumns(width);
324
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
323
+ return /* @__PURE__ */ jsx(Box, {
325
324
  paddingX: 1,
326
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
325
+ children: /* @__PURE__ */ jsxs(Text, {
327
326
  bold: true,
328
327
  color: "$muted",
329
328
  children: [
@@ -341,28 +340,28 @@ function ProcessRow({ proc, isSelected, width }) {
341
340
  const cols = useColumns(width);
342
341
  const cpuColor = proc.cpu > 80 ? "$error" : proc.cpu > 40 ? "$warning" : "$success";
343
342
  const displayName = proc.name.length > cols.nameW - 1 ? proc.name.slice(0, cols.nameW - 2) + "…" : proc.name;
344
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
343
+ return /* @__PURE__ */ jsxs(Box, {
345
344
  paddingX: 1,
346
345
  backgroundColor: isSelected ? "$mutedbg" : void 0,
347
346
  children: [
348
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
347
+ /* @__PURE__ */ jsx(Text, {
349
348
  color: "$muted",
350
349
  children: String(proc.pid).padEnd(cols.pidW)
351
350
  }),
352
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
351
+ /* @__PURE__ */ jsx(Text, {
353
352
  bold: isSelected,
354
353
  children: displayName.padEnd(cols.nameW)
355
354
  }),
356
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
355
+ /* @__PURE__ */ jsxs(Text, {
357
356
  color: cpuColor,
358
357
  children: [proc.cpu.toFixed(1).padStart(cols.cpuW - 1), "%"]
359
358
  }),
360
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
359
+ /* @__PURE__ */ jsxs(Text, {
361
360
  color: proc.mem > 40 ? "$warning" : "$muted",
362
361
  children: [proc.mem.toFixed(1).padStart(cols.memW - 1), "%"]
363
362
  }),
364
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: " " }),
365
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
363
+ /* @__PURE__ */ jsx(Text, { children: " " }),
364
+ /* @__PURE__ */ jsxs(Text, {
366
365
  color: STATUS_COLORS[proc.status],
367
366
  children: [
368
367
  STATUS_ICONS[proc.status],
@@ -375,13 +374,13 @@ function ProcessRow({ proc, isSelected, width }) {
375
374
  }
376
375
  function ProcessListArea({ processes, cursor, width }) {
377
376
  const { height } = useBoxRect();
378
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListView, {
377
+ return /* @__PURE__ */ jsx(ListView, {
379
378
  items: processes,
380
379
  height,
381
380
  estimateHeight: 1,
382
381
  scrollTo: cursor,
383
382
  overscan: 5,
384
- renderItem: (proc, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProcessRow, {
383
+ renderItem: (proc, index) => /* @__PURE__ */ jsx(ProcessRow, {
385
384
  proc,
386
385
  isSelected: index === cursor,
387
386
  width
@@ -521,19 +520,19 @@ function Explorer() {
521
520
  toggleLevel,
522
521
  setCursor
523
522
  ]));
524
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
523
+ return /* @__PURE__ */ jsxs(Box, {
525
524
  flexDirection: "column",
526
525
  flexGrow: 1,
527
526
  children: [
528
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
527
+ /* @__PURE__ */ jsx(Box, {
529
528
  paddingX: 1,
530
- children: searchMode ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
529
+ children: searchMode ? /* @__PURE__ */ jsxs(Box, {
531
530
  flexGrow: 1,
532
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, {
531
+ children: [/* @__PURE__ */ jsxs(Text, {
533
532
  color: "$primary",
534
533
  bold: true,
535
534
  children: ["/", " "]
536
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextInput, {
535
+ }), /* @__PURE__ */ jsx(TextInput, {
537
536
  value: query,
538
537
  onChange: (v) => {
539
538
  setQuery(v);
@@ -544,33 +543,33 @@ function Explorer() {
544
543
  prompt: "",
545
544
  isActive: searchMode
546
545
  })]
547
- }) : query ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
546
+ }) : query ? /* @__PURE__ */ jsxs(Muted, { children: [
548
547
  "filter: ",
549
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
548
+ /* @__PURE__ */ jsx(Text, {
550
549
  bold: true,
551
550
  children: query
552
551
  }),
553
552
  " (",
554
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "backspace" }),
553
+ /* @__PURE__ */ jsx(Kbd, { children: "backspace" }),
555
554
  " clear, ",
556
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "/" }),
555
+ /* @__PURE__ */ jsx(Kbd, { children: "/" }),
557
556
  " edit)"
558
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "/" }), " search"] })
557
+ ] }) : /* @__PURE__ */ jsxs(Muted, { children: [/* @__PURE__ */ jsx(Kbd, { children: "/" }), " search"] })
559
558
  }),
560
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs, {
559
+ /* @__PURE__ */ jsx(Tabs, {
561
560
  value: activeTab,
562
561
  onChange: setActiveTab,
563
562
  isActive: !searchMode,
564
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
563
+ children: /* @__PURE__ */ jsx(Box, {
565
564
  paddingX: 1,
566
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TabList, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tab, {
565
+ children: /* @__PURE__ */ jsxs(TabList, { children: [/* @__PURE__ */ jsxs(Tab, {
567
566
  value: "logs",
568
567
  children: [
569
568
  "Logs (",
570
569
  filteredLogs.length.toLocaleString(),
571
570
  ")"
572
571
  ]
573
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tab, {
572
+ }), /* @__PURE__ */ jsxs(Tab, {
574
573
  value: "processes",
575
574
  children: [
576
575
  "Processes (",
@@ -580,97 +579,97 @@ function Explorer() {
580
579
  })] })
581
580
  })
582
581
  }),
583
- activeTab === "logs" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
582
+ activeTab === "logs" && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(Box, {
584
583
  paddingX: 1,
585
584
  justifyContent: "space-between",
586
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(LevelToggles, {
585
+ children: [/* @__PURE__ */ jsx(LevelToggles, {
587
586
  levels: logLevels,
588
587
  onToggle: toggleLevel
589
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
588
+ }), /* @__PURE__ */ jsxs(Muted, { children: [
590
589
  effectiveLogCursor + 1,
591
590
  "/",
592
591
  filteredLogs.length.toLocaleString()
593
592
  ] })]
594
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
593
+ }), /* @__PURE__ */ jsx(Box, {
595
594
  flexGrow: 1,
596
595
  flexDirection: "column",
597
- children: filteredLogs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LogListArea, {
596
+ children: filteredLogs.length > 0 ? /* @__PURE__ */ jsx(LogListArea, {
598
597
  entries: filteredLogs,
599
598
  cursor: effectiveLogCursor
600
- }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
599
+ }) : /* @__PURE__ */ jsx(Box, {
601
600
  paddingX: 1,
602
601
  justifyContent: "center",
603
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Muted, { children: "No logs match the current filter" })
602
+ children: /* @__PURE__ */ jsx(Muted, { children: "No logs match the current filter" })
604
603
  })
605
604
  })] }),
606
- activeTab === "processes" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
607
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
605
+ activeTab === "processes" && /* @__PURE__ */ jsxs(Fragment, { children: [
606
+ /* @__PURE__ */ jsxs(Box, {
608
607
  paddingX: 1,
609
608
  justifyContent: "space-between",
610
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box, {
609
+ children: [/* @__PURE__ */ jsxs(Box, {
611
610
  gap: 1,
612
611
  children: [
613
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Muted, { children: "sort:" }),
614
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, {
612
+ /* @__PURE__ */ jsx(Muted, { children: "sort:" }),
613
+ /* @__PURE__ */ jsx(Text, {
615
614
  bold: true,
616
615
  color: "$primary",
617
616
  children: sortCol.toUpperCase()
618
617
  }),
619
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
618
+ /* @__PURE__ */ jsxs(Muted, { children: [
620
619
  "(",
621
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "s" }),
620
+ /* @__PURE__ */ jsx(Kbd, { children: "s" }),
622
621
  " cycle)"
623
622
  ] })
624
623
  ]
625
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
624
+ }), /* @__PURE__ */ jsxs(Muted, { children: [
626
625
  effectiveProcCursor + 1,
627
626
  "/",
628
627
  filteredProcesses.length
629
628
  ] })]
630
629
  }),
631
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProcessHeader, { width }),
632
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
630
+ /* @__PURE__ */ jsx(ProcessHeader, { width }),
631
+ /* @__PURE__ */ jsx(Box, {
633
632
  paddingX: 1,
634
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Divider, {})
633
+ children: /* @__PURE__ */ jsx(Divider, {})
635
634
  }),
636
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
635
+ /* @__PURE__ */ jsx(Box, {
637
636
  flexGrow: 1,
638
637
  flexDirection: "column",
639
- children: filteredProcesses.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProcessListArea, {
638
+ children: filteredProcesses.length > 0 ? /* @__PURE__ */ jsx(ProcessListArea, {
640
639
  processes: filteredProcesses,
641
640
  cursor: effectiveProcCursor,
642
641
  width
643
- }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
642
+ }) : /* @__PURE__ */ jsx(Box, {
644
643
  paddingX: 1,
645
644
  justifyContent: "center",
646
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Muted, { children: "No processes match the current filter" })
645
+ children: /* @__PURE__ */ jsx(Muted, { children: "No processes match the current filter" })
647
646
  })
648
647
  })
649
648
  ] }),
650
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box, {
649
+ /* @__PURE__ */ jsx(Box, {
651
650
  paddingX: 1,
652
651
  justifyContent: "space-between",
653
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Muted, { children: [
654
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "h/l" }),
652
+ children: /* @__PURE__ */ jsxs(Muted, { children: [
653
+ /* @__PURE__ */ jsx(Kbd, { children: "h/l" }),
655
654
  " tab ",
656
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "j/k" }),
655
+ /* @__PURE__ */ jsx(Kbd, { children: "j/k" }),
657
656
  " navigate ",
658
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "d/u" }),
657
+ /* @__PURE__ */ jsx(Kbd, { children: "d/u" }),
659
658
  " page ",
660
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "/" }),
659
+ /* @__PURE__ */ jsx(Kbd, { children: "/" }),
661
660
  " search",
662
661
  " ",
663
- activeTab === "logs" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
664
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "1-4" }),
662
+ activeTab === "logs" && /* @__PURE__ */ jsxs(Fragment, { children: [
663
+ /* @__PURE__ */ jsx(Kbd, { children: "1-4" }),
665
664
  " levels",
666
665
  " "
667
666
  ] }),
668
- activeTab === "processes" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
669
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "s" }),
667
+ activeTab === "processes" && /* @__PURE__ */ jsxs(Fragment, { children: [
668
+ /* @__PURE__ */ jsx(Kbd, { children: "s" }),
670
669
  " sort",
671
670
  " "
672
671
  ] }),
673
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Kbd, { children: "q" }),
672
+ /* @__PURE__ */ jsx(Kbd, { children: "q" }),
674
673
  " quit"
675
674
  ] })
676
675
  })
@@ -681,10 +680,10 @@ async function main() {
681
680
  try {
682
681
  var _usingCtx$1 = _usingCtx();
683
682
  const term = _usingCtx$1.u(createTerm());
684
- const { waitUntilExit } = await render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ExampleBanner, {
683
+ const { waitUntilExit } = await render(/* @__PURE__ */ jsx(ExampleBanner, {
685
684
  meta,
686
685
  controls: "h/l tab j/k navigate d/u page / search 1-4 levels s sort q quit",
687
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Explorer, {})
686
+ children: /* @__PURE__ */ jsx(Explorer, {})
688
687
  }), term);
689
688
  await waitUntilExit();
690
689
  } catch (_) {