Confirmation input component for Ink
$ npm install ink-confirm-input
import React, {useCallback, useState} from 'react';
import {render, Box} from 'ink';
import ConfirmInput from 'ink-confirm-input';
const UnicornQuestion = () => {
const [answer, setAnswer] = useState();
const [value, setValue] = useState('');
const handleSubmit = useCallback(submitValue => {
if (submitValue === false) {
setAnswer({answer: 'You are heartless…'});
return;
}
setAnswer({answer: 'You love unicorns!'});
}, [setAnswer]);
return (
<Box>
Do you like unicorns? (Y/n)
<ConfirmInput
isChecked
value={value}
onChange={setValue}
onSubmit={handleSubmit}
/>
{answer && answer}
</Box>
);
};
render(<UnicornQuestion/>);
<ConfirmInput/>
accepts the same props as <TextInput/>
in addition to the ones below.
Type: boolean
Whether to return true
or false
by default.
Type: string
Value to display in a text input.
Type: string
Text to display when value
is empty.
Type: Function
Function to call when value updates. Returns a string
with the input.
Type: Function
Function to call when user press Enter. Returns a boolean
for the answer.