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

@react-stately/selection

Package Overview
Dependencies
Maintainers
2
Versions
844
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-stately/selection - npm Package Compare versions

Comparing version 3.0.0-nightly-a98da553e-241116 to 3.0.0-nightly-b3a4d6c11-241119

4

dist/Selection.main.js

@@ -24,4 +24,4 @@

} else {
this.anchorKey = anchorKey;
this.currentKey = currentKey;
this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : null;
this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : null;
}

@@ -28,0 +28,0 @@ }

@@ -18,4 +18,4 @@ /*

} else {
this.anchorKey = anchorKey;
this.currentKey = currentKey;
this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : null;
this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : null;
}

@@ -22,0 +22,0 @@ }

@@ -81,4 +81,5 @@ var $21c847070f1f9569$exports = require("./Selection.main.js");

if (this.state.selectionMode === 'none') return false;
key = this.getKey(key);
return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key);
let mappedKey = this.getKey(key);
if (mappedKey == null) return false;
return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);
}

@@ -107,3 +108,4 @@ /**

}
return first === null || first === void 0 ? void 0 : first.key;
var _first_key;
return (_first_key = first === null || first === void 0 ? void 0 : first.key) !== null && _first_key !== void 0 ? _first_key : null;
}

@@ -116,3 +118,4 @@ get lastSelectedKey() {

}
return last === null || last === void 0 ? void 0 : last.key;
var _last_key;
return (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
}

@@ -133,16 +136,17 @@ get disabledKeys() {

}
toKey = this.getKey(toKey);
let mappedToKey = this.getKey(toKey);
if (mappedToKey == null) return;
let selection;
// Only select the one key if coming from a select all.
if (this.state.selectedKeys === 'all') selection = new (0, $21c847070f1f9569$exports.Selection)([
toKey
], toKey, toKey);
mappedToKey
], mappedToKey, mappedToKey);
else {
let selectedKeys = this.state.selectedKeys;
var _selectedKeys_anchorKey;
let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : toKey;
selection = new (0, $21c847070f1f9569$exports.Selection)(selectedKeys, anchorKey, toKey);
let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : mappedToKey;
selection = new (0, $21c847070f1f9569$exports.Selection)(selectedKeys, anchorKey, mappedToKey);
var _selectedKeys_currentKey;
for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : toKey))selection.delete(key);
for (let key of this.getKeyRange(toKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : mappedToKey))selection.delete(key);
for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
}

@@ -167,3 +171,3 @@ this.state.setSelectedKeys(selection);

let item = this.collection.getItem(key);
if (item && item.type === 'item' || item.type === 'cell' && this.allowsCellSelection) keys.push(key);
if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);
if (key === to) return keys;

@@ -181,3 +185,3 @@ key = this.collection.getKeyAfter(key);

// Find a parent item to select
while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
if (!item || item.type !== 'item') return null;

@@ -194,10 +198,10 @@ return item.key;

}
key = this.getKey(key);
if (key == null) return;
let mappedKey = this.getKey(key);
if (mappedKey == null) return;
let keys = new (0, $21c847070f1f9569$exports.Selection)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);
if (keys.has(key)) keys.delete(key);
else if (this.canSelectItem(key)) {
keys.add(key);
keys.anchorKey = key;
keys.currentKey = key;
if (keys.has(mappedKey)) keys.delete(mappedKey);
else if (this.canSelectItem(mappedKey)) {
keys.add(mappedKey);
keys.anchorKey = mappedKey;
keys.currentKey = mappedKey;
}

@@ -211,7 +215,7 @@ if (this.disallowEmptySelection && keys.size === 0) return;

if (this.selectionMode === 'none') return;
key = this.getKey(key);
if (key == null) return;
let selection = this.canSelectItem(key) ? new (0, $21c847070f1f9569$exports.Selection)([
key
], key, key) : new (0, $21c847070f1f9569$exports.Selection)();
let mappedKey = this.getKey(key);
if (mappedKey == null) return;
let selection = this.canSelectItem(mappedKey) ? new (0, $21c847070f1f9569$exports.Selection)([
mappedKey
], mappedKey, mappedKey) : new (0, $21c847070f1f9569$exports.Selection)();
this.state.setSelectedKeys(selection);

@@ -225,5 +229,5 @@ }

for (let key of keys){
key = this.getKey(key);
if (key != null) {
selection.add(key);
let mappedKey = this.getKey(key);
if (mappedKey != null) {
selection.add(mappedKey);
if (this.selectionMode === 'single') break;

@@ -239,6 +243,8 @@ }

if (this.canSelectItem(key)) {
var _getFirstItem;
let item = this.collection.getItem(key);
if (item.type === 'item') keys.push(key);
if ((item === null || item === void 0 ? void 0 : item.type) === 'item') keys.push(key);
var _getFirstItem_key;
// Add child keys. If cell selection is allowed, then include item children too.
if (item.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $ia6MY$reactstatelycollections.getFirstItem)((0, $ia6MY$reactstatelycollections.getChildNodes)(item, this.collection)).key);
if ((item === null || item === void 0 ? void 0 : item.hasChildNodes) && (this.allowsCellSelection || item.type !== 'item')) addKeys((_getFirstItem_key = (_getFirstItem = (0, $ia6MY$reactstatelycollections.getFirstItem)((0, $ia6MY$reactstatelycollections.getChildNodes)(item, this.collection))) === null || _getFirstItem === void 0 ? void 0 : _getFirstItem.key) !== null && _getFirstItem_key !== void 0 ? _getFirstItem_key : null);
}

@@ -245,0 +251,0 @@ key = this.collection.getKeyAfter(key);

@@ -75,4 +75,5 @@ import {Selection as $e40ea825a81a3709$export$52baac22726c72bf} from "./Selection.module.js";

if (this.state.selectionMode === 'none') return false;
key = this.getKey(key);
return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key);
let mappedKey = this.getKey(key);
if (mappedKey == null) return false;
return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);
}

@@ -101,3 +102,4 @@ /**

}
return first === null || first === void 0 ? void 0 : first.key;
var _first_key;
return (_first_key = first === null || first === void 0 ? void 0 : first.key) !== null && _first_key !== void 0 ? _first_key : null;
}

@@ -110,3 +112,4 @@ get lastSelectedKey() {

}
return last === null || last === void 0 ? void 0 : last.key;
var _last_key;
return (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
}

@@ -127,16 +130,17 @@ get disabledKeys() {

}
toKey = this.getKey(toKey);
let mappedToKey = this.getKey(toKey);
if (mappedToKey == null) return;
let selection;
// Only select the one key if coming from a select all.
if (this.state.selectedKeys === 'all') selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)([
toKey
], toKey, toKey);
mappedToKey
], mappedToKey, mappedToKey);
else {
let selectedKeys = this.state.selectedKeys;
var _selectedKeys_anchorKey;
let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : toKey;
selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, toKey);
let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : mappedToKey;
selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);
var _selectedKeys_currentKey;
for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : toKey))selection.delete(key);
for (let key of this.getKeyRange(toKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : mappedToKey))selection.delete(key);
for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
}

@@ -161,3 +165,3 @@ this.state.setSelectedKeys(selection);

let item = this.collection.getItem(key);
if (item && item.type === 'item' || item.type === 'cell' && this.allowsCellSelection) keys.push(key);
if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);
if (key === to) return keys;

@@ -175,3 +179,3 @@ key = this.collection.getKeyAfter(key);

// Find a parent item to select
while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
if (!item || item.type !== 'item') return null;

@@ -188,10 +192,10 @@ return item.key;

}
key = this.getKey(key);
if (key == null) return;
let mappedKey = this.getKey(key);
if (mappedKey == null) return;
let keys = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);
if (keys.has(key)) keys.delete(key);
else if (this.canSelectItem(key)) {
keys.add(key);
keys.anchorKey = key;
keys.currentKey = key;
if (keys.has(mappedKey)) keys.delete(mappedKey);
else if (this.canSelectItem(mappedKey)) {
keys.add(mappedKey);
keys.anchorKey = mappedKey;
keys.currentKey = mappedKey;
}

@@ -205,7 +209,7 @@ if (this.disallowEmptySelection && keys.size === 0) return;

if (this.selectionMode === 'none') return;
key = this.getKey(key);
if (key == null) return;
let selection = this.canSelectItem(key) ? new (0, $e40ea825a81a3709$export$52baac22726c72bf)([
key
], key, key) : new (0, $e40ea825a81a3709$export$52baac22726c72bf)();
let mappedKey = this.getKey(key);
if (mappedKey == null) return;
let selection = this.canSelectItem(mappedKey) ? new (0, $e40ea825a81a3709$export$52baac22726c72bf)([
mappedKey
], mappedKey, mappedKey) : new (0, $e40ea825a81a3709$export$52baac22726c72bf)();
this.state.setSelectedKeys(selection);

@@ -219,5 +223,5 @@ }

for (let key of keys){
key = this.getKey(key);
if (key != null) {
selection.add(key);
let mappedKey = this.getKey(key);
if (mappedKey != null) {
selection.add(mappedKey);
if (this.selectionMode === 'single') break;

@@ -233,6 +237,8 @@ }

if (this.canSelectItem(key)) {
var _getFirstItem;
let item = this.collection.getItem(key);
if (item.type === 'item') keys.push(key);
if ((item === null || item === void 0 ? void 0 : item.type) === 'item') keys.push(key);
var _getFirstItem_key;
// Add child keys. If cell selection is allowed, then include item children too.
if (item.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $jkhUT$getFirstItem)((0, $jkhUT$getChildNodes)(item, this.collection)).key);
if ((item === null || item === void 0 ? void 0 : item.hasChildNodes) && (this.allowsCellSelection || item.type !== 'item')) addKeys((_getFirstItem_key = (_getFirstItem = (0, $jkhUT$getFirstItem)((0, $jkhUT$getChildNodes)(item, this.collection))) === null || _getFirstItem === void 0 ? void 0 : _getFirstItem.key) !== null && _getFirstItem_key !== void 0 ? _getFirstItem_key : null);
}

@@ -239,0 +245,0 @@ key = this.collection.getKeyAfter(key);

@@ -8,5 +8,5 @@ import { DisabledBehavior, FocusStrategy, Key, LongPressEvent, PressEvent, Selection, SelectionBehavior, SelectionMode, MultipleSelection, Collection, LayoutDelegate, Node } from "@react-types/shared";

/** The current focused key in the collection. */
readonly focusedKey: Key;
readonly focusedKey: Key | null;
/** Whether the first or last child of the focused key should receive focus. */
readonly childFocusStrategy: FocusStrategy;
readonly childFocusStrategy: FocusStrategy | null;
/** Sets the focused key, and optionally, whether the first or last child of that key should receive focus. */

@@ -145,5 +145,5 @@ setFocusedKey(key: Key | null, child?: FocusStrategy): void;

*/
get focusedKey(): Key;
get focusedKey(): Key | null;
/** Whether the first or last child of the focused key should receive focus. */
get childFocusStrategy(): FocusStrategy;
get childFocusStrategy(): FocusStrategy | null;
/**

@@ -150,0 +150,0 @@ * Sets the focused key.

@@ -32,3 +32,3 @@ var $21c847070f1f9569$exports = require("./Selection.main.js");

function $1adc19da2128bba9$export$253fe78d46329472(props) {
let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
// We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.

@@ -35,0 +35,0 @@ // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).

@@ -26,3 +26,3 @@ import {Selection as $e40ea825a81a3709$export$52baac22726c72bf} from "./Selection.module.js";

function $7af3f5b51489e0b5$export$253fe78d46329472(props) {
let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
// We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.

@@ -29,0 +29,0 @@ // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).

{
"name": "@react-stately/selection",
"version": "3.0.0-nightly-a98da553e-241116",
"version": "3.0.0-nightly-b3a4d6c11-241119",
"description": "Spectrum UI components in React",

@@ -25,9 +25,9 @@ "license": "Apache-2.0",

"dependencies": {
"@react-stately/collections": "^3.0.0-nightly-a98da553e-241116",
"@react-stately/utils": "^3.0.0-nightly-a98da553e-241116",
"@react-types/shared": "^3.0.0-nightly-a98da553e-241116",
"@react-stately/collections": "^3.0.0-nightly-b3a4d6c11-241119",
"@react-stately/utils": "^3.0.0-nightly-b3a4d6c11-241119",
"@react-types/shared": "^3.0.0-nightly-b3a4d6c11-241119",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},

@@ -34,0 +34,0 @@ "publishConfig": {

@@ -20,6 +20,6 @@ /*

export class Selection extends Set<Key> {
anchorKey: Key;
currentKey: Key;
anchorKey: Key | null;
currentKey: Key | null;
constructor(keys?: Iterable<Key> | Selection, anchorKey?: Key, currentKey?: Key) {
constructor(keys?: Iterable<Key> | Selection, anchorKey?: Key | null, currentKey?: Key | null) {
super(keys);

@@ -30,6 +30,6 @@ if (keys instanceof Selection) {

} else {
this.anchorKey = anchorKey;
this.currentKey = currentKey;
this.anchorKey = anchorKey ?? null;
this.currentKey = currentKey ?? null;
}
}
}

@@ -41,3 +41,3 @@ /*

private allowsCellSelection: boolean;
private _isSelectAll: boolean;
private _isSelectAll: boolean | null;
private layoutDelegate: LayoutDelegate | null;

@@ -98,3 +98,3 @@

*/
get focusedKey(): Key {
get focusedKey(): Key | null {
return this.state.focusedKey;

@@ -104,3 +104,3 @@ }

/** Whether the first or last child of the focused key should receive focus. */
get childFocusStrategy(): FocusStrategy {
get childFocusStrategy(): FocusStrategy | null {
return this.state.childFocusStrategy;

@@ -143,6 +143,9 @@ }

key = this.getKey(key);
let mappedKey = this.getKey(key);
if (mappedKey == null) {
return false;
}
return this.state.selectedKeys === 'all'
? this.canSelectItem(key)
: this.state.selectedKeys.has(key);
? this.canSelectItem(mappedKey)
: this.state.selectedKeys.has(mappedKey);
}

@@ -188,3 +191,3 @@

return first?.key;
return first?.key ?? null;
}

@@ -201,3 +204,3 @@

return last?.key;
return last?.key ?? null;
}

@@ -226,3 +229,6 @@

toKey = this.getKey(toKey);
let mappedToKey = this.getKey(toKey);
if (mappedToKey == null) {
return;
}

@@ -233,12 +239,12 @@ let selection: Selection;

if (this.state.selectedKeys === 'all') {
selection = new Selection([toKey], toKey, toKey);
selection = new Selection([mappedToKey], mappedToKey, mappedToKey);
} else {
let selectedKeys = this.state.selectedKeys as Selection;
let anchorKey = selectedKeys.anchorKey ?? toKey;
selection = new Selection(selectedKeys, anchorKey, toKey);
for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey ?? toKey)) {
let anchorKey = selectedKeys.anchorKey ?? mappedToKey;
selection = new Selection(selectedKeys, anchorKey, mappedToKey);
for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey ?? mappedToKey)) {
selection.delete(key);
}
for (let key of this.getKeyRange(toKey, anchorKey)) {
for (let key of this.getKeyRange(mappedToKey, anchorKey)) {
if (this.canSelectItem(key)) {

@@ -273,6 +279,6 @@ selection.add(key);

let keys: Key[] = [];
let key = from;
let key: Key | null = from;
while (key != null) {
let item = this.collection.getItem(key);
if (item && item.type === 'item' || (item.type === 'cell' && this.allowsCellSelection)) {
if (item && (item.type === 'item' || (item.type === 'cell' && this.allowsCellSelection))) {
keys.push(key);

@@ -304,3 +310,3 @@ }

// Find a parent item to select
while (item.type !== 'item' && item.parentKey != null) {
while (item && item.type !== 'item' && item.parentKey != null) {
item = this.collection.getItem(item.parentKey);

@@ -329,4 +335,4 @@ }

key = this.getKey(key);
if (key == null) {
let mappedKey = this.getKey(key);
if (mappedKey == null) {
return;

@@ -336,10 +342,10 @@ }

let keys = new Selection(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);
if (keys.has(key)) {
keys.delete(key);
if (keys.has(mappedKey)) {
keys.delete(mappedKey);
// TODO: move anchor to last selected key...
// Does `current` need to move here too?
} else if (this.canSelectItem(key)) {
keys.add(key);
keys.anchorKey = key;
keys.currentKey = key;
} else if (this.canSelectItem(mappedKey)) {
keys.add(mappedKey);
keys.anchorKey = mappedKey;
keys.currentKey = mappedKey;
}

@@ -362,9 +368,9 @@

key = this.getKey(key);
if (key == null) {
let mappedKey = this.getKey(key);
if (mappedKey == null) {
return;
}
let selection = this.canSelectItem(key)
? new Selection([key], key, key)
let selection = this.canSelectItem(mappedKey)
? new Selection([mappedKey], mappedKey, mappedKey)
: new Selection();

@@ -385,5 +391,5 @@

for (let key of keys) {
key = this.getKey(key);
if (key != null) {
selection.add(key);
let mappedKey = this.getKey(key);
if (mappedKey != null) {
selection.add(mappedKey);
if (this.selectionMode === 'single') {

@@ -400,7 +406,7 @@ break;

let keys: Key[] = [];
let addKeys = (key: Key) => {
let addKeys = (key: Key | null) => {
while (key != null) {
if (this.canSelectItem(key)) {
let item = this.collection.getItem(key);
if (item.type === 'item') {
if (item?.type === 'item') {
keys.push(key);

@@ -410,4 +416,4 @@ }

// Add child keys. If cell selection is allowed, then include item children too.
if (item.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) {
addKeys(getFirstItem(getChildNodes(item, this.collection)).key);
if (item?.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) {
addKeys(getFirstItem(getChildNodes(item, this.collection))?.key ?? null);
}

@@ -414,0 +420,0 @@ }

@@ -22,5 +22,5 @@ /*

/** The current focused key in the collection. */
readonly focusedKey: Key,
readonly focusedKey: Key | null,
/** Whether the first or last child of the focused key should receive focus. */
readonly childFocusStrategy: FocusStrategy,
readonly childFocusStrategy: FocusStrategy | null,
/** Sets the focused key, and optionally, whether the first or last child of that key should receive focus. */

@@ -27,0 +27,0 @@ setFocusedKey(key: Key | null, child?: FocusStrategy): void

@@ -13,3 +13,3 @@ /*

import {DisabledBehavior, Key, MultipleSelection, SelectionBehavior, SelectionMode} from '@react-types/shared';
import {DisabledBehavior, FocusStrategy, Key, MultipleSelection, SelectionBehavior, SelectionMode} from '@react-types/shared';
import {MultipleSelectionState} from './types';

@@ -49,3 +49,3 @@ import {Selection} from './Selection';

selectionMode = 'none' as SelectionMode,
disallowEmptySelection,
disallowEmptySelection = false,
allowDuplicateSelectionEvents,

@@ -60,5 +60,5 @@ selectionBehavior: selectionBehaviorProp = 'toggle',

let [, setFocused] = useState(false);
let focusedKeyRef = useRef(null);
let childFocusStrategyRef = useRef(null);
let [, setFocusedKey] = useState(null);
let focusedKeyRef = useRef<Key | null>(null);
let childFocusStrategyRef = useRef<FocusStrategy | null>(null);
let [, setFocusedKey] = useState<Key | null>(null);
let selectedKeysProp = useMemo(() => convertSelection(props.selectedKeys), [props.selectedKeys]);

@@ -68,3 +68,3 @@ let defaultSelectedKeys = useMemo(() => convertSelection(props.defaultSelectedKeys, new Selection()), [props.defaultSelectedKeys]);

selectedKeysProp,
defaultSelectedKeys,
defaultSelectedKeys!,
props.onSelectionChange

@@ -126,3 +126,3 @@ );

function convertSelection(selection: 'all' | Iterable<Key>, defaultValue?: Selection): 'all' | Set<Key> {
function convertSelection(selection: 'all' | Iterable<Key> | null | undefined, defaultValue?: Selection): 'all' | Set<Key> | undefined {
if (!selection) {

@@ -129,0 +129,0 @@ return defaultValue;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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