@txstate-mws/svelte-components 1.5.8 → 1.5.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.
@@ -67,7 +67,7 @@ let menuelement;
67
67
  const itemelements = [];
68
68
  let firstactive = 0;
69
69
  let lastactive = items.length - 1;
70
- $: hasMeaningfulItems = showSelected ? items.filter(itm => 'value' in itm) : items.filter(itm => 'value' in itm && itm.value !== value);
70
+ $: hasMeaningfulItems = showSelected ? !!items.filter(itm => 'value' in itm).length : !!items.filter(itm => 'value' in itm && itm.value !== value).length;
71
71
  function hiddenItem(item) {
72
72
  return !!item && !showSelected && item.value === value;
73
73
  }
@@ -76,8 +76,6 @@ async function reactToItems(..._) {
76
76
  lastactive = items.length - [...items].reverse().findIndex(itm => 'value' in itm && !itm.disabled && !hiddenItem(itm)) - 1;
77
77
  if (hilited && items[hilited]?.disabled)
78
78
  hilited = firstactive;
79
- if (document.activeElement === buttonelement && hasMeaningfulItems && !loading)
80
- menushown = true;
81
79
  }
82
80
  $: void reactToItems(items, value);
83
81
  async function reactToMenuShown(_) {
@@ -219,6 +217,10 @@ function onblur(e) {
219
217
  menushown = false; });
220
218
  }
221
219
  }
220
+ function oninput(e) {
221
+ if (document.activeElement === buttonelement)
222
+ menushown = true;
223
+ }
222
224
  function cleanup(element) {
223
225
  for (const observer of observers)
224
226
  observer.disconnect();
@@ -227,6 +229,7 @@ function cleanup(element) {
227
229
  element.removeEventListener('click', onbuttonclick);
228
230
  element.removeEventListener('keydown', onkeydown);
229
231
  element.removeEventListener('blur', onblur);
232
+ element.removeEventListener('input', oninput);
230
233
  element.removeAttribute('aria-disabled');
231
234
  element.removeAttribute('aria-haspopup');
232
235
  element.removeAttribute('aria-expanded');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@txstate-mws/svelte-components",
3
- "version": "1.5.8",
3
+ "version": "1.5.10",
4
4
  "description": "Svelte components that are generically useful.",
5
5
  "scripts": {
6
6
  "prepublishOnly": "svelte-package",