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;
}
|