fuma 2.0.40 → 2.0.41

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.
@@ -8,7 +8,7 @@ type Params = {
8
8
  keyDownEvent?: KeyboardEvent | undefined;
9
9
  keyDownPreventDefault?: boolean;
10
10
  };
11
- export declare function selector(node: HTMLElement, { trigger, focusIndex, listQuerySelector, itemsQuerySelector, onSelect, onFocus, keyDownEvent, keyDownPreventDefault, }: Params): {
11
+ export declare function selector(node: HTMLElement, { trigger, focusIndex, listQuerySelector, itemsQuerySelector, onSelect, onFocus, keyDownEvent, keyDownPreventDefault }: Params): {
12
12
  update(props: Partial<Params>): void;
13
13
  destroy(): void;
14
14
  };
@@ -1,7 +1,8 @@
1
- export function selector(node, { trigger, focusIndex = -1, listQuerySelector = 'ul', itemsQuerySelector = 'li', onSelect = () => { }, onFocus = () => { }, keyDownEvent = undefined, keyDownPreventDefault = true, }) {
1
+ export function selector(node, { trigger, focusIndex = -1, listQuerySelector = 'ul', itemsQuerySelector = 'li', onSelect = () => { }, onFocus = () => { }, keyDownEvent = undefined, keyDownPreventDefault = true }) {
2
2
  trigger?.addEventListener('keydown', handleKeydown);
3
3
  function handleKeydown(event) {
4
4
  const items = node.querySelectorAll(itemsQuerySelector);
5
+ console.log('DEBUG', { items });
5
6
  if (event.key === 'Enter') {
6
7
  if (keyDownPreventDefault)
7
8
  event.preventDefault();
@@ -31,11 +32,13 @@ export function selector(node, { trigger, focusIndex = -1, listQuerySelector = '
31
32
  }
32
33
  function scrollToSelected(items) {
33
34
  const list = node.tagName === 'UL' ? node : node.querySelector(listQuerySelector);
35
+ console.log('DEBUG', { list });
34
36
  if (!(list instanceof HTMLElement)) {
35
37
  console.error('wrapper element not found');
36
38
  return;
37
39
  }
38
40
  const item = items[focusIndex];
41
+ console.log('DEBUG', { item });
39
42
  if (!item)
40
43
  return;
41
44
  const top = item.offsetTop - 4;
@@ -66,6 +69,6 @@ export function selector(node, { trigger, focusIndex = -1, listQuerySelector = '
66
69
  },
67
70
  destroy() {
68
71
  trigger?.removeEventListener('keydown', handleKeydown);
69
- },
72
+ }
70
73
  };
71
74
  }
@@ -49,6 +49,7 @@
49
49
 
50
50
  let isLoading = false
51
51
  let isError = false
52
+ let isFocus = false
52
53
  let focusIndex = 0
53
54
  let searchValue = ''
54
55
 
@@ -91,9 +92,11 @@
91
92
  const searchItemsDebounce = debounce(searchItems, 150)
92
93
 
93
94
  function handleFocus() {
95
+ isFocus = true
94
96
  searchItems()
95
97
  }
96
98
  async function handleBlur() {
99
+ isFocus = false
97
100
  searchValue = ''
98
101
  }
99
102
  </script>
@@ -119,7 +122,7 @@
119
122
  {...input}
120
123
  />
121
124
  <RelationAfter {isLoading} {createUrl} {createTitle} {createIcon} />
122
- {#if shortcutKey}
125
+ {#if shortcutKey && !isFocus}
123
126
  <kbd class="kbd kbd-xs text-base-content/50 shrink-0">
124
127
  {shortcutKey}
125
128
  </kbd>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fuma",
3
- "version": "2.0.40",
3
+ "version": "2.0.41",
4
4
  "description": "My fullstack material build with sveltekit, daisyui, zod, prisma, lucia",
5
5
  "author": {
6
6
  "name": "Jonas Voisard",