@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.es6.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
  import { createElement, closestUntil, setElementAttrs, next, prev } from '@danielgindi/dom-utils/lib/Dom';
@@ -1197,7 +1197,10 @@ class DropList {
1197
1197
  p.items.map(x => {
1198
1198
  const y = x[ItemSymbol];
1199
1199
  if (y !== undefined) {
1200
- y[ItemSymbol] = x;
1200
+ // Seal it to avoid object finding issues when wrapped in proxies by Vue or other libs
1201
+ y[ItemSymbol] = Object.seal({
1202
+ [ItemSymbol]: x,
1203
+ });
1201
1204
  return y;
1202
1205
  }
1203
1206
 
@@ -1208,7 +1211,7 @@ class DropList {
1208
1211
  if (Array.isArray(filteredItems)) {
1209
1212
  // And back
1210
1213
  filteredItems = filteredItems.map(oitem => {
1211
- let our = oitem[ItemSymbol];
1214
+ let our = oitem[ItemSymbol]?.[ItemSymbol]; // double-unwrap sealed->item
1212
1215
  if (!our) {
1213
1216
  our = {
1214
1217
  [ItemSymbol]: oitem,
@@ -1762,11 +1765,7 @@ class DropList {
1762
1765
  let item = p.items[i];
1763
1766
  let checked = !item._nocheck && values.indexOf(item.value) !== -1;
1764
1767
 
1765
- let itemIndex = i;
1766
- if (p.filteredItems) {
1767
- const item = p.items[itemIndex];
1768
- itemIndex = p.filteredItems.indexOf(item);
1769
- }
1768
+ let itemIndex = p.filteredItems ? p.filteredItems.indexOf(item) : i;
1770
1769
 
1771
1770
  if (item._group && itemIndex !== -1) {
1772
1771
  groupIndexes.push(itemIndex);