import { c as _c } from "react/compiler-runtime";
import figures from 'figures';
import * as React from 'react';
import { useState } from 'react';
import TextInput from '../../../components/TextInput.js';
import { useExitOnCtrlCDWithKeybindings } from '../../../hooks/useExitOnCtrlCDWithKeybindings.js';
import { useTerminalSize } from '../../../hooks/useTerminalSize.js';
import { Box, Newline, Text } from '../../../ink.js';
import { useKeybinding } from '../../../keybindings/useKeybinding.js';
import { BashTool } from '../../../tools/BashTool/BashTool.js';
import { WebFetchTool } from '../../../tools/WebFetchTool/WebFetchTool.js';
import type { PermissionBehavior, PermissionRuleValue } from '../../../utils/permissions/PermissionRule.js';
import { permissionRuleValueFromString, permissionRuleValueToString } from '../../../utils/permissions/permissionRuleParser.js';
export type PermissionRuleInputProps = {
  onCancel: () => void;
  onSubmit: (ruleValue: PermissionRuleValue, ruleBehavior: PermissionBehavior) => void;
  ruleBehavior: PermissionBehavior;
};
export function PermissionRuleInput(t0) {
  const $ = _c(24);
  const {
    onCancel,
    onSubmit,
    ruleBehavior
  } = t0;
  const [inputValue, setInputValue] = useState("");
  const [cursorOffset, setCursorOffset] = useState(0);
  const exitState = useExitOnCtrlCDWithKeybindings();
  let t1;
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
    t1 = {
      context: "Settings"
    };
    $[0] = t1;
  } else {
    t1 = $[0];
  }
  useKeybinding("confirm:no", onCancel, t1);
  const {
    columns
  } = useTerminalSize();
  const textInputColumns = columns - 6;
  let t2;
  if ($[1] !== onSubmit || $[2] !== ruleBehavior) {
    t2 = value => {
      const trimmedValue = value.trim();
      if (trimmedValue.length === 0) {
        return;
      }
      const ruleValue = permissionRuleValueFromString(trimmedValue);
      onSubmit(ruleValue, ruleBehavior);
    };
    $[1] = onSubmit;
    $[2] = ruleBehavior;
    $[3] = t2;
  } else {
    t2 = $[3];
  }
  const handleSubmit = t2;
  let t3;
  if ($[4] !== ruleBehavior) {
    t3 = <Text bold={true} color="permission">Add {ruleBehavior} permission rule</Text>;
    $[4] = ruleBehavior;
    $[5] = t3;
  } else {
    t3 = $[5];
  }
  let t4;
  if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
    t4 = <Newline />;
    $[6] = t4;
  } else {
    t4 = $[6];
  }
  let t5;
  let t6;
  if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
    t5 = <Text bold={true}>{permissionRuleValueToString({
        toolName: WebFetchTool.name
      })}</Text>;
    t6 = <Text bold={false}> or </Text>;
    $[7] = t5;
    $[8] = t6;
  } else {
    t5 = $[7];
    t6 = $[8];
  }
  let t7;
  if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
    t7 = <Text>Permission rules are a tool name, optionally followed by a specifier in parentheses.{t4}e.g.,{" "}{t5}{t6}<Text bold={true}>{permissionRuleValueToString({
          toolName: BashTool.name,
          ruleContent: "ls:*"
        })}</Text></Text>;
    $[9] = t7;
  } else {
    t7 = $[9];
  }
  let t8;
  if ($[10] !== cursorOffset || $[11] !== handleSubmit || $[12] !== inputValue || $[13] !== textInputColumns) {
    t8 = <Box flexDirection="column">{t7}<Box borderDimColor={true} borderStyle="round" marginY={1} paddingLeft={1}><TextInput showCursor={true} value={inputValue} onChange={setInputValue} onSubmit={handleSubmit} placeholder={`Enter permission rule${figures.ellipsis}`} columns={textInputColumns} cursorOffset={cursorOffset} onChangeCursorOffset={setCursorOffset} /></Box></Box>;
    $[10] = cursorOffset;
    $[11] = handleSubmit;
    $[12] = inputValue;
    $[13] = textInputColumns;
    $[14] = t8;
  } else {
    t8 = $[14];
  }
  let t9;
  if ($[15] !== t3 || $[16] !== t8) {
    t9 = <Box flexDirection="column" gap={1} borderStyle="round" paddingLeft={1} paddingRight={1} borderColor="permission">{t3}{t8}</Box>;
    $[15] = t3;
    $[16] = t8;
    $[17] = t9;
  } else {
    t9 = $[17];
  }
  let t10;
  if ($[18] !== exitState.keyName || $[19] !== exitState.pending) {
    t10 = <Box marginLeft={3}>{exitState.pending ? <Text dimColor={true}>Press {exitState.keyName} again to exit</Text> : <Text dimColor={true}>Enter to submit · Esc to cancel</Text>}</Box>;
    $[18] = exitState.keyName;
    $[19] = exitState.pending;
    $[20] = t10;
  } else {
    t10 = $[20];
  }
  let t11;
  if ($[21] !== t10 || $[22] !== t9) {
    t11 = <>{t9}{t10}</>;
    $[21] = t10;
    $[22] = t9;
    $[23] = t11;
  } else {
    t11 = $[23];
  }
  return t11;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWd1cmVzIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIlRleHRJbnB1dCIsInVzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncyIsInVzZVRlcm1pbmFsU2l6ZSIsIkJveCIsIk5ld2xpbmUiLCJUZXh0IiwidXNlS2V5YmluZGluZyIsIkJhc2hUb29sIiwiV2ViRmV0Y2hUb29sIiwiUGVybWlzc2lvbkJlaGF2aW9yIiwiUGVybWlzc2lvblJ1bGVWYWx1ZSIsInBlcm1pc3Npb25SdWxlVmFsdWVGcm9tU3RyaW5nIiwicGVybWlzc2lvblJ1bGVWYWx1ZVRvU3RyaW5nIiwiUGVybWlzc2lvblJ1bGVJbnB1dFByb3BzIiwib25DYW5jZWwiLCJvblN1Ym1pdCIsInJ1bGVWYWx1ZSIsInJ1bGVCZWhhdmlvciIsIlBlcm1pc3Npb25SdWxlSW5wdXQiLCJ0MCIsIiQiLCJfYyIsImlucHV0VmFsdWUiLCJzZXRJbnB1dFZhbHVlIiwiY3Vyc29yT2Zmc2V0Iiwic2V0Q3Vyc29yT2Zmc2V0IiwiZXhpdFN0YXRlIiwidDEiLCJTeW1ib2wiLCJmb3IiLCJjb250ZXh0IiwiY29sdW1ucyIsInRleHRJbnB1dENvbHVtbnMiLCJ0MiIsInZhbHVlIiwidHJpbW1lZFZhbHVlIiwidHJpbSIsImxlbmd0aCIsImhhbmRsZVN1Ym1pdCIsInQzIiwidDQiLCJ0NSIsInQ2IiwidG9vbE5hbWUiLCJuYW1lIiwidDciLCJydWxlQ29udGVudCIsInQ4IiwiZWxsaXBzaXMiLCJ0OSIsInQxMCIsImtleU5hbWUiLCJwZW5kaW5nIiwidDExIl0sInNvdXJjZXMiOlsiUGVybWlzc2lvblJ1bGVJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpZ3VyZXMgZnJvbSAnZmlndXJlcydcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBUZXh0SW5wdXQgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UZXh0SW5wdXQuanMnXG5pbXBvcnQgeyB1c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MuanMnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgeyBCb3gsIE5ld2xpbmUsIFRleHQgfSBmcm9tICcuLi8uLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4vLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7IEJhc2hUb29sIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvQmFzaFRvb2wvQmFzaFRvb2wuanMnXG5pbXBvcnQgeyBXZWJGZXRjaFRvb2wgfSBmcm9tICcuLi8uLi8uLi90b29scy9XZWJGZXRjaFRvb2wvV2ViRmV0Y2hUb29sLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBQZXJtaXNzaW9uQmVoYXZpb3IsXG4gIFBlcm1pc3Npb25SdWxlVmFsdWUsXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzL3Blcm1pc3Npb25zL1Blcm1pc3Npb25SdWxlLmpzJ1xuaW1wb3J0IHtcbiAgcGVybWlzc2lvblJ1bGVWYWx1ZUZyb21TdHJpbmcsXG4gIHBlcm1pc3Npb25SdWxlVmFsdWVUb1N0cmluZyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcGVybWlzc2lvbnMvcGVybWlzc2lvblJ1bGVQYXJzZXIuanMnXG5cbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25SdWxlSW5wdXRQcm9wcyA9IHtcbiAgb25DYW5jZWw6ICgpID0+IHZvaWRcbiAgb25TdWJtaXQ6IChcbiAgICBydWxlVmFsdWU6IFBlcm1pc3Npb25SdWxlVmFsdWUsXG4gICAgcnVsZUJlaGF2aW9yOiBQZXJtaXNzaW9uQmVoYXZpb3IsXG4gICkgPT4gdm9pZFxuICBydWxlQmVoYXZpb3I6IFBlcm1pc3Npb25CZWhhdmlvclxufVxuXG5leHBvcnQgZnVuY3Rpb24gUGVybWlzc2lvblJ1bGVJbnB1dCh7XG4gIG9uQ2FuY2VsLFxuICBvblN1Ym1pdCxcbiAgcnVsZUJlaGF2aW9yLFxufTogUGVybWlzc2lvblJ1bGVJbnB1dFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgW2lucHV0VmFsdWUsIHNldElucHV0VmFsdWVdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtjdXJzb3JPZmZzZXQsIHNldEN1cnNvck9mZnNldF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBleGl0U3RhdGUgPSB1c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MoKVxuXG4gIC8vIFVzZSBjb25maWd1cmFibGUga2V5YmluZGluZyBmb3IgRVNDIHRvIGNhbmNlbFxuICAvLyBVc2UgU2V0dGluZ3MgY29udGV4dCBzbyAnbicga2V5IGRvZXNuJ3QgY2FuY2VsIChhbGxvd3MgdHlwaW5nICduJyBpbiBpbnB1dClcbiAgdXNlS2V5YmluZGluZygnY29uZmlybTpubycsIG9uQ2FuY2VsLCB7IGNvbnRleHQ6ICdTZXR0aW5ncycgfSlcblxuICBjb25zdCB7IGNvbHVtbnMgfSA9IHVzZVRlcm1pbmFsU2l6ZSgpXG4gIGNvbnN0IHRleHRJbnB1dENvbHVtbnMgPSBjb2x1bW5zIC0gNlxuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG4gICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBydWxlVmFsdWUgPSBwZXJtaXNzaW9uUnVsZVZhbHVlRnJvbVN0cmluZyh0cmltbWVkVmFsdWUpXG4gICAgb25TdWJtaXQocnVsZVZhbHVlLCBydWxlQmVoYXZpb3IpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Qm94XG4gICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICBnYXA9ezF9XG4gICAgICAgIGJvcmRlclN0eWxlPVwicm91bmRcIlxuICAgICAgICBwYWRkaW5nTGVmdD17MX1cbiAgICAgICAgcGFkZGluZ1JpZ2h0PXsxfVxuICAgICAgICBib3JkZXJDb2xvcj1cInBlcm1pc3Npb25cIlxuICAgICAgPlxuICAgICAgICA8VGV4dCBib2xkIGNvbG9yPVwicGVybWlzc2lvblwiPlxuICAgICAgICAgIEFkZCB7cnVsZUJlaGF2aW9yfSBwZXJtaXNzaW9uIHJ1bGVcbiAgICAgICAgPC9UZXh0PlxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIFBlcm1pc3Npb24gcnVsZXMgYXJlIGEgdG9vbCBuYW1lLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgc3BlY2lmaWVyXG4gICAgICAgICAgICBpbiBwYXJlbnRoZXNlcy5cbiAgICAgICAgICAgIDxOZXdsaW5lIC8+XG4gICAgICAgICAgICBlLmcuLHsnICd9XG4gICAgICAgICAgICA8VGV4dCBib2xkPlxuICAgICAgICAgICAgICB7cGVybWlzc2lvblJ1bGVWYWx1ZVRvU3RyaW5nKHsgdG9vbE5hbWU6IFdlYkZldGNoVG9vbC5uYW1lIH0pfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQgYm9sZD17ZmFsc2V9PiBvciA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPlxuICAgICAgICAgICAgICB7cGVybWlzc2lvblJ1bGVWYWx1ZVRvU3RyaW5nKHtcbiAgICAgICAgICAgICAgICB0b29sTmFtZTogQmFzaFRvb2wubmFtZSxcbiAgICAgICAgICAgICAgICBydWxlQ29udGVudDogJ2xzOionLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPEJveCBib3JkZXJEaW1Db2xvciBib3JkZXJTdHlsZT1cInJvdW5kXCIgbWFyZ2luWT17MX0gcGFkZGluZ0xlZnQ9ezF9PlxuICAgICAgICAgICAgPFRleHRJbnB1dFxuICAgICAgICAgICAgICBzaG93Q3Vyc29yXG4gICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0SW5wdXRWYWx1ZX1cbiAgICAgICAgICAgICAgb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2BFbnRlciBwZXJtaXNzaW9uIHJ1bGUke2ZpZ3VyZXMuZWxsaXBzaXN9YH1cbiAgICAgICAgICAgICAgY29sdW1ucz17dGV4dElucHV0Q29sdW1uc31cbiAgICAgICAgICAgICAgY3Vyc29yT2Zmc2V0PXtjdXJzb3JPZmZzZXR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlQ3Vyc29yT2Zmc2V0PXtzZXRDdXJzb3JPZmZzZXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQm94PlxuICAgICAgPEJveCBtYXJnaW5MZWZ0PXszfT5cbiAgICAgICAge2V4aXRTdGF0ZS5wZW5kaW5nID8gKFxuICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlByZXNzIHtleGl0U3RhdGUua2V5TmFtZX0gYWdhaW4gdG8gZXhpdDwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5FbnRlciB0byBzdWJtaXQgwrcgRXNjIHRvIGNhbmNlbDwvVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvQm94PlxuICAgIDwvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxPQUFPLE1BQU0sU0FBUztBQUM3QixPQUFPLEtBQUtDLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLFFBQVEsUUFBUSxPQUFPO0FBQ2hDLE9BQU9DLFNBQVMsTUFBTSxrQ0FBa0M7QUFDeEQsU0FBU0MsOEJBQThCLFFBQVEsa0RBQWtEO0FBQ2pH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