UNPKG

@zag-js/dom-query

Version:

The dom helper library for zag.js machines

38 lines (36 loc) 986 B
import "./chunk-QZ7TP4HQ.mjs"; // src/query.ts function queryAll(root, selector) { return Array.from(root?.querySelectorAll(selector) ?? []); } function query(root, selector) { return root?.querySelector(selector) ?? null; } var defaultItemToId = (v) => v.id; function itemById(v, id, itemToId = defaultItemToId) { return v.find((item) => itemToId(item) === id); } function indexOfId(v, id, itemToId = defaultItemToId) { const item = itemById(v, id, itemToId); return item ? v.indexOf(item) : -1; } function nextById(v, id, loop = true) { let idx = indexOfId(v, id); idx = loop ? (idx + 1) % v.length : Math.min(idx + 1, v.length - 1); return v[idx]; } function prevById(v, id, loop = true) { let idx = indexOfId(v, id); if (idx === -1) return loop ? v[v.length - 1] : null; idx = loop ? (idx - 1 + v.length) % v.length : Math.max(0, idx - 1); return v[idx]; } export { defaultItemToId, indexOfId, itemById, nextById, prevById, query, queryAll };