πŸ“„ File detail

components/hooks/PromptDialog.tsx

🧩 .tsxπŸ“ 90 linesπŸ’Ύ 7,482 bytesπŸ“ text
← Back to All Files

🎯 Use case

This file lives under β€œcomponents/”, which covers shared React UI pieces. On the API surface it exposes PromptDialog β€” mainly types, interfaces, or factory objects. Dependencies touch React UI. It composes internal code from ink, keybindings, types, CustomSelect, and permissions (relative imports).

Generated from folder role, exports, dependency roots, and inline comments β€” not hand-reviewed for every path.

🧠 Inline summary

import { c as _c } from "react/compiler-runtime"; import * as React from 'react'; import { Box, Text } from '../../ink.js'; import { useKeybinding } from '../../keybindings/useKeybinding.js'; import type { PromptRequest } from '../../types/hooks.js';

πŸ“€ Exports (heuristic)

  • PromptDialog

πŸ“š External import roots

Package roots from from "…" (relative paths omitted).

  • react

πŸ–₯️ Source preview

import { c as _c } from "react/compiler-runtime";
import * as React from 'react';
import { Box, Text } from '../../ink.js';
import { useKeybinding } from '../../keybindings/useKeybinding.js';
import type { PromptRequest } from '../../types/hooks.js';
import { Select } from '../CustomSelect/select.js';
import { PermissionDialog } from '../permissions/PermissionDialog.js';
type Props = {
  title: string;
  toolInputSummary?: string | null;
  request: PromptRequest;
  onRespond: (key: string) => void;
  onAbort: () => void;
};
export function PromptDialog(t0) {
  const $ = _c(15);
  const {
    title,
    toolInputSummary,
    request,
    onRespond,
    onAbort
  } = t0;
  let t1;
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
    t1 = {
      isActive: true
    };
    $[0] = t1;
  } else {
    t1 = $[0];
  }
  useKeybinding("app:interrupt", onAbort, t1);
  let t2;
  if ($[1] !== request.options) {
    t2 = request.options.map(_temp);
    $[1] = request.options;
    $[2] = t2;
  } else {
    t2 = $[2];
  }
  const options = t2;
  let t3;
  if ($[3] !== toolInputSummary) {
    t3 = toolInputSummary ? <Text dimColor={true}>{toolInputSummary}</Text> : undefined;
    $[3] = toolInputSummary;
    $[4] = t3;
  } else {
    t3 = $[4];
  }
  let t4;
  if ($[5] !== onRespond) {
    t4 = value => {
      onRespond(value);
    };
    $[5] = onRespond;
    $[6] = t4;
  } else {
    t4 = $[6];
  }
  let t5;
  if ($[7] !== options || $[8] !== t4) {
    t5 = <Box flexDirection="column" paddingY={1}><Select options={options} onChange={t4} /></Box>;
    $[7] = options;
    $[8] = t4;
    $[9] = t5;
  } else {
    t5 = $[9];
  }
  let t6;
  if ($[10] !== request.message || $[11] !== t3 || $[12] !== t5 || $[13] !== title) {
    t6 = <PermissionDialog title={title} subtitle={request.message} titleRight={t3}>{t5}</PermissionDialog>;
    $[10] = request.message;
    $[11] = t3;
    $[12] = t5;
    $[13] = title;
    $[14] = t6;
  } else {
    t6 = $[14];
  }
  return t6;
}
function _temp(opt) {
  return {
    label: opt.label,
    value: opt.key,
    description: opt.description
  };
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5nIiwiUHJvbXB0UmVxdWVzdCIsIlNlbGVjdCIsIlBlcm1pc3Npb25EaWFsb2ciLCJQcm9wcyIsInRpdGxlIiwidG9vbElucHV0U3VtbWFyeSIsInJlcXVlc3QiLCJvblJlc3BvbmQiLCJrZXkiLCJvbkFib3J0IiwiUHJvbXB0RGlhbG9nIiwidDAiLCIkIiwiX2MiLCJ0MSIsIlN5bWJvbCIsImZvciIsImlzQWN0aXZlIiwidDIiLCJvcHRpb25zIiwibWFwIiwiX3RlbXAiLCJ0MyIsInVuZGVmaW5lZCIsInQ0IiwidmFsdWUiLCJ0NSIsInQ2IiwibWVzc2FnZSIsIm9wdCIsImxhYmVsIiwiZGVzY3JpcHRpb24iXSwic291cmNlcyI6WyJQcm9tcHREaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgdXNlS2V5YmluZGluZyB9IGZyb20gJy4uLy4uL2tleWJpbmRpbmdzL3VzZUtleWJpbmRpbmcuanMnXG5pbXBvcnQgdHlwZSB7IFByb21wdFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcy9ob29rcy5qcydcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uL0N1c3RvbVNlbGVjdC9zZWxlY3QuanMnXG5pbXBvcnQgeyBQZXJtaXNzaW9uRGlhbG9nIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMvUGVybWlzc2lvbkRpYWxvZy5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgdGl0bGU6IHN0cmluZ1xuICB0b29sSW5wdXRTdW1tYXJ5Pzogc3RyaW5nIHwgbnVsbFxuICByZXF1ZXN0OiBQcm9tcHRSZXF1ZXN0XG4gIG9uUmVzcG9uZDogKGtleTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uQWJvcnQ6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb21wdERpYWxvZyh7XG4gIHRpdGxlLFxuICB0b29sSW5wdXRTdW1tYXJ5LFxuICByZXF1ZXN0LFxuICBvblJlc3BvbmQsXG4gIG9uQWJvcnQsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIHVzZUtleWJpbmRpbmcoJ2FwcDppbnRlcnJ1cHQnLCBvbkFib3J0LCB7IGlzQWN0aXZlOiB0cnVlIH0pXG5cbiAgY29uc3Qgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9ucy5tYXAob3B0ID0+ICh7XG4gICAgbGFiZWw6IG9wdC5sYWJlbCxcbiAgICB2YWx1ZTogb3B0LmtleSxcbiAgICBkZXNjcmlwdGlvbjogb3B0LmRlc2NyaXB0aW9uLFxuICB9KSlcblxuICByZXR1cm4gKFxuICAgIDxQZXJtaXNzaW9uRGlhbG9nXG4gICAgICB0aXRsZT17dGl0bGV9XG4gICAgICBzdWJ0aXRsZT17cmVxdWVzdC5tZXNzYWdlfVxuICAgICAgdGl0bGVSaWdodD17XG4gICAgICAgIHRvb2xJbnB1dFN1bW1hcnkgPyA8VGV4dCBkaW1Db2xvcj57dG9vbElucHV0U3VtbWFyeX08L1RleHQ+IDogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgPlxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgcGFkZGluZ1k9ezF9PlxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICBvbkNoYW5nZT17dmFsdWUgPT4ge1xuICAgICAgICAgICAgb25SZXNwb25kKHZhbHVlKVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L0JveD5cbiAgICA8L1Blcm1pc3Npb25EaWFsb2c+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsR0FBRyxFQUFFQyxJQUFJLFFBQVEsY0FBYztBQUN4QyxTQUFTQyxhQUFhLFFBQVEsb0NBQW9DO0FBQ2xFLGNBQWNDLGFBQWEsUUFBUSxzQkFBc0I7QUFDekQs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