Socket
Socket
Sign inDemoInstall

@szhsin/react-autocomplete

Package Overview
Dependencies
5
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.8.3 to 0.8.4

dist/esm/traversals/groupedTraversal.js

37

dist/cjs/index.js

@@ -248,6 +248,7 @@ 'use strict';

const baseIndex = traverseInput ? -1 : 0;
let nextIndex = instance.a;
let nextItem;
let newItem,
nextIndex = instance.a,
itemCounter = 0;
const itemLength = items.length;
do {
for (;;) {
if (isForward) {

@@ -258,8 +259,9 @@ if (++nextIndex >= itemLength) nextIndex = baseIndex;

}
nextItem = items[nextIndex];
if (!nextItem || !isItemDisabled(nextItem)) break;
} while (nextIndex !== instance.a);
newItem = items[nextIndex];
if (!newItem || !isItemDisabled(newItem)) break;
if (++itemCounter >= itemLength) return focusItem;
}
instance.a = nextIndex;
setFocusItem(nextItem);
return nextItem;
setFocusItem(newItem);
return newItem;
}

@@ -269,5 +271,24 @@ };

const isArray = Array.isArray;
const groupedTraversal = ({
groupedItems,
getItemsInGroup,
...restProps
}) => {
const groups = isArray(groupedItems) ? groupedItems : groupedItems ? Object.values(groupedItems) : [];
const items = [];
groups.forEach(group => {
const itemsInGroup = isArray(group) ? group : getItemsInGroup ? getItemsInGroup(group) : [];
items.push(...itemsInGroup);
});
return linearTraversal({
...restProps,
items
});
};
exports.autocomplete = autocomplete;
exports.groupedTraversal = groupedTraversal;
exports.linearTraversal = linearTraversal;
exports.supercomplete = supercomplete;
exports.useAutocomplete = useAutocomplete;

@@ -5,1 +5,2 @@ export { useAutocomplete } from './hooks/useAutocomplete.js';

export { linearTraversal } from './traversals/linearTraversal.js';
export { groupedTraversal } from './traversals/groupedTraversal.js';

@@ -18,6 +18,7 @@ import { useState } from 'react';

const baseIndex = traverseInput ? -1 : 0;
let nextIndex = instance.a;
let nextItem;
let newItem,
nextIndex = instance.a,
itemCounter = 0;
const itemLength = items.length;
do {
for (;;) {
if (isForward) {

@@ -28,8 +29,9 @@ if (++nextIndex >= itemLength) nextIndex = baseIndex;

}
nextItem = items[nextIndex];
if (!nextItem || !isItemDisabled(nextItem)) break;
} while (nextIndex !== instance.a);
newItem = items[nextIndex];
if (!newItem || !isItemDisabled(newItem)) break;
if (++itemCounter >= itemLength) return focusItem;
}
instance.a = nextIndex;
setFocusItem(nextItem);
return nextItem;
setFocusItem(newItem);
return newItem;
}

@@ -36,0 +38,0 @@ };

{
"name": "@szhsin/react-autocomplete",
"version": "0.8.3",
"version": "0.8.4",
"description": "",

@@ -5,0 +5,0 @@ "author": "Zheng Song",

@@ -5,2 +5,3 @@ export { useAutocomplete } from './hooks/useAutocomplete';

export { linearTraversal } from './traversals/linearTraversal';
export { groupedTraversal } from './traversals/groupedTraversal';
export type { AutocompleteProps, AutocompleteState, Feature } from './common';
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc