Confirm#

A focusable inline yes/no control with two-way model binding and customizable labels for each state.

Import#

TSX
import { Confirm } from '@sigx/terminal';

Usage#

TSX
/** @jsxImportSource @sigx/terminal */
import { component, defineApp, signal, Confirm } from '@sigx/terminal';

const App = component(() => {
    const overwrite = signal(false);
    return () => (
        <box border="single" label="Confirm">
            <Confirm
                model={() => overwrite}
                label="Overwrite the existing file?"
                activeLabel="Yes"
                inactiveLabel="No"
                autofocus
                onSubmit={(v) => console.log('decided:', v)}
            />
        </box>
    );
});

defineApp(<App />).mount({ clearConsole: true });

Props#

PropTypeNotes
modelModel<boolean>two-way bound choice
labelstringthe question
activeLabelstringlabel for true
inactiveLabelstringlabel for false
autofocusbooleangrab focus on mount

Events#

EventPayloadWhen
changebooleanthe selection flips
submitbooleanEnter

See also#