UNPKG

@anoki/fse-ui

Version:

FSE UI components library

56 lines (55 loc) 1.84 kB
import { __exports as N } from "./index.es776.js"; import { __require as S } from "./index.es679.js"; var I; function b() { if (I) return N; I = 1, Object.defineProperty(N, "__esModule", { value: !0 }), N.DocumentPosition = void 0, N.removeSubsets = h, N.compareDocumentPosition = O, N.uniqueSort = C; var l = /* @__PURE__ */ S(); function h(r) { for (var e = r.length; --e >= 0; ) { var t = r[e]; if (e > 0 && r.lastIndexOf(t, e - 1) >= 0) { r.splice(e, 1); continue; } for (var i = t.parent; i; i = i.parent) if (r.includes(i)) { r.splice(e, 1); break; } } return r; } var a; (function(r) { r[r.DISCONNECTED = 1] = "DISCONNECTED", r[r.PRECEDING = 2] = "PRECEDING", r[r.FOLLOWING = 4] = "FOLLOWING", r[r.CONTAINS = 8] = "CONTAINS", r[r.CONTAINED_BY = 16] = "CONTAINED_BY"; })(a || (N.DocumentPosition = a = {})); function O(r, e) { var t = [], i = []; if (r === e) return 0; for (var u = (0, l.hasChildren)(r) ? r : r.parent; u; ) t.unshift(u), u = u.parent; for (u = (0, l.hasChildren)(e) ? e : e.parent; u; ) i.unshift(u), u = u.parent; for (var E = Math.min(t.length, i.length), n = 0; n < E && t[n] === i[n]; ) n++; if (n === 0) return a.DISCONNECTED; var f = t[n - 1], v = f.children, p = t[n], s = i[n]; return v.indexOf(p) > v.indexOf(s) ? f === e ? a.FOLLOWING | a.CONTAINED_BY : a.FOLLOWING : f === r ? a.PRECEDING | a.CONTAINS : a.PRECEDING; } function C(r) { return r = r.filter(function(e, t, i) { return !i.includes(e, t + 1); }), r.sort(function(e, t) { var i = O(e, t); return i & a.PRECEDING ? -1 : i & a.FOLLOWING ? 1 : 0; }), r; } return N; } export { b as __require }; //# sourceMappingURL=index.es725.js.map