downshift 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "downshift",
3
- "version": "7.1.0",
3
+ "version": "7.1.1",
4
4
  "description": "🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.",
5
5
  "main": "dist/downshift.cjs.js",
6
6
  "react-native": "dist/downshift.native.cjs.js",
@@ -3583,6 +3583,9 @@ function downshiftMultipleSelectionReducer(state, action) {
3583
3583
  case SelectedItemKeyDownBackspace:
3584
3584
  case SelectedItemKeyDownDelete:
3585
3585
  {
3586
+ if (activeIndex < 0) {
3587
+ break;
3588
+ }
3586
3589
  let newActiveIndex = activeIndex;
3587
3590
  if (selectedItems.length === 1) {
3588
3591
  newActiveIndex = -1;
@@ -3621,17 +3624,18 @@ function downshiftMultipleSelectionReducer(state, action) {
3621
3624
  {
3622
3625
  let newActiveIndex = activeIndex;
3623
3626
  const selectedItemIndex = selectedItems.indexOf(selectedItem);
3624
- if (selectedItemIndex >= 0) {
3625
- if (selectedItems.length === 1) {
3626
- newActiveIndex = -1;
3627
- } else if (selectedItemIndex === selectedItems.length - 1) {
3628
- newActiveIndex = selectedItems.length - 2;
3629
- }
3630
- changes = {
3631
- selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3632
- activeIndex: newActiveIndex
3633
- };
3627
+ if (selectedItemIndex < 0) {
3628
+ break;
3629
+ }
3630
+ if (selectedItems.length === 1) {
3631
+ newActiveIndex = -1;
3632
+ } else if (selectedItemIndex === selectedItems.length - 1) {
3633
+ newActiveIndex = selectedItems.length - 2;
3634
3634
  }
3635
+ changes = {
3636
+ selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3637
+ activeIndex: newActiveIndex
3638
+ };
3635
3639
  break;
3636
3640
  }
3637
3641
  case FunctionSetSelectedItems:
@@ -3574,6 +3574,9 @@ function downshiftMultipleSelectionReducer(state, action) {
3574
3574
  case SelectedItemKeyDownBackspace:
3575
3575
  case SelectedItemKeyDownDelete:
3576
3576
  {
3577
+ if (activeIndex < 0) {
3578
+ break;
3579
+ }
3577
3580
  let newActiveIndex = activeIndex;
3578
3581
  if (selectedItems.length === 1) {
3579
3582
  newActiveIndex = -1;
@@ -3612,17 +3615,18 @@ function downshiftMultipleSelectionReducer(state, action) {
3612
3615
  {
3613
3616
  let newActiveIndex = activeIndex;
3614
3617
  const selectedItemIndex = selectedItems.indexOf(selectedItem);
3615
- if (selectedItemIndex >= 0) {
3616
- if (selectedItems.length === 1) {
3617
- newActiveIndex = -1;
3618
- } else if (selectedItemIndex === selectedItems.length - 1) {
3619
- newActiveIndex = selectedItems.length - 2;
3620
- }
3621
- changes = {
3622
- selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3623
- activeIndex: newActiveIndex
3624
- };
3618
+ if (selectedItemIndex < 0) {
3619
+ break;
3620
+ }
3621
+ if (selectedItems.length === 1) {
3622
+ newActiveIndex = -1;
3623
+ } else if (selectedItemIndex === selectedItems.length - 1) {
3624
+ newActiveIndex = selectedItems.length - 2;
3625
3625
  }
3626
+ changes = {
3627
+ selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3628
+ activeIndex: newActiveIndex
3629
+ };
3626
3630
  break;
3627
3631
  }
3628
3632
  case FunctionSetSelectedItems:
@@ -3838,6 +3838,9 @@
3838
3838
  case SelectedItemKeyDownBackspace:
3839
3839
  case SelectedItemKeyDownDelete:
3840
3840
  {
3841
+ if (activeIndex < 0) {
3842
+ break;
3843
+ }
3841
3844
  let newActiveIndex = activeIndex;
3842
3845
  if (selectedItems.length === 1) {
3843
3846
  newActiveIndex = -1;
@@ -3876,17 +3879,18 @@
3876
3879
  {
3877
3880
  let newActiveIndex = activeIndex;
3878
3881
  const selectedItemIndex = selectedItems.indexOf(selectedItem);
3879
- if (selectedItemIndex >= 0) {
3880
- if (selectedItems.length === 1) {
3881
- newActiveIndex = -1;
3882
- } else if (selectedItemIndex === selectedItems.length - 1) {
3883
- newActiveIndex = selectedItems.length - 2;
3884
- }
3885
- changes = {
3886
- selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3887
- activeIndex: newActiveIndex
3888
- };
3882
+ if (selectedItemIndex < 0) {
3883
+ break;
3884
+ }
3885
+ if (selectedItems.length === 1) {
3886
+ newActiveIndex = -1;
3887
+ } else if (selectedItemIndex === selectedItems.length - 1) {
3888
+ newActiveIndex = selectedItems.length - 2;
3889
3889
  }
3890
+ changes = {
3891
+ selectedItems: [...selectedItems.slice(0, selectedItemIndex), ...selectedItems.slice(selectedItemIndex + 1)],
3892
+ activeIndex: newActiveIndex
3893
+ };
3890
3894
  break;
3891
3895
  }
3892
3896
  case FunctionSetSelectedItems: