source dump of claude code
at main 152 lines 15 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import React, { useEffect, useRef } from 'react'; 3import { BLACK_CIRCLE, BULLET_OPERATOR } from '../constants/figures.js'; 4import { Box, Text } from '../ink.js'; 5import type { SkillUpdate } from '../utils/hooks/skillImprovement.js'; 6import { normalizeFullWidthDigits } from '../utils/stringUtils.js'; 7import { isValidResponseInput } from './FeedbackSurvey/FeedbackSurveyView.js'; 8import type { FeedbackSurveyResponse } from './FeedbackSurvey/utils.js'; 9type Props = { 10 isOpen: boolean; 11 skillName: string; 12 updates: SkillUpdate[]; 13 handleSelect: (selected: FeedbackSurveyResponse) => void; 14 inputValue: string; 15 setInputValue: (value: string) => void; 16}; 17export function SkillImprovementSurvey(t0) { 18 const $ = _c(6); 19 const { 20 isOpen, 21 skillName, 22 updates, 23 handleSelect, 24 inputValue, 25 setInputValue 26 } = t0; 27 if (!isOpen) { 28 return null; 29 } 30 if (inputValue && !isValidResponseInput(inputValue)) { 31 return null; 32 } 33 let t1; 34 if ($[0] !== handleSelect || $[1] !== inputValue || $[2] !== setInputValue || $[3] !== skillName || $[4] !== updates) { 35 t1 = <SkillImprovementSurveyView skillName={skillName} updates={updates} onSelect={handleSelect} inputValue={inputValue} setInputValue={setInputValue} />; 36 $[0] = handleSelect; 37 $[1] = inputValue; 38 $[2] = setInputValue; 39 $[3] = skillName; 40 $[4] = updates; 41 $[5] = t1; 42 } else { 43 t1 = $[5]; 44 } 45 return t1; 46} 47type ViewProps = { 48 skillName: string; 49 updates: SkillUpdate[]; 50 onSelect: (option: FeedbackSurveyResponse) => void; 51 inputValue: string; 52 setInputValue: (value: string) => void; 53}; 54 55// Only 1 (apply) and 0 (dismiss) are valid for this survey 56const VALID_INPUTS = ['0', '1'] as const; 57function isValidInput(input: string): boolean { 58 return (VALID_INPUTS as readonly string[]).includes(input); 59} 60function SkillImprovementSurveyView(t0) { 61 const $ = _c(17); 62 const { 63 skillName, 64 updates, 65 onSelect, 66 inputValue, 67 setInputValue 68 } = t0; 69 const initialInputValue = useRef(inputValue); 70 let t1; 71 let t2; 72 if ($[0] !== inputValue || $[1] !== onSelect || $[2] !== setInputValue) { 73 t1 = () => { 74 if (inputValue !== initialInputValue.current) { 75 const lastChar = normalizeFullWidthDigits(inputValue.slice(-1)); 76 if (isValidInput(lastChar)) { 77 setInputValue(inputValue.slice(0, -1)); 78 onSelect(lastChar === "1" ? "good" : "dismissed"); 79 } 80 } 81 }; 82 t2 = [inputValue, onSelect, setInputValue]; 83 $[0] = inputValue; 84 $[1] = onSelect; 85 $[2] = setInputValue; 86 $[3] = t1; 87 $[4] = t2; 88 } else { 89 t1 = $[3]; 90 t2 = $[4]; 91 } 92 useEffect(t1, t2); 93 let t3; 94 if ($[5] === Symbol.for("react.memo_cache_sentinel")) { 95 t3 = <Text color="ansi:cyan">{BLACK_CIRCLE} </Text>; 96 $[5] = t3; 97 } else { 98 t3 = $[5]; 99 } 100 let t4; 101 if ($[6] !== skillName) { 102 t4 = <Box>{t3}<Text bold={true}>Skill improvement suggested for "{skillName}"</Text></Box>; 103 $[6] = skillName; 104 $[7] = t4; 105 } else { 106 t4 = $[7]; 107 } 108 let t5; 109 if ($[8] !== updates) { 110 t5 = updates.map(_temp); 111 $[8] = updates; 112 $[9] = t5; 113 } else { 114 t5 = $[9]; 115 } 116 let t6; 117 if ($[10] !== t5) { 118 t6 = <Box flexDirection="column" marginLeft={2}>{t5}</Box>; 119 $[10] = t5; 120 $[11] = t6; 121 } else { 122 t6 = $[11]; 123 } 124 let t7; 125 if ($[12] === Symbol.for("react.memo_cache_sentinel")) { 126 t7 = <Box width={12}><Text><Text color="ansi:cyan">1</Text>: Apply</Text></Box>; 127 $[12] = t7; 128 } else { 129 t7 = $[12]; 130 } 131 let t8; 132 if ($[13] === Symbol.for("react.memo_cache_sentinel")) { 133 t8 = <Box marginLeft={2} marginTop={1}>{t7}<Box width={14}><Text><Text color="ansi:cyan">0</Text>: Dismiss</Text></Box></Box>; 134 $[13] = t8; 135 } else { 136 t8 = $[13]; 137 } 138 let t9; 139 if ($[14] !== t4 || $[15] !== t6) { 140 t9 = <Box flexDirection="column" marginTop={1}>{t4}{t6}{t8}</Box>; 141 $[14] = t4; 142 $[15] = t6; 143 $[16] = t9; 144 } else { 145 t9 = $[16]; 146 } 147 return t9; 148} 149function _temp(u, i) { 150 return <Text key={i} dimColor={true}>{BULLET_OPERATOR} {u.change}</Text>; 151} 152//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsIkJMQUNLX0NJUkNMRSIsIkJVTExFVF9PUEVSQVRPUiIsIkJveCIsIlRleHQiLCJTa2lsbFVwZGF0ZSIsIm5vcm1hbGl6ZUZ1bGxXaWR0aERpZ2l0cyIsImlzVmFsaWRSZXNwb25zZUlucHV0IiwiRmVlZGJhY2tTdXJ2ZXlSZXNwb25zZSIsIlByb3BzIiwiaXNPcGVuIiwic2tpbGxOYW1lIiwidXBkYXRlcyIsImhhbmRsZVNlbGVjdCIsInNlbGVjdGVkIiwiaW5wdXRWYWx1ZSIsInNldElucHV0VmFsdWUiLCJ2YWx1ZSIsIlNraWxsSW1wcm92ZW1lbnRTdXJ2ZXkiLCJ0MCIsIiQiLCJfYyIsInQxIiwiVmlld1Byb3BzIiwib25TZWxlY3QiLCJvcHRpb24iLCJWQUxJRF9JTlBVVFMiLCJjb25zdCIsImlzVmFsaWRJbnB1dCIsImlucHV0IiwiaW5jbHVkZXMiLCJTa2lsbEltcHJvdmVtZW50U3VydmV5VmlldyIsImluaXRpYWxJbnB1dFZhbHVlIiwidDIiLCJjdXJyZW50IiwibGFzdENoYXIiLCJzbGljZSIsInQzIiwiU3ltYm9sIiwiZm9yIiwidDQiLCJ0NSIsIm1hcCIsIl90ZW1wIiwidDYiLCJ0NyIsInQ4IiwidDkiLCJ1IiwiaSIsImNoYW5nZSJdLCJzb3VyY2VzIjpbIlNraWxsSW1wcm92ZW1lbnRTdXJ2ZXkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQkxBQ0tfQ0lSQ0xFLCBCVUxMRVRfT1BFUkFUT1IgfSBmcm9tICcuLi9jb25zdGFudHMvZmlndXJlcy5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uL2luay5qcydcbmltcG9ydCB0eXBlIHsgU2tpbGxVcGRhdGUgfSBmcm9tICcuLi91dGlscy9ob29rcy9za2lsbEltcHJvdmVtZW50LmpzJ1xuaW1wb3J0IHsgbm9ybWFsaXplRnVsbFdpZHRoRGlnaXRzIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nVXRpbHMuanMnXG5pbXBvcnQgeyBpc1ZhbGlkUmVzcG9uc2VJbnB1dCB9IGZyb20gJy4vRmVlZGJhY2tTdXJ2ZXkvRmVlZGJhY2tTdXJ2ZXlWaWV3LmpzJ1xuaW1wb3J0IHR5cGUgeyBGZWVkYmFja1N1cnZleVJlc3BvbnNlIH0gZnJvbSAnLi9GZWVkYmFja1N1cnZleS91dGlscy5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgaXNPcGVuOiBib29sZWFuXG4gIHNraWxsTmFtZTogc3RyaW5nXG4gIHVwZGF0ZXM6IFNraWxsVXBkYXRlW11cbiAgaGFuZGxlU2VsZWN0OiAoc2VsZWN0ZWQ6IEZlZWRiYWNrU3VydmV5UmVzcG9uc2UpID0+IHZvaWRcbiAgaW5wdXRWYWx1ZTogc3RyaW5nXG4gIHNldElucHV0VmFsdWU6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTa2lsbEltcHJvdmVtZW50U3VydmV5KHtcbiAgaXNPcGVuLFxuICBza2lsbE5hbWUsXG4gIHVwZGF0ZXMsXG4gIGhhbmRsZVNlbGVjdCxcbiAgaW5wdXRWYWx1ZSxcbiAgc2V0SW5wdXRWYWx1ZSxcbn06IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgaWYgKCFpc09wZW4pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gSGlkZSB0aGUgc3VydmV5IGlmIHRoZSB1c2VyIGlzIHR5cGluZyBhbnl0aGluZyBvdGhlciB0aGFuIGEgc3VydmV5IHJlc3BvbnNlXG4gIGlmIChpbnB1dFZhbHVlICYmICFpc1ZhbGlkUmVzcG9uc2VJbnB1dChpbnB1dFZhbHVlKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTa2lsbEltcHJvdmVtZW50U3VydmV5Vmlld1xuICAgICAgc2tpbGxOYW1lPXtza2lsbE5hbWV9XG4gICAgICB1cGRhdGVzPXt1cGRhdGVzfVxuICAgICAgb25TZWxlY3Q9e2hhbmRsZVNlbGVjdH1cbiAgICAgIGlucHV0VmFsdWU9e2lucHV0VmFsdWV9XG4gICAgICBzZXRJbnB1dFZhbHVlPXtzZXRJbnB1dFZhbHVlfVxuICAgIC8+XG4gIClcbn1cblxudHlwZSBWaWV3UHJvcHMgPSB7XG4gIHNraWxsTmFtZTogc3RyaW5nXG4gIHVwZGF0ZXM6IFNraWxsVXBkYXRlW11cbiAgb25TZWxlY3Q6IChvcHRpb246IEZlZWRiYWNrU3VydmV5UmVzcG9uc2UpID0+IHZvaWRcbiAgaW5wdXRWYWx1ZTogc3RyaW5nXG4gIHNldElucHV0VmFsdWU6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG59XG5cbi8vIE9ubHkgMSAoYXBwbHkpIGFuZCAwIChkaXNtaXNzKSBhcmUgdmFsaWQgZm9yIHRoaXMgc3VydmV5XG5jb25zdCBWQUxJRF9JTlBVVFMgPSBbJzAnLCAnMSddIGFzIGNvbnN0XG5cbmZ1bmN0aW9uIGlzVmFsaWRJbnB1dChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoVkFMSURfSU5QVVRTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhpbnB1dClcbn1cblxuZnVuY3Rpb24gU2tpbGxJbXByb3ZlbWVudFN1cnZleVZpZXcoe1xuICBza2lsbE5hbWUsXG4gIHVwZGF0ZXMsXG4gIG9uU2VsZWN0LFxuICBpbnB1dFZhbHVlLFxuICBzZXRJbnB1dFZhbHVlLFxufTogVmlld1Byb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgaW5pdGlhbElucHV0VmFsdWUgPSB1c2VSZWYoaW5wdXRWYWx1ZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbnB1dFZhbHVlICE9PSBpbml0aWFsSW5wdXRWYWx1ZS5jdXJyZW50KSB7XG4gICAgICBjb25zdCBsYXN0Q2hhciA9IG5vcm1hbGl6ZUZ1bGxXaWR0aERpZ2l0cyhpbnB1dFZhbHVlLnNsaWNlKC0xKSlcbiAgICAgIGlmIChpc1ZhbGlkSW5wdXQobGFzdENoYXIpKSB7XG4gICAgICAgIHNldElucHV0VmFsdWUoaW5wdXRWYWx1ZS5zbGljZSgwLCAtMSkpXG4gICAgICAgIC8vIE1hcDogMSA9IFwiZ29vZFwiIChhcHBseSksIDAgPSBcImRpc21pc3NlZFwiXG4gICAgICAgIG9uU2VsZWN0KGxhc3RDaGFyID09PSAnMScgPyAnZ29vZCcgOiAnZGlzbWlzc2VkJylcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpbnB1dFZhbHVlLCBvblNlbGVjdCwgc2V0SW5wdXRWYWx1ZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9ezF9PlxuICAgICAgPEJveD5cbiAgICAgICAgPFRleHQgY29sb3I9XCJhbnNpOmN5YW5cIj57QkxBQ0tfQ0lSQ0xFfSA8L1RleHQ+XG4gICAgICAgIDxUZXh0IGJvbGQ+XG4gICAgICAgICAgU2tpbGwgaW1wcm92ZW1lbnQgc3VnZ2VzdGVkIGZvciAmcXVvdDt7c2tpbGxOYW1lfSZxdW90O1xuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0JveD5cblxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgbWFyZ2luTGVmdD17Mn0+XG4gICAgICAgIHt1cGRhdGVzLm1hcCgodSwgaSkgPT4gKFxuICAgICAgICAgIDxUZXh0IGtleT17aX0gZGltQ29sb3I+XG4gICAgICAgICAgICB7QlVMTEVUX09QRVJBVE9SfSB7dS5jaGFuZ2V9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICApKX1cbiAgICAgIDwvQm94PlxuXG4gICAgICA8Qm94IG1hcmdpbkxlZnQ9ezJ9IG1hcmdpblRvcD17MX0+XG4gICAgICAgIDxCb3ggd2lkdGg9ezEyfT5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiYW5zaTpjeWFuXCI+MTwvVGV4dD46IEFwcGx5XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveCB3aWR0aD17MTR9PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgPFRleHQgY29sb3I9XCJhbnNpOmN5YW5cIj4wPC9UZXh0PjogRGlzbWlzc1xuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0JveD5cbiAgICA8L0JveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxTQUFTLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ2hELFNBQVNDLFlBQVksRUFBRUMsZUFBZSxRQUFRLHlCQUF5QjtBQUN2RSxTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxXQUFXO0FBQ3JDLGNBQWNDLFdBQVcsUUFBUSxvQ0FBb0M7QUFDckUsU0FBU0Msd0JBQXdCLFFBQVEseUJBQXlCO0FBQ2xFLFNBQVNDLG9CQUFvQixRQUFRLHdDQUF3QztBQUM3RSxjQUFjQyxzQkFBc0IsUUFBUSwyQkFBMkI7QUFFdkUsS0FBS0MsS0FBSyxHQUFHO0VBQ1hDLE1BQU0sRUFBRSxPQUFPO0VBQ2ZDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxPQUFPLEVBQUVQLFdBQVcsRUFBRTtFQUN0QlEsWUFBWSxFQUFFLENBQUNDLFFBQVEsRUFBRU4sc0JBQXNCLEVBQUUsR0FBRyxJQUFJO0VBQ3hETyxVQUFVLEVBQUUsTUFBTTtFQUNsQkMsYUFBYSxFQUFFLENBQUNDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJO0FBQ3hDLENBQUM7QUFFRCxPQUFPLFNBQUFDLHVCQUFBQyxFQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQWdDO0lBQUFYLE1BQUE7SUFBQUMsU0FBQTtJQUFBQyxPQUFBO0lBQUFDLFlBQUE7SUFBQUUsVUFBQTtJQUFBQztFQUFBLElBQUFHLEVBTy9CO0VBQ04sSUFBSSxDQUFDVCxNQUFNO0lBQUEsT0FDRixJQUFJO0VBQUE7RUFJYixJQUFJSyxVQUErQyxJQUEvQyxDQUFlUixvQkFBb0IsQ0FBQ1EsVUFBVSxDQUFDO0lBQUEsT0FDMUMsSUFBSTtFQUFBO0VBQ1osSUFBQU8sRUFBQTtFQUFBLElBQUFGLENB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