File size: 414 Bytes
2fe29a7
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
export function focusControl(root, primaryKey, fallbackKey = null) {
  const controls = [...root.querySelectorAll("[data-focus-key]")];
  const target = controls.find((control) =>
    control.dataset.focusKey === primaryKey && !control.disabled
  ) ?? controls.find((control) =>
    control.dataset.focusKey === fallbackKey && !control.disabled
  );
  target?.focus();
  return target?.dataset.focusKey ?? null;
}