@inquirer/input
Advanced tools
Comparing version 1.0.8 to 1.1.0
@@ -19,3 +19,3 @@ "use strict"; | ||
const [status, setStatus] = (0, core_1.useState)('pending'); | ||
const [defaultValue, setDefaultValue] = (0, core_1.useState)(config.default); | ||
const [defaultValue = '', setDefaultValue] = (0, core_1.useState)(config.default); | ||
const [errorMsg, setError] = (0, core_1.useState)(undefined); | ||
@@ -31,3 +31,3 @@ const [value, setValue] = (0, core_1.useState)(''); | ||
if ((0, core_1.isEnterKey)(key)) { | ||
const answer = value || defaultValue || ''; | ||
const answer = value || defaultValue; | ||
setStatus('loading'); | ||
@@ -41,5 +41,5 @@ const isValid = yield config.validate(answer); | ||
else { | ||
// TODO: Can we keep the value after validation failure? | ||
// `rl.line = value` works but it looses the cursor position. | ||
setValue(''); | ||
// Reset the readline line value to the previous value. On line event, the value | ||
// get cleared, forcing the user to re-enter the value instead of fixing it. | ||
rl.write(value); | ||
setError(isValid || 'You must provide a valid value'); | ||
@@ -52,2 +52,8 @@ setStatus('pending'); | ||
} | ||
else if (key.name === 'tab' && !value) { | ||
setDefaultValue(undefined); | ||
rl.clearLine(0); // Remove the tab character. | ||
rl.write(defaultValue); | ||
setValue(defaultValue); | ||
} | ||
else { | ||
@@ -54,0 +60,0 @@ setValue(rl.line); |
@@ -19,3 +19,3 @@ "use strict"; | ||
const [status, setStatus] = (0, core_1.useState)('pending'); | ||
const [defaultValue, setDefaultValue] = (0, core_1.useState)(config.default); | ||
const [defaultValue = '', setDefaultValue] = (0, core_1.useState)(config.default); | ||
const [errorMsg, setError] = (0, core_1.useState)(undefined); | ||
@@ -31,3 +31,3 @@ const [value, setValue] = (0, core_1.useState)(''); | ||
if ((0, core_1.isEnterKey)(key)) { | ||
const answer = value || defaultValue || ''; | ||
const answer = value || defaultValue; | ||
setStatus('loading'); | ||
@@ -41,5 +41,5 @@ const isValid = yield config.validate(answer); | ||
else { | ||
// TODO: Can we keep the value after validation failure? | ||
// `rl.line = value` works but it looses the cursor position. | ||
setValue(''); | ||
// Reset the readline line value to the previous value. On line event, the value | ||
// get cleared, forcing the user to re-enter the value instead of fixing it. | ||
rl.write(value); | ||
setError(isValid || 'You must provide a valid value'); | ||
@@ -52,2 +52,8 @@ setStatus('pending'); | ||
} | ||
else if (key.name === 'tab' && !value) { | ||
setDefaultValue(undefined); | ||
rl.clearLine(0); // Remove the tab character. | ||
rl.write(defaultValue); | ||
setValue(defaultValue); | ||
} | ||
else { | ||
@@ -54,0 +60,0 @@ setValue(rl.line); |
{ | ||
"name": "@inquirer/input", | ||
"version": "1.0.8", | ||
"version": "1.1.0", | ||
"description": "Inquirer input text prompt", | ||
@@ -57,3 +57,3 @@ "main": "./dist/cjs/index.js", | ||
"dependencies": { | ||
"@inquirer/core": "^1.2.0", | ||
"@inquirer/core": "^1.2.1", | ||
"@inquirer/type": "^1.0.3", | ||
@@ -90,3 +90,3 @@ "chalk": "^4.1.2" | ||
}, | ||
"gitHead": "f3a176d916fe26038c9fb57f1ab485aa79c053ce" | ||
"gitHead": "441c3e3e10ed7dc3dbadbf367dfb0eba4ae09854" | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15445
217
Updated@inquirer/core@^1.2.1