init claude-code
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { c as _c } from "react/compiler-runtime";
|
||||
import React, { type ReactNode } from 'react';
|
||||
import type { Theme } from '../../utils/theme.js';
|
||||
import { Dialog } from '../design-system/Dialog.js';
|
||||
import { useWizard } from './useWizard.js';
|
||||
import { WizardNavigationFooter } from './WizardNavigationFooter.js';
|
||||
type Props = {
|
||||
title?: string;
|
||||
color?: keyof Theme;
|
||||
children: ReactNode;
|
||||
subtitle?: string;
|
||||
footerText?: ReactNode;
|
||||
};
|
||||
export function WizardDialogLayout(t0) {
|
||||
const $ = _c(11);
|
||||
const {
|
||||
title: titleOverride,
|
||||
color: t1,
|
||||
children,
|
||||
subtitle,
|
||||
footerText
|
||||
} = t0;
|
||||
const color = t1 === undefined ? "suggestion" : t1;
|
||||
const {
|
||||
currentStepIndex,
|
||||
totalSteps,
|
||||
title: providerTitle,
|
||||
showStepCounter,
|
||||
goBack
|
||||
} = useWizard();
|
||||
const title = titleOverride || providerTitle || "Wizard";
|
||||
const stepSuffix = showStepCounter !== false ? ` (${currentStepIndex + 1}/${totalSteps})` : "";
|
||||
const t2 = `${title}${stepSuffix}`;
|
||||
let t3;
|
||||
if ($[0] !== children || $[1] !== color || $[2] !== goBack || $[3] !== subtitle || $[4] !== t2) {
|
||||
t3 = <Dialog title={t2} subtitle={subtitle} onCancel={goBack} color={color} hideInputGuide={true} isCancelActive={false}>{children}</Dialog>;
|
||||
$[0] = children;
|
||||
$[1] = color;
|
||||
$[2] = goBack;
|
||||
$[3] = subtitle;
|
||||
$[4] = t2;
|
||||
$[5] = t3;
|
||||
} else {
|
||||
t3 = $[5];
|
||||
}
|
||||
let t4;
|
||||
if ($[6] !== footerText) {
|
||||
t4 = <WizardNavigationFooter instructions={footerText} />;
|
||||
$[6] = footerText;
|
||||
$[7] = t4;
|
||||
} else {
|
||||
t4 = $[7];
|
||||
}
|
||||
let t5;
|
||||
if ($[8] !== t3 || $[9] !== t4) {
|
||||
t5 = <>{t3}{t4}</>;
|
||||
$[8] = t3;
|
||||
$[9] = t4;
|
||||
$[10] = t5;
|
||||
} else {
|
||||
t5 = $[10];
|
||||
}
|
||||
return t5;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlJlYWN0Tm9kZSIsIlRoZW1lIiwiRGlhbG9nIiwidXNlV2l6YXJkIiwiV2l6YXJkTmF2aWdhdGlvbkZvb3RlciIsIlByb3BzIiwidGl0bGUiLCJjb2xvciIsImNoaWxkcmVuIiwic3VidGl0bGUiLCJmb290ZXJUZXh0IiwiV2l6YXJkRGlhbG9nTGF5b3V0IiwidDAiLCIkIiwiX2MiLCJ0aXRsZU92ZXJyaWRlIiwidDEiLCJ1bmRlZmluZWQiLCJjdXJyZW50U3RlcEluZGV4IiwidG90YWxTdGVwcyIsInByb3ZpZGVyVGl0bGUiLCJzaG93U3RlcENvdW50ZXIiLCJnb0JhY2siLCJzdGVwU3VmZml4IiwidDIiLCJ0MyIsInQ0IiwidDUiXSwic291cmNlcyI6WyJXaXphcmREaWFsb2dMYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RoZW1lLmpzJ1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9EaWFsb2cuanMnXG5pbXBvcnQgeyB1c2VXaXphcmQgfSBmcm9tICcuL3VzZVdpemFyZC5qcydcbmltcG9ydCB7IFdpemFyZE5hdmlnYXRpb25Gb290ZXIgfSBmcm9tICcuL1dpemFyZE5hdmlnYXRpb25Gb290ZXIuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIHRpdGxlPzogc3RyaW5nXG4gIGNvbG9yPzoga2V5b2YgVGhlbWVcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxuICBzdWJ0aXRsZT86IHN0cmluZ1xuICBmb290ZXJUZXh0PzogUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaXphcmREaWFsb2dMYXlvdXQoe1xuICB0aXRsZTogdGl0bGVPdmVycmlkZSxcbiAgY29sb3IgPSAnc3VnZ2VzdGlvbicsXG4gIGNoaWxkcmVuLFxuICBzdWJ0aXRsZSxcbiAgZm9vdGVyVGV4dCxcbn06IFByb3BzKTogUmVhY3ROb2RlIHtcbiAgY29uc3Qge1xuICAgIGN1cnJlbnRTdGVwSW5kZXgsXG4gICAgdG90YWxTdGVwcyxcbiAgICB0aXRsZTogcHJvdmlkZXJUaXRsZSxcbiAgICBzaG93U3RlcENvdW50ZXIsXG4gICAgZ29CYWNrLFxuICB9ID0gdXNlV2l6YXJkKClcbiAgY29uc3QgdGl0bGUgPSB0aXRsZU92ZXJyaWRlIHx8IHByb3ZpZGVyVGl0bGUgfHwgJ1dpemFyZCdcbiAgY29uc3Qgc3RlcFN1ZmZpeCA9XG4gICAgc2hvd1N0ZXBDb3VudGVyICE9PSBmYWxzZSA/IGAgKCR7Y3VycmVudFN0ZXBJbmRleCArIDF9LyR7dG90YWxTdGVwc30pYCA6ICcnXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPERpYWxvZ1xuICAgICAgICB0aXRsZT17YCR7dGl0bGV9JHtzdGVwU3VmZml4fWB9XG4gICAgICAgIHN1YnRpdGxlPXtzdWJ0aXRsZX1cbiAgICAgICAgb25DYW5jZWw9e2dvQmFja31cbiAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICBoaWRlSW5wdXRHdWlkZVxuICAgICAgICBpc0NhbmNlbEFjdGl2ZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvRGlhbG9nPlxuICAgICAgPFdpemFyZE5hdmlnYXRpb25Gb290ZXIgaW5zdHJ1Y3Rpb25zPXtmb290ZXJUZXh0fSAvPlxuICAgIDwvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUksS0FBS0MsU0FBUyxRQUFRLE9BQU87QUFDN0MsY0FBY0MsS0FBSyxRQUFRLHNCQUFzQjtBQUNqRCxTQUFTQyxNQUFNLFFBQVEsNEJBQTRCO0FBQ25ELFNBQVNDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDMUMsU0FBU0Msc0JBQXNCLFFBQVEsNkJBQTZCO0FBRXBFLEtBQUtDLEtBQUssR0FBRztFQUNYQyxLQUFLLENBQUMsRUFBRSxNQUFNO0VBQ2RD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
|
||||
@@ -0,0 +1,24 @@
|
||||
import React, { type ReactNode } from 'react';
|
||||
import { useExitOnCtrlCDWithKeybindings } from '../../hooks/useExitOnCtrlCDWithKeybindings.js';
|
||||
import { Box, Text } from '../../ink.js';
|
||||
import { ConfigurableShortcutHint } from '../ConfigurableShortcutHint.js';
|
||||
import { Byline } from '../design-system/Byline.js';
|
||||
import { KeyboardShortcutHint } from '../design-system/KeyboardShortcutHint.js';
|
||||
type Props = {
|
||||
instructions?: ReactNode;
|
||||
};
|
||||
export function WizardNavigationFooter({
|
||||
instructions = <Byline>
|
||||
<KeyboardShortcutHint shortcut="↑↓" action="navigate" />
|
||||
<KeyboardShortcutHint shortcut="Enter" action="select" />
|
||||
<ConfigurableShortcutHint action="confirm:no" context="Confirmation" fallback="Esc" description="go back" />
|
||||
</Byline>
|
||||
}: Props): ReactNode {
|
||||
const exitState = useExitOnCtrlCDWithKeybindings();
|
||||
return <Box marginLeft={3} marginTop={1}>
|
||||
<Text dimColor>
|
||||
{exitState.pending ? `Press ${exitState.keyName} again to exit` : instructions}
|
||||
</Text>
|
||||
</Box>;
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlJlYWN0Tm9kZSIsInVzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncyIsIkJveCIsIlRleHQiLCJDb25maWd1cmFibGVTaG9ydGN1dEhpbnQiLCJCeWxpbmUiLCJLZXlib2FyZFNob3J0Y3V0SGludCIsIlByb3BzIiwiaW5zdHJ1Y3Rpb25zIiwiV2l6YXJkTmF2aWdhdGlvbkZvb3RlciIsImV4aXRTdGF0ZSIsInBlbmRpbmciLCJrZXlOYW1lIl0sInNvdXJjZXMiOlsiV2l6YXJkTmF2aWdhdGlvbkZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHR5cGUgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MgfSBmcm9tICcuLi8uLi9ob29rcy91c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyBDb25maWd1cmFibGVTaG9ydGN1dEhpbnQgfSBmcm9tICcuLi9Db25maWd1cmFibGVTaG9ydGN1dEhpbnQuanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0J5bGluZS5qcydcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRIaW50IH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9LZXlib2FyZFNob3J0Y3V0SGludC5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgaW5zdHJ1Y3Rpb25zPzogUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXaXphcmROYXZpZ2F0aW9uRm9vdGVyKHtcbiAgaW5zdHJ1Y3Rpb25zID0gKFxuICAgIDxCeWxpbmU+XG4gICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCLihpHihpNcIiBhY3Rpb249XCJuYXZpZ2F0ZVwiIC8+XG4gICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlclwiIGFjdGlvbj1cInNlbGVjdFwiIC8+XG4gICAgICA8Q29uZmlndXJhYmxlU2hvcnRjdXRIaW50XG4gICAgICAgIGFjdGlvbj1cImNvbmZpcm06bm9cIlxuICAgICAgICBjb250ZXh0PVwiQ29uZmlybWF0aW9uXCJcbiAgICAgICAgZmFsbGJhY2s9XCJFc2NcIlxuICAgICAgICBkZXNjcmlwdGlvbj1cImdvIGJhY2tcIlxuICAgICAgLz5cbiAgICA8L0J5bGluZT5cbiAgKSxcbn06IFByb3BzKTogUmVhY3ROb2RlIHtcbiAgY29uc3QgZXhpdFN0YXRlID0gdXNlRXhpdE9uQ3RybENEV2l0aEtleWJpbmRpbmdzKClcblxuICByZXR1cm4gKFxuICAgIDxCb3ggbWFyZ2luTGVmdD17M30gbWFyZ2luVG9wPXsxfT5cbiAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICB7ZXhpdFN0YXRlLnBlbmRpbmdcbiAgICAgICAgICA/IGBQcmVzcyAke2V4aXRTdGF0ZS5rZXlOYW1lfSBhZ2FpbiB0byBleGl0YFxuICAgICAgICAgIDogaW5zdHJ1Y3Rpb25zfVxuICAgICAgPC9UZXh0PlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssSUFBSSxLQUFLQyxTQUFTLFFBQVEsT0FBTztBQUM3QyxTQUFTQyw4QkFBOEIsUUFBUSwrQ0FBK0M7QUFDOUYsU0FBU0MsR0FBRyxFQUFFQyxJQUFJLFFBQVEsY0FBYztBQUN4QyxTQUFTQyx3QkFBd0IsUUFBUSxnQ0FBZ0M7QUFDekUsU0FBU0MsTUFBTSxRQUFRLDRCQUE0QjtBQUNuRCxTQUFTQyxvQkFBb0IsUUFBUSwwQ0FBMEM7QUFFL0UsS0FBS0MsS0FBSyxHQUFHO0VBQ1hDLFlBQVksQ0FBQyxFQUFFUixTQUFTO0FBQzFCLENBQUM7QUFFRCxPQUFPLFNBQVNTLHNCQUFzQkEsQ0FBQztFQUNyQ0QsWUFBWSxHQUNWLENBQUMsTUFBTTtBQUNYLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO0FBQzNELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRO0FBQzVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FDdkIsTUFBTSxDQUFDLFlBQVksQ0FDbkIsT0FBTyxDQUFDLGNBQWMsQ0FDdEIsUUFBUSxDQUFDLEtBQUssQ0FDZCxXQUFXLENBQUMsU0FBUztBQUU3QixJQUFJLEVBQUUsTUFBTTtBQUVMLENBQU4sRUFBRUQsS0FBSyxDQUFDLEVBQUVQLFNBQVMsQ0FBQztFQUNuQixNQUFNVSxTQUFTLEdBQUdULDhCQUE4QixDQUFDLENBQUM7RUFFbEQsT0FDRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRO0FBQ3BCLFFBQVEsQ0FBQ1MsU0FBUyxDQUFDQyxPQUFPLEdBQ2QsU0FBU0QsU0FBUyxDQUFDRSxPQUFPLGdCQUFnQixHQUMxQ0osWUFBWTtBQUN4QixNQUFNLEVBQUUsSUFBSTtBQUNaLElBQUksRUFBRSxHQUFHLENBQUM7QUFFViIsImlnbm9yZUxpc3QiOltdfQ==
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
export type {
|
||||
WizardContextValue,
|
||||
WizardProviderProps,
|
||||
WizardStepComponent,
|
||||
} from './types.js'
|
||||
export { useWizard } from './useWizard.js'
|
||||
export { WizardDialogLayout } from './WizardDialogLayout.js'
|
||||
export { WizardNavigationFooter } from './WizardNavigationFooter.js'
|
||||
export { WizardProvider } from './WizardProvider.js'
|
||||
@@ -0,0 +1,13 @@
|
||||
import { useContext } from 'react'
|
||||
import type { WizardContextValue } from './types.js'
|
||||
import { WizardContext } from './WizardProvider.js'
|
||||
|
||||
export function useWizard<
|
||||
T extends Record<string, unknown> = Record<string, unknown>,
|
||||
>(): WizardContextValue<T> {
|
||||
const context = useContext(WizardContext) as WizardContextValue<T> | null
|
||||
if (!context) {
|
||||
throw new Error('useWizard must be used within a WizardProvider')
|
||||
}
|
||||
return context
|
||||
}
|
||||
Reference in New Issue
Block a user