@react-stately/selection
Advanced tools
Comparing version 3.0.0-nightly.2912 to 3.0.0-nightly.2917
@@ -69,3 +69,3 @@ var $21c847070f1f9569$exports = require("./Selection.main.js"); | ||
*/ get selectedKeys() { | ||
return this.state.selectedKeys === "all" ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys; | ||
return this.state.selectedKeys === 'all' ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys; | ||
} | ||
@@ -81,5 +81,5 @@ /** | ||
*/ isSelected(key) { | ||
if (this.state.selectionMode === "none") return false; | ||
if (this.state.selectionMode === 'none') return false; | ||
key = this.getKey(key); | ||
return this.state.selectedKeys === "all" ? this.canSelectItem(key) : this.state.selectedKeys.has(key); | ||
return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key); | ||
} | ||
@@ -89,3 +89,3 @@ /** | ||
*/ get isEmpty() { | ||
return this.state.selectedKeys !== "all" && this.state.selectedKeys.size === 0; | ||
return this.state.selectedKeys !== 'all' && this.state.selectedKeys.size === 0; | ||
} | ||
@@ -96,3 +96,3 @@ /** | ||
if (this.isEmpty) return false; | ||
if (this.state.selectedKeys === "all") return true; | ||
if (this.state.selectedKeys === 'all') return true; | ||
if (this._isSelectAll != null) return this._isSelectAll; | ||
@@ -129,4 +129,4 @@ let allKeys = this.getSelectAllKeys(); | ||
*/ extendSelection(toKey) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single") { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single') { | ||
this.replaceSelection(toKey); | ||
@@ -138,3 +138,3 @@ return; | ||
// Only select the one key if coming from a select all. | ||
if (this.state.selectedKeys === "all") selection = new (0, $21c847070f1f9569$exports.Selection)([ | ||
if (this.state.selectedKeys === 'all') selection = new (0, $21c847070f1f9569$exports.Selection)([ | ||
toKey | ||
@@ -165,3 +165,3 @@ ], toKey, toKey); | ||
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; | ||
@@ -177,6 +177,6 @@ key = this.collection.getKeyAfter(key); | ||
// If cell selection is allowed, just return the key. | ||
if (item.type === "cell" && this.allowsCellSelection) return key; | ||
if (item.type === 'cell' && this.allowsCellSelection) return key; | ||
// Find a parent item to select | ||
while(item.type !== "item" && item.parentKey != null)item = this.collection.getItem(item.parentKey); | ||
if (!item || item.type !== "item") return null; | ||
while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey); | ||
if (!item || item.type !== 'item') return null; | ||
return item.key; | ||
@@ -187,4 +187,4 @@ } | ||
*/ toggleSelection(key) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single" && !this.isSelected(key)) { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single' && !this.isSelected(key)) { | ||
this.replaceSelection(key); | ||
@@ -195,3 +195,3 @@ return; | ||
if (key == null) return; | ||
let keys = new (0, $21c847070f1f9569$exports.Selection)(this.state.selectedKeys === "all" ? this.getSelectAllKeys() : this.state.selectedKeys); | ||
let keys = new (0, $21c847070f1f9569$exports.Selection)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys); | ||
if (keys.has(key)) keys.delete(key); | ||
@@ -209,3 +209,3 @@ else if (this.canSelectItem(key)) { | ||
*/ replaceSelection(key) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === 'none') return; | ||
key = this.getKey(key); | ||
@@ -221,3 +221,3 @@ if (key == null) return; | ||
*/ setSelectedKeys(keys) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === 'none') return; | ||
let selection = new (0, $21c847070f1f9569$exports.Selection)(); | ||
@@ -228,3 +228,3 @@ for (let key of keys){ | ||
selection.add(key); | ||
if (this.selectionMode === "single") break; | ||
if (this.selectionMode === 'single') break; | ||
} | ||
@@ -240,5 +240,5 @@ } | ||
let item = this.collection.getItem(key); | ||
if (item.type === "item") keys.push(key); | ||
if (item.type === 'item') keys.push(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.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $ia6MY$reactstatelycollections.getFirstItem)((0, $ia6MY$reactstatelycollections.getChildNodes)(item, this.collection)).key); | ||
} | ||
@@ -254,3 +254,3 @@ key = this.collection.getKeyAfter(key); | ||
*/ selectAll() { | ||
if (!this.isSelectAll && this.selectionMode === "multiple") this.state.setSelectedKeys("all"); | ||
if (!this.isSelectAll && this.selectionMode === 'multiple') this.state.setSelectedKeys('all'); | ||
} | ||
@@ -260,3 +260,3 @@ /** | ||
*/ clearSelection() { | ||
if (!this.disallowEmptySelection && (this.state.selectedKeys === "all" || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $21c847070f1f9569$exports.Selection)()); | ||
if (!this.disallowEmptySelection && (this.state.selectedKeys === 'all' || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $21c847070f1f9569$exports.Selection)()); | ||
} | ||
@@ -270,7 +270,7 @@ /** | ||
select(key, e) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single") { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single') { | ||
if (this.isSelected(key) && !this.disallowEmptySelection) this.toggleSelection(key); | ||
else this.replaceSelection(key); | ||
} else if (this.selectionBehavior === "toggle" || e && (e.pointerType === "touch" || e.pointerType === "virtual")) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys | ||
} else if (this.selectionBehavior === 'toggle' || e && (e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys | ||
this.toggleSelection(key); | ||
@@ -296,5 +296,5 @@ else this.replaceSelection(key); | ||
var _item_props; | ||
if (this.state.selectionMode === "none" || this.state.disabledKeys.has(key)) return false; | ||
if (this.state.selectionMode === 'none' || this.state.disabledKeys.has(key)) return false; | ||
let item = this.collection.getItem(key); | ||
if (!item || (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || item.type === "cell" && !this.allowsCellSelection) return false; | ||
if (!item || (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || item.type === 'cell' && !this.allowsCellSelection) return false; | ||
return true; | ||
@@ -304,3 +304,3 @@ } | ||
var _this_collection_getItem_props, _this_collection_getItem; | ||
return this.state.disabledBehavior === "all" && (this.state.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled)); | ||
return this.state.disabledBehavior === 'all' && (this.state.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled)); | ||
} | ||
@@ -307,0 +307,0 @@ isLink(key) { |
@@ -63,3 +63,3 @@ import {Selection as $e40ea825a81a3709$export$52baac22726c72bf} from "./Selection.module.js"; | ||
*/ get selectedKeys() { | ||
return this.state.selectedKeys === "all" ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys; | ||
return this.state.selectedKeys === 'all' ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys; | ||
} | ||
@@ -75,5 +75,5 @@ /** | ||
*/ isSelected(key) { | ||
if (this.state.selectionMode === "none") return false; | ||
if (this.state.selectionMode === 'none') return false; | ||
key = this.getKey(key); | ||
return this.state.selectedKeys === "all" ? this.canSelectItem(key) : this.state.selectedKeys.has(key); | ||
return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key); | ||
} | ||
@@ -83,3 +83,3 @@ /** | ||
*/ get isEmpty() { | ||
return this.state.selectedKeys !== "all" && this.state.selectedKeys.size === 0; | ||
return this.state.selectedKeys !== 'all' && this.state.selectedKeys.size === 0; | ||
} | ||
@@ -90,3 +90,3 @@ /** | ||
if (this.isEmpty) return false; | ||
if (this.state.selectedKeys === "all") return true; | ||
if (this.state.selectedKeys === 'all') return true; | ||
if (this._isSelectAll != null) return this._isSelectAll; | ||
@@ -123,4 +123,4 @@ let allKeys = this.getSelectAllKeys(); | ||
*/ extendSelection(toKey) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single") { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single') { | ||
this.replaceSelection(toKey); | ||
@@ -132,3 +132,3 @@ return; | ||
// Only select the one key if coming from a select all. | ||
if (this.state.selectedKeys === "all") selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)([ | ||
if (this.state.selectedKeys === 'all') selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)([ | ||
toKey | ||
@@ -159,3 +159,3 @@ ], toKey, toKey); | ||
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; | ||
@@ -171,6 +171,6 @@ key = this.collection.getKeyAfter(key); | ||
// If cell selection is allowed, just return the key. | ||
if (item.type === "cell" && this.allowsCellSelection) return key; | ||
if (item.type === 'cell' && this.allowsCellSelection) return key; | ||
// Find a parent item to select | ||
while(item.type !== "item" && item.parentKey != null)item = this.collection.getItem(item.parentKey); | ||
if (!item || item.type !== "item") return null; | ||
while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey); | ||
if (!item || item.type !== 'item') return null; | ||
return item.key; | ||
@@ -181,4 +181,4 @@ } | ||
*/ toggleSelection(key) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single" && !this.isSelected(key)) { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single' && !this.isSelected(key)) { | ||
this.replaceSelection(key); | ||
@@ -189,3 +189,3 @@ return; | ||
if (key == null) return; | ||
let keys = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === "all" ? this.getSelectAllKeys() : this.state.selectedKeys); | ||
let keys = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys); | ||
if (keys.has(key)) keys.delete(key); | ||
@@ -203,3 +203,3 @@ else if (this.canSelectItem(key)) { | ||
*/ replaceSelection(key) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === 'none') return; | ||
key = this.getKey(key); | ||
@@ -215,3 +215,3 @@ if (key == null) return; | ||
*/ setSelectedKeys(keys) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === 'none') return; | ||
let selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(); | ||
@@ -222,3 +222,3 @@ for (let key of keys){ | ||
selection.add(key); | ||
if (this.selectionMode === "single") break; | ||
if (this.selectionMode === 'single') break; | ||
} | ||
@@ -234,5 +234,5 @@ } | ||
let item = this.collection.getItem(key); | ||
if (item.type === "item") keys.push(key); | ||
if (item.type === 'item') keys.push(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.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $jkhUT$getFirstItem)((0, $jkhUT$getChildNodes)(item, this.collection)).key); | ||
} | ||
@@ -248,3 +248,3 @@ key = this.collection.getKeyAfter(key); | ||
*/ selectAll() { | ||
if (!this.isSelectAll && this.selectionMode === "multiple") this.state.setSelectedKeys("all"); | ||
if (!this.isSelectAll && this.selectionMode === 'multiple') this.state.setSelectedKeys('all'); | ||
} | ||
@@ -254,3 +254,3 @@ /** | ||
*/ clearSelection() { | ||
if (!this.disallowEmptySelection && (this.state.selectedKeys === "all" || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $e40ea825a81a3709$export$52baac22726c72bf)()); | ||
if (!this.disallowEmptySelection && (this.state.selectedKeys === 'all' || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $e40ea825a81a3709$export$52baac22726c72bf)()); | ||
} | ||
@@ -264,7 +264,7 @@ /** | ||
select(key, e) { | ||
if (this.selectionMode === "none") return; | ||
if (this.selectionMode === "single") { | ||
if (this.selectionMode === 'none') return; | ||
if (this.selectionMode === 'single') { | ||
if (this.isSelected(key) && !this.disallowEmptySelection) this.toggleSelection(key); | ||
else this.replaceSelection(key); | ||
} else if (this.selectionBehavior === "toggle" || e && (e.pointerType === "touch" || e.pointerType === "virtual")) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys | ||
} else if (this.selectionBehavior === 'toggle' || e && (e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys | ||
this.toggleSelection(key); | ||
@@ -290,5 +290,5 @@ else this.replaceSelection(key); | ||
var _item_props; | ||
if (this.state.selectionMode === "none" || this.state.disabledKeys.has(key)) return false; | ||
if (this.state.selectionMode === 'none' || this.state.disabledKeys.has(key)) return false; | ||
let item = this.collection.getItem(key); | ||
if (!item || (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || item.type === "cell" && !this.allowsCellSelection) return false; | ||
if (!item || (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || item.type === 'cell' && !this.allowsCellSelection) return false; | ||
return true; | ||
@@ -298,3 +298,3 @@ } | ||
var _this_collection_getItem_props, _this_collection_getItem; | ||
return this.state.disabledBehavior === "all" && (this.state.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled)); | ||
return this.state.disabledBehavior === 'all' && (this.state.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled)); | ||
} | ||
@@ -301,0 +301,0 @@ isLink(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, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props; | ||
// We want synchronous updates to `isFocused` and `focusedKey` after their setters are called. | ||
@@ -54,3 +54,3 @@ // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async). | ||
// to enter selection mode on touch), and the selection becomes empty, reset the selection behavior. | ||
if (selectionBehaviorProp === "replace" && selectionBehavior === "toggle" && typeof selectedKeys === "object" && selectedKeys.size === 0) setSelectionBehavior("replace"); | ||
if (selectionBehaviorProp === 'replace' && selectionBehavior === 'toggle' && typeof selectedKeys === 'object' && selectedKeys.size === 0) setSelectionBehavior('replace'); | ||
// If the selectionBehavior prop changes, update the state as well. | ||
@@ -84,3 +84,3 @@ let lastSelectionBehavior = (0, $byFPT$react.useRef)(selectionBehaviorProp); | ||
}, | ||
setFocusedKey (k, childFocusStrategy = "first") { | ||
setFocusedKey (k, childFocusStrategy = 'first') { | ||
focusedKeyRef.current = k; | ||
@@ -100,3 +100,3 @@ childFocusStrategyRef.current = childFocusStrategy; | ||
if (!selection) return defaultValue; | ||
return selection === "all" ? "all" : new (0, $21c847070f1f9569$exports.Selection)(selection); | ||
return selection === 'all' ? 'all' : new (0, $21c847070f1f9569$exports.Selection)(selection); | ||
} | ||
@@ -103,0 +103,0 @@ |
@@ -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, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props; | ||
// We want synchronous updates to `isFocused` and `focusedKey` after their setters are called. | ||
@@ -48,3 +48,3 @@ // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async). | ||
// to enter selection mode on touch), and the selection becomes empty, reset the selection behavior. | ||
if (selectionBehaviorProp === "replace" && selectionBehavior === "toggle" && typeof selectedKeys === "object" && selectedKeys.size === 0) setSelectionBehavior("replace"); | ||
if (selectionBehaviorProp === 'replace' && selectionBehavior === 'toggle' && typeof selectedKeys === 'object' && selectedKeys.size === 0) setSelectionBehavior('replace'); | ||
// If the selectionBehavior prop changes, update the state as well. | ||
@@ -78,3 +78,3 @@ let lastSelectionBehavior = (0, $6tM1y$useRef)(selectionBehaviorProp); | ||
}, | ||
setFocusedKey (k, childFocusStrategy = "first") { | ||
setFocusedKey (k, childFocusStrategy = 'first') { | ||
focusedKeyRef.current = k; | ||
@@ -94,3 +94,3 @@ childFocusStrategyRef.current = childFocusStrategy; | ||
if (!selection) return defaultValue; | ||
return selection === "all" ? "all" : new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selection); | ||
return selection === 'all' ? 'all' : new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selection); | ||
} | ||
@@ -97,0 +97,0 @@ |
{ | ||
"name": "@react-stately/selection", | ||
"version": "3.0.0-nightly.2912+d80999e89", | ||
"version": "3.0.0-nightly.2917+c34886769", | ||
"description": "Spectrum UI components in React", | ||
@@ -25,5 +25,5 @@ "license": "Apache-2.0", | ||
"dependencies": { | ||
"@react-stately/collections": "3.0.0-nightly.2912+d80999e89", | ||
"@react-stately/utils": "3.0.0-nightly.2912+d80999e89", | ||
"@react-types/shared": "3.0.0-nightly.2912+d80999e89", | ||
"@react-stately/collections": "3.0.0-nightly.2917+c34886769", | ||
"@react-stately/utils": "3.0.0-nightly.2917+c34886769", | ||
"@react-types/shared": "3.0.0-nightly.2917+c34886769", | ||
"@swc/helpers": "^0.5.0" | ||
@@ -37,3 +37,3 @@ }, | ||
}, | ||
"gitHead": "d80999e897b4d4db9fcfb4e9b8fcdc9fdd700882" | ||
"gitHead": "c34886769d3e69bb56553a02eead6a0fd877e754" | ||
} |
Sorry, the diff of this file is not supported yet
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
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
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
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
41