Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@inquirer/checkbox

Package Overview
Dependencies
Maintainers
3
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@inquirer/checkbox - npm Package Compare versions

Comparing version 1.3.12 to 1.4.0

28

./dist/cjs/index.js

@@ -41,11 +41,15 @@ "use strict";

exports.default = (0, core_1.createPrompt)((config, done) => {
const { prefix = (0, core_1.usePrefix)(), instructions, pageSize, choices } = config;
const { prefix = (0, core_1.usePrefix)(), instructions, pageSize, loop = true, choices } = config;
const [status, setStatus] = (0, core_1.useState)('pending');
const [items, setItems] = (0, core_1.useState)(choices.map((choice) => (Object.assign({}, choice))));
const [active, setActive] = (0, core_1.useState)(() => {
const selected = items.findIndex(isSelectable);
if (selected < 0)
const bounds = (0, core_1.useMemo)(() => {
const first = items.findIndex(isSelectable);
// TODO: Replace with `findLastIndex` when it's available.
const last = items.length - 1 - [...items].reverse().findIndex(isSelectable);
if (first < 0) {
throw new Error('[checkbox prompt] No selectable choices. All choices are disabled.');
return selected;
});
}
return { first, last };
}, [items]);
const [active, setActive] = (0, core_1.useState)(bounds.first);
const [showHelpTip, setShowHelpTip] = (0, core_1.useState)(true);

@@ -58,2 +62,6 @@ (0, core_1.useKeypress)((key) => {

else if ((0, core_1.isUpKey)(key) || (0, core_1.isDownKey)(key)) {
if (!loop && active === bounds.first && (0, core_1.isUpKey)(key))
return;
if (!loop && active === bounds.last && (0, core_1.isDownKey)(key))
return;
const offset = (0, core_1.isUpKey)(key) ? -1 : 1;

@@ -88,8 +96,8 @@ let next = active;

const message = chalk_1.default.bold(config.message);
const lines = items
.map((item, index) => renderItem({ item, isActive: index === active }))
.join('\n');
const page = (0, core_1.usePagination)(lines, {
const page = (0, core_1.usePagination)({
items,
active,
renderItem,
pageSize,
loop,
});

@@ -96,0 +104,0 @@ if (status === 'done') {

@@ -41,11 +41,15 @@ "use strict";

exports.default = (0, core_1.createPrompt)((config, done) => {
const { prefix = (0, core_1.usePrefix)(), instructions, pageSize, choices } = config;
const { prefix = (0, core_1.usePrefix)(), instructions, pageSize, loop = true, choices } = config;
const [status, setStatus] = (0, core_1.useState)('pending');
const [items, setItems] = (0, core_1.useState)(choices.map((choice) => (Object.assign({}, choice))));
const [active, setActive] = (0, core_1.useState)(() => {
const selected = items.findIndex(isSelectable);
if (selected < 0)
const bounds = (0, core_1.useMemo)(() => {
const first = items.findIndex(isSelectable);
// TODO: Replace with `findLastIndex` when it's available.
const last = items.length - 1 - [...items].reverse().findIndex(isSelectable);
if (first < 0) {
throw new Error('[checkbox prompt] No selectable choices. All choices are disabled.');
return selected;
});
}
return { first, last };
}, [items]);
const [active, setActive] = (0, core_1.useState)(bounds.first);
const [showHelpTip, setShowHelpTip] = (0, core_1.useState)(true);

@@ -58,2 +62,6 @@ (0, core_1.useKeypress)((key) => {

else if ((0, core_1.isUpKey)(key) || (0, core_1.isDownKey)(key)) {
if (!loop && active === bounds.first && (0, core_1.isUpKey)(key))
return;
if (!loop && active === bounds.last && (0, core_1.isDownKey)(key))
return;
const offset = (0, core_1.isUpKey)(key) ? -1 : 1;

@@ -88,8 +96,8 @@ let next = active;

const message = chalk_1.default.bold(config.message);
const lines = items
.map((item, index) => renderItem({ item, isActive: index === active }))
.join('\n');
const page = (0, core_1.usePagination)(lines, {
const page = (0, core_1.usePagination)({
items,
active,
renderItem,
pageSize,
loop,
});

@@ -96,0 +104,0 @@ if (status === 'done') {

@@ -15,4 +15,5 @@ import { Separator } from '@inquirer/core';

choices: readonly (Separator | Choice<Value>)[];
loop?: boolean | undefined;
}, context?: import("@inquirer/type").Context | undefined) => import("@inquirer/type").CancelablePromise<Value[]>;
export default _default;
export { Separator };
{
"name": "@inquirer/checkbox",
"version": "1.3.12",
"version": "1.4.0",
"engines": {

@@ -60,3 +60,3 @@ "node": ">=14.18.0"

"dependencies": {
"@inquirer/core": "^5.0.1",
"@inquirer/core": "^5.1.0",
"@inquirer/type": "^1.1.5",

@@ -68,3 +68,3 @@ "ansi-escapes": "^4.3.2",

"devDependencies": {
"@inquirer/testing": "^2.1.7"
"@inquirer/testing": "^2.1.8"
},

@@ -91,3 +91,3 @@ "scripts": {

},
"gitHead": "85784061d702778bc9dd48ca08f09ee9976b06ee"
"gitHead": "c88aaca660e58aa0fb079fe656c1004855e029da"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc