source dump of claude code
at main 82 lines 9.7 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import * as React from 'react'; 3import { useMemo } from 'react'; 4import { type Command, formatDescriptionWithSource } from '../../commands.js'; 5import { Box, Text } from '../../ink.js'; 6import { truncate } from '../../utils/format.js'; 7import { Select } from '../CustomSelect/select.js'; 8import { useTabHeaderFocus } from '../design-system/Tabs.js'; 9type Props = { 10 commands: Command[]; 11 maxHeight: number; 12 columns: number; 13 title: string; 14 onCancel: () => void; 15 emptyMessage?: string; 16}; 17export function Commands(t0) { 18 const $ = _c(14); 19 const { 20 commands, 21 maxHeight, 22 columns, 23 title, 24 onCancel, 25 emptyMessage 26 } = t0; 27 const { 28 headerFocused, 29 focusHeader 30 } = useTabHeaderFocus(); 31 const maxWidth = Math.max(1, columns - 10); 32 const visibleCount = Math.max(1, Math.floor((maxHeight - 10) / 2)); 33 let t1; 34 if ($[0] !== commands || $[1] !== maxWidth) { 35 const seen = new Set(); 36 let t2; 37 if ($[3] !== maxWidth) { 38 t2 = cmd_0 => ({ 39 label: `/${cmd_0.name}`, 40 value: cmd_0.name, 41 description: truncate(formatDescriptionWithSource(cmd_0), maxWidth, true) 42 }); 43 $[3] = maxWidth; 44 $[4] = t2; 45 } else { 46 t2 = $[4]; 47 } 48 t1 = commands.filter(cmd => { 49 if (seen.has(cmd.name)) { 50 return false; 51 } 52 seen.add(cmd.name); 53 return true; 54 }).sort(_temp).map(t2); 55 $[0] = commands; 56 $[1] = maxWidth; 57 $[2] = t1; 58 } else { 59 t1 = $[2]; 60 } 61 const options = t1; 62 let t2; 63 if ($[5] !== commands.length || $[6] !== emptyMessage || $[7] !== focusHeader || $[8] !== headerFocused || $[9] !== onCancel || $[10] !== options || $[11] !== title || $[12] !== visibleCount) { 64 t2 = <Box flexDirection="column" paddingY={1}>{commands.length === 0 && emptyMessage ? <Text dimColor={true}>{emptyMessage}</Text> : <><Text>{title}</Text><Box marginTop={1}><Select options={options} visibleOptionCount={visibleCount} onCancel={onCancel} disableSelection={true} hideIndexes={true} layout="compact-vertical" onUpFromFirstItem={focusHeader} isDisabled={headerFocused} /></Box></>}</Box>; 65 $[5] = commands.length; 66 $[6] = emptyMessage; 67 $[7] = focusHeader; 68 $[8] = headerFocused; 69 $[9] = onCancel; 70 $[10] = options; 71 $[11] = title; 72 $[12] = visibleCount; 73 $[13] = t2; 74 } else { 75 t2 = $[13]; 76 } 77 return t2; 78} 79function _temp(a, b) { 80 return a.name.localeCompare(b.name); 81} 82//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJDb21tYW5kIiwiZm9ybWF0RGVzY3JpcHRpb25XaXRoU291cmNlIiwiQm94IiwiVGV4dCIsInRydW5jYXRlIiwiU2VsZWN0IiwidXNlVGFiSGVhZGVyRm9jdXMiLCJQcm9wcyIsImNvbW1hbmRzIiwibWF4SGVpZ2h0IiwiY29sdW1ucyIsInRpdGxlIiwib25DYW5jZWwiLCJlbXB0eU1lc3NhZ2UiLCJDb21tYW5kcyIsInQwIiwiJCIsIl9jIiwiaGVhZGVyRm9jdXNlZCIsImZvY3VzSGVhZGVyIiwibWF4V2lkdGgiLCJNYXRoIiwibWF4IiwidmlzaWJsZUNvdW50IiwiZmxvb3IiLCJ0MSIsInNlZW4iLCJTZXQiLCJ0MiIsImNtZF8wIiwibGFiZWwiLCJjbWQiLCJuYW1lIiwidmFsdWUiLCJkZXNjcmlwdGlvbiIsImZpbHRlciIsImhhcyIsImFkZCIsInNvcnQiLCJfdGVtcCIsIm1hcCIsIm9wdGlvbnMiLCJsZW5ndGgiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiXSwic291cmNlcyI6WyJDb21tYW5kcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB0eXBlIENvbW1hbmQsIGZvcm1hdERlc2NyaXB0aW9uV2l0aFNvdXJjZSB9IGZyb20gJy4uLy4uL2NvbW1hbmRzLmpzJ1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgdHJ1bmNhdGUgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXQuanMnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi9DdXN0b21TZWxlY3Qvc2VsZWN0LmpzJ1xuaW1wb3J0IHsgdXNlVGFiSGVhZGVyRm9jdXMgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL1RhYnMuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNvbW1hbmRzOiBDb21tYW5kW11cbiAgbWF4SGVpZ2h0OiBudW1iZXJcbiAgY29sdW1uczogbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgb25DYW5jZWw6ICgpID0+IHZvaWRcbiAgZW1wdHlNZXNzYWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21tYW5kcyh7XG4gIGNvbW1hbmRzLFxuICBtYXhIZWlnaHQsXG4gIGNvbHVtbnMsXG4gIHRpdGxlLFxuICBvbkNhbmNlbCxcbiAgZW1wdHlNZXNzYWdlLFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB7IGhlYWRlckZvY3VzZWQsIGZvY3VzSGVhZGVyIH0gPSB1c2VUYWJIZWFkZXJGb2N1cygpXG4gIGNvbnN0IG1heFdpZHRoID0gTWF0aC5tYXgoMSwgY29sdW1ucyAtIDEwKVxuICBjb25zdCB2aXNpYmxlQ291bnQgPSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKChtYXhIZWlnaHQgLSAxMCkgLyAyKSlcblxuICBjb25zdCBvcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gQ3VzdG9tIGNvbW1hbmRzIGNhbiBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgKGUuZy4gc2FtZSBuYW1lIGF0IHVzZXIgYW5kXG4gICAgLy8gcHJvamVjdCBzY29wZSkuIERlZHVwZSBieSBuYW1lIHRvIGF2b2lkIFJlYWN0IGtleSBjb2xsaXNpb25zIGluIFNlbGVjdC5cbiAgICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KClcbiAgICByZXR1cm4gY29tbWFuZHNcbiAgICAgIC5maWx0ZXIoY21kID0+IHtcbiAgICAgICAgaWYgKHNlZW4uaGFzKGNtZC5uYW1lKSkgcmV0dXJuIGZhbHNlXG4gICAgICAgIHNlZW4uYWRkKGNtZC5uYW1lKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKVxuICAgICAgLm1hcChjbWQgPT4gKHtcbiAgICAgICAgbGFiZWw6IGAvJHtjbWQubmFtZX1gLFxuICAgICAgICB2YWx1ZTogY21kLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0cnVuY2F0ZShmb3JtYXREZXNjcmlwdGlvbldpdGhTb3VyY2UoY21kKSwgbWF4V2lkdGgsIHRydWUpLFxuICAgICAgfSkpXG4gIH0sIFtjb21tYW5kcywgbWF4V2lkdGhdKVxuXG4gIHJldHVybiAoXG4gICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgcGFkZGluZ1k9ezF9PlxuICAgICAge2NvbW1hbmRzLmxlbmd0aCA9PT0gMCAmJiBlbXB0eU1lc3NhZ2UgPyAoXG4gICAgICAgIDxUZXh0IGRpbUNvbG9yPntlbXB0eU1lc3NhZ2V9PC9UZXh0PlxuICAgICAgKSA6IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8VGV4dD57dGl0bGV9PC9UZXh0PlxuICAgICAgICAgIDxCb3ggbWFyZ2luVG9wPXsxfT5cbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgICAgdmlzaWJsZU9wdGlvbkNvdW50PXt2aXNpYmxlQ291bnR9XG4gICAgICAgICAgICAgIG9uQ2FuY2VsPXtvbkNhbmNlbH1cbiAgICAgICAgICAgICAgZGlzYWJsZVNlbGVjdGlvblxuICAgICAgICAgICAgICBoaWRlSW5kZXhlc1xuICAgICAgICAgICAgICBsYXlvdXQ9XCJjb21wYWN0LXZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgb25VcEZyb21GaXJzdEl0ZW09e2ZvY3VzSGVhZGVyfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtoZWFkZXJGb2N1c2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLE9BQU8sUUFBUSxPQUFPO0FBQy9C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