@danielgindi/selectbox 2.0.9 → 2.0.10

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/dist/lib.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @danielgindi/selectbox 2.0.9
2
+ * @danielgindi/selectbox 2.0.10
3
3
  * git://github.com/danielgindi/selectbox.git
4
4
  */
5
5
  'use strict';
@@ -1199,7 +1199,10 @@ class DropList {
1199
1199
  p.items.map((x) => {
1200
1200
  const y = x[ItemSymbol];
1201
1201
  if (y !== undefined) {
1202
- y[ItemSymbol] = x;
1202
+ // Seal it to avoid object finding issues when wrapped in proxies by Vue or other libs
1203
+ y[ItemSymbol] = Object.seal({
1204
+ [ItemSymbol]: x
1205
+ });
1203
1206
  return y;
1204
1207
  }
1205
1208
 
@@ -1210,7 +1213,7 @@ class DropList {
1210
1213
  if (Array.isArray(filteredItems)) {
1211
1214
  // And back
1212
1215
  filteredItems = filteredItems.map((oitem) => {
1213
- let our = oitem[ItemSymbol];
1216
+ let our = oitem[ItemSymbol]?.[ItemSymbol]; // double-unwrap sealed->item
1214
1217
  if (!our) {
1215
1218
  our = {
1216
1219
  [ItemSymbol]: oitem,
@@ -1764,11 +1767,7 @@ class DropList {
1764
1767
  let item = p.items[i];
1765
1768
  let checked = !item._nocheck && values.indexOf(item.value) !== -1;
1766
1769
 
1767
- let itemIndex = i;
1768
- if (p.filteredItems) {
1769
- const item = p.items[itemIndex];
1770
- itemIndex = p.filteredItems.indexOf(item);
1771
- }
1770
+ let itemIndex = p.filteredItems ? p.filteredItems.indexOf(item) : i;
1772
1771
 
1773
1772
  if (item._group && itemIndex !== -1) {
1774
1773
  groupIndexes.push(itemIndex);