source dump of claude code
at main 170 lines 17 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import { basename, relative } from 'path'; 3import React from 'react'; 4import { Box, Text } from '../ink.js'; 5import { getCwd } from '../utils/cwd.js'; 6import { isSupportedVSCodeTerminal } from '../utils/ide.js'; 7import { Select } from './CustomSelect/index.js'; 8import { Pane } from './design-system/Pane.js'; 9import type { PermissionOption, PermissionOptionWithLabel } from './permissions/FilePermissionDialog/permissionOptions.js'; 10type Props<A> = { 11 filePath: string; 12 input: A; 13 onChange: (option: PermissionOption, args: A, feedback?: string) => void; 14 options: PermissionOptionWithLabel[]; 15 ideName: string; 16 symlinkTarget?: string | null; 17 rejectFeedback: string; 18 acceptFeedback: string; 19 setFocusedOption: (value: string) => void; 20 onInputModeToggle: (value: string) => void; 21 focusedOption: string; 22 yesInputMode: boolean; 23 noInputMode: boolean; 24}; 25export function ShowInIDEPrompt(t0) { 26 const $ = _c(36); 27 const { 28 onChange, 29 options, 30 input, 31 filePath, 32 ideName, 33 symlinkTarget, 34 rejectFeedback, 35 acceptFeedback, 36 setFocusedOption, 37 onInputModeToggle, 38 focusedOption, 39 yesInputMode, 40 noInputMode 41 } = t0; 42 let t1; 43 if ($[0] !== ideName) { 44 t1 = <Text bold={true} color="permission">Opened changes in {ideName} </Text>; 45 $[0] = ideName; 46 $[1] = t1; 47 } else { 48 t1 = $[1]; 49 } 50 let t2; 51 if ($[2] !== symlinkTarget) { 52 t2 = symlinkTarget && <Text color="warning">{relative(getCwd(), symlinkTarget).startsWith("..") ? `This will modify ${symlinkTarget} (outside working directory) via a symlink` : `Symlink target: ${symlinkTarget}`}</Text>; 53 $[2] = symlinkTarget; 54 $[3] = t2; 55 } else { 56 t2 = $[3]; 57 } 58 let t3; 59 if ($[4] === Symbol.for("react.memo_cache_sentinel")) { 60 t3 = isSupportedVSCodeTerminal() && <Text dimColor={true}>Save file to continue</Text>; 61 $[4] = t3; 62 } else { 63 t3 = $[4]; 64 } 65 let t4; 66 if ($[5] !== filePath) { 67 t4 = basename(filePath); 68 $[5] = filePath; 69 $[6] = t4; 70 } else { 71 t4 = $[6]; 72 } 73 let t5; 74 if ($[7] !== t4) { 75 t5 = <Text>Do you want to make this edit to{" "}<Text bold={true}>{t4}</Text>?</Text>; 76 $[7] = t4; 77 $[8] = t5; 78 } else { 79 t5 = $[8]; 80 } 81 let t6; 82 if ($[9] !== acceptFeedback || $[10] !== input || $[11] !== onChange || $[12] !== options || $[13] !== rejectFeedback) { 83 t6 = value => { 84 const selected = options.find(opt => opt.value === value); 85 if (selected) { 86 if (selected.option.type === "reject") { 87 const trimmedFeedback = rejectFeedback.trim(); 88 onChange(selected.option, input, trimmedFeedback || undefined); 89 return; 90 } 91 if (selected.option.type === "accept-once") { 92 const trimmedFeedback_0 = acceptFeedback.trim(); 93 onChange(selected.option, input, trimmedFeedback_0 || undefined); 94 return; 95 } 96 onChange(selected.option, input); 97 } 98 }; 99 $[9] = acceptFeedback; 100 $[10] = input; 101 $[11] = onChange; 102 $[12] = options; 103 $[13] = rejectFeedback; 104 $[14] = t6; 105 } else { 106 t6 = $[14]; 107 } 108 let t7; 109 if ($[15] !== input || $[16] !== onChange) { 110 t7 = () => onChange({ 111 type: "reject" 112 }, input); 113 $[15] = input; 114 $[16] = onChange; 115 $[17] = t7; 116 } else { 117 t7 = $[17]; 118 } 119 let t8; 120 if ($[18] !== setFocusedOption) { 121 t8 = value_0 => setFocusedOption(value_0); 122 $[18] = setFocusedOption; 123 $[19] = t8; 124 } else { 125 t8 = $[19]; 126 } 127 let t9; 128 if ($[20] !== onInputModeToggle || $[21] !== options || $[22] !== t6 || $[23] !== t7 || $[24] !== t8) { 129 t9 = <Select options={options} inlineDescriptions={true} onChange={t6} onCancel={t7} onFocus={t8} onInputModeToggle={onInputModeToggle} />; 130 $[20] = onInputModeToggle; 131 $[21] = options; 132 $[22] = t6; 133 $[23] = t7; 134 $[24] = t8; 135 $[25] = t9; 136 } else { 137 t9 = $[25]; 138 } 139 let t10; 140 if ($[26] !== t5 || $[27] !== t9) { 141 t10 = <Box flexDirection="column">{t5}{t9}</Box>; 142 $[26] = t5; 143 $[27] = t9; 144 $[28] = t10; 145 } else { 146 t10 = $[28]; 147 } 148 const t11 = (focusedOption === "yes" && !yesInputMode || focusedOption === "no" && !noInputMode) && " \xB7 Tab to amend"; 149 let t12; 150 if ($[29] !== t11) { 151 t12 = <Box marginTop={1}><Text dimColor={true}>Esc to cancel{t11}</Text></Box>; 152 $[29] = t11; 153 $[30] = t12; 154 } else { 155 t12 = $[30]; 156 } 157 let t13; 158 if ($[31] !== t1 || $[32] !== t10 || $[33] !== t12 || $[34] !== t2) { 159 t13 = <Pane color="permission"><Box flexDirection="column" gap={1}>{t1}{t2}{t3}{t10}{t12}</Box></Pane>; 160 $[31] = t1; 161 $[32] = t10; 162 $[33] = t12; 163 $[34] = t2; 164 $[35] = t13; 165 } else { 166 t13 = $[35]; 167 } 168 return t13; 169} 170//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJiYXNlbmFtZSIsInJlbGF0aXZlIiwiUmVhY3QiLCJCb3giLCJUZXh0IiwiZ2V0Q3dkIiwiaXNTdXBwb3J0ZWRWU0NvZGVUZXJtaW5hbCIsIlNlbGVjdCIsIlBhbmUiLCJQZXJtaXNzaW9uT3B0aW9uIiwiUGVybWlzc2lvbk9wdGlvbldpdGhMYWJlbCIsIlByb3BzIiwiZmlsZVBhdGgiLCJpbnB1dCIsIkEiLCJvbkNoYW5nZSIsIm9wdGlvbiIsImFyZ3MiLCJmZWVkYmFjayIsIm9wdGlvbnMiLCJpZGVOYW1lIiwic3ltbGlua1RhcmdldCIsInJlamVjdEZlZWRiYWNrIiwiYWNjZXB0RmVlZGJhY2siLCJzZXRGb2N1c2VkT3B0aW9uIiwidmFsdWUiLCJvbklucHV0TW9kZVRvZ2dsZSIsImZvY3VzZWRPcHRpb24iLCJ5ZXNJbnB1dE1vZGUiLCJub0lucHV0TW9kZSIsIlNob3dJbklERVByb21wdCIsInQwIiwiJCIsIl9jIiwidDEiLCJ0MiIsInN0YXJ0c1dpdGgiLCJ0MyIsIlN5bWJvbCIsImZvciIsInQ0IiwidDUiLCJ0NiIsInNlbGVjdGVkIiwiZmluZCIsIm9wdCIsInR5cGUiLCJ0cmltbWVkRmVlZGJhY2siLCJ0cmltIiwidW5kZWZpbmVkIiwidHJpbW1lZEZlZWRiYWNrXzAiLCJ0NyIsInQ4IiwidmFsdWVfMCIsInQ5IiwidDEwIiwidDExIiwidDEyIiwidDEzIl0sInNvdXJjZXMiOlsiU2hvd0luSURFUHJvbXB0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSwgcmVsYXRpdmUgfSBmcm9tICdwYXRoJ1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vaW5rLmpzJ1xuaW1wb3J0IHsgZ2V0Q3dkIH0gZnJvbSAnLi4vdXRpbHMvY3dkLmpzJ1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWRWU0NvZGVUZXJtaW5hbCB9IGZyb20gJy4uL3V0aWxzL2lkZS5qcydcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4vQ3VzdG9tU2VsZWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgUGFuZSB9IGZyb20gJy4vZGVzaWduLXN5c3RlbS9QYW5lLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBQZXJtaXNzaW9uT3B0aW9uLFxuICBQZXJtaXNzaW9uT3B0aW9uV2l0aExhYmVsLFxufSBmcm9tICcuL3Blcm1pc3Npb25zL0ZpbGVQZXJtaXNzaW9uRGlhbG9nL3Blcm1pc3Npb25PcHRpb25zLmpzJ1xuXG50eXBlIFByb3BzPEE+ID0ge1xuICBmaWxlUGF0aDogc3RyaW5nXG4gIGlucHV0OiBBXG4gIG9uQ2hhbmdlOiAob3B0aW9uOiBQZXJtaXNzaW9uT3B0aW9uLCBhcmdzOiBBLCBmZWVkYmFjaz86IHN0cmluZykgPT4gdm9pZFxuICBvcHRpb25zOiBQZXJtaXNzaW9uT3B0aW9uV2l0aExhYmVsW11cbiAgaWRlTmFtZTogc3RyaW5nXG4gIHN5bWxpbmtUYXJnZXQ/OiBzdHJpbmcgfCBudWxsXG4gIHJlamVjdEZlZWRiYWNrOiBzdHJpbmdcbiAgYWNjZXB0RmVlZGJhY2s6IHN0cmluZ1xuICBzZXRGb2N1c2VkT3B0aW9uOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbklucHV0TW9kZVRvZ2dsZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgZm9jdXNlZE9wdGlvbjogc3RyaW5nXG4gIHllc0lucHV0TW9kZTogYm9vbGVhblxuICBub0lucHV0TW9kZTogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2hvd0luSURFUHJvbXB0PEE+KHtcbiAgb25DaGFuZ2UsXG4gIG9wdGlvbnMsXG4gIGlucHV0LFxuICBmaWxlUGF0aCxcbiAgaWRlTmFtZSxcbiAgc3ltbGlua1RhcmdldCxcbiAgcmVqZWN0RmVlZGJhY2ssXG4gIGFjY2VwdEZlZWRiYWNrLFxuICBzZXRGb2N1c2VkT3B0aW9uLFxuICBvbklucHV0TW9kZVRvZ2dsZSxcbiAgZm9jdXNlZE9wdGlvbixcbiAgeWVzSW5wdXRNb2RlLFxuICBub0lucHV0TW9kZSxcbn06IFByb3BzPEE+KTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8UGFuZSBjb2xvcj1cInBlcm1pc3Npb25cIj5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgIDxUZXh0IGJvbGQgY29sb3I9XCJwZXJtaXNzaW9uXCI+XG4gICAgICAgICAgT3BlbmVkIGNoYW5nZXMgaW4ge2lkZU5hbWV9IOKniVxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIHtzeW1saW5rVGFyZ2V0ICYmIChcbiAgICAgICAgICA8VGV4dCBjb2xvcj1cIndhcm5pbmdcIj5cbiAgICAgICAgICAgIHtyZWxhdGl2ZShnZXRDd2QoKSwgc3ltbGlua1RhcmdldCkuc3RhcnRzV2l0aCgnLi4nKVxuICAgICAgICAgICAgICA/IGBUaGlzIHdpbGwgbW9kaWZ5ICR7c3ltbGlua1RhcmdldH0gKG91dHNpZGUgd29ya2luZyBkaXJlY3RvcnkpIHZpYSBhIHN5bWxpbmtgXG4gICAgICAgICAgICAgIDogYFN5bWxpbmsgdGFyZ2V0OiAke3N5bWxpbmtUYXJnZXR9YH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICl9XG4gICAgICAgIHtpc1N1cHBvcnRlZFZTQ29kZVRlcm1pbmFsKCkgJiYgKFxuICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlNhdmUgZmlsZSB0byBjb250aW51ZeKApjwvVGV4dD5cbiAgICAgICAgKX1cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICBEbyB5b3Ugd2FudCB0byBtYWtlIHRoaXMgZWRpdCB0b3snICd9XG4gICAgICAgICAgICA8VGV4dCBib2xkPntiYXNlbmFtZShmaWxlUGF0aCl9PC9UZXh0Pj9cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgIGlubGluZURlc2NyaXB0aW9uc1xuICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBvcHRpb25zLmZpbmQob3B0ID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICAgICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIC8vIEZvciByZWplY3Qgb3B0aW9uXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkLm9wdGlvbi50eXBlID09PSAncmVqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgdHJpbW1lZEZlZWRiYWNrID0gcmVqZWN0RmVlZGJhY2sudHJpbSgpXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZShzZWxlY3RlZC5vcHRpb24sIGlucHV0LCB0cmltbWVkRmVlZGJhY2sgfHwgdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEZvciBhY2NlcHQtb25jZSBvcHRpb24sIHBhc3MgYWNjZXB0IGZlZWRiYWNrIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWQub3B0aW9uLnR5cGUgPT09ICdhY2NlcHQtb25jZScpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRyaW1tZWRGZWVkYmFjayA9IGFjY2VwdEZlZWRiYWNrLnRyaW0oKVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2Uoc2VsZWN0ZWQub3B0aW9uLCBpbnB1dCwgdHJpbW1lZEZlZWRiYWNrIHx8IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZShzZWxlY3RlZC5vcHRpb24sIGlucHV0KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25DYW5jZWw9eygpID0+IG9uQ2hhbmdlKHsgdHlwZTogJ3JlamVjdCcgfSwgaW5wdXQpfVxuICAgICAgICAgICAgb25Gb2N1cz17dmFsdWUgPT4gc2V0Rm9jdXNlZE9wdGlvbih2YWx1ZSl9XG4gICAgICAgICAgICBvbklucHV0TW9kZVRvZ2dsZT17b25JbnB1dE1vZGVUb2dnbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxCb3ggbWFyZ2luVG9wPXsxfT5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgIEVzYyB0byBjYW5jZWxcbiAgICAgICAgICAgIHsoKGZvY3VzZWRPcHRpb24gPT09ICd5ZXMnICYmICF5ZXNJbnB1dE1vZGUpIHx8XG4gICAgICAgICAgICAgIChmb2N1c2VkT3B0aW9uID09PSAnbm8nICYmICFub0lucHV0TW9kZSkpICYmXG4gICAgICAgICAgICAgICcgwrcgVGFiIHRvIGFtZW5kJ31cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9Cb3g+XG4gICAgPC9QYW5lPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFFBQVEsUUFBUSxNQUFNO0FBQ3pDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLFdBQVc7QUFDckMsU0FBU0MsTUFBTSxRQUFRLGlCQUFpQjtBQUN4QyxTQUFTQyx5QkFBeUIsUUFBUSxpQkFBaUI7QUFDM0QsU0FBU0MsTUFBTSxRQUFRLHlCQUF5QjtBQUNoRCxTQUFTQyxJQUFJLFFBQVEseUJBQXlCO0FBQzlDLGNBQ0VDLGdCQUFnQixFQUNoQkMseUJBQXlCLFFBQ3BCLHlEQUF5RDtBQUVoRSxLQUFLQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUc7RUFDZEMsUUFBUSxFQUFFLE1BQU07RUFDaEJDLEtBQUssRUFBRUMsQ0FBQztFQUNSQyxRQUFRLEVBQUUsQ0FBQ0MsTUFBTSxFQUFFUCxnQkFBZ0IsRUFBRVEsSUFBSSxFQUFFSCxDQUFDLEVB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