Files
Stackq/node_modules/bits-ui/dist/bits/command/utils.js
T
eewing cf73cd3b4c INIT
2026-02-17 14:10:16 -06:00

27 lines
888 B
JavaScript

export function findNextSibling(el, selector) {
let sibling = el.nextElementSibling;
while (sibling) {
if (sibling.matches(selector))
return sibling;
sibling = sibling.nextElementSibling;
}
}
export function findPreviousSibling(el, selector) {
let sibling = el.previousElementSibling;
while (sibling) {
if (sibling.matches(selector))
return sibling;
sibling = sibling.previousElementSibling;
}
}
export function findFirstStartMarkerWithImmediateSiblingAsEnd(el, type) {
const startMarkers = el.querySelectorAll(`[data-bits-command-${type}-start]`);
for (const startMarker of startMarkers) {
const endMarker = startMarker.nextElementSibling;
if (endMarker && endMarker.hasAttribute(`data-bits-command-${type}-end`)) {
return startMarker;
}
}
return null;
}